Add Mycilla code to odlguice 52/91352/18
authorVenkataSatya Jonnadula <rsankar@luminanetworks.com>
Fri, 17 Jul 2020 03:32:15 +0000 (09:02 +0530)
committerVenkataSatya Jonnadula <rsankar@luminanetworks.com>
Thu, 23 Jul 2020 05:37:46 +0000 (05:37 +0000)
commitfb45782cb9df50946b00ee3887580f16f2bac3c7
tree7fe9ec8586b916ed74d904e5ad029a4e5c9045da
parent11c6c2f2cef9ea4f659bf1121bcd6785b5a8a1e6
Add Mycilla code to odlguice

Add the mycila-guice implementation from github to odlguice.

The odl-micro uses Guice as a DI framework. However, there
are a few extensions needed to Guice to support things like
object lifecycle hooks via jsr250 and CloseableInjector.
Looking at the commit history https://github.com/mycila/guice,
the last commit was ~3 years ago. There have been concerns
raised on its supportability in the past. Adding this code to
ODL allows the community to still benefit from these Guice
extensions and reduce the impact of recent inactivity in
the mycila project.

JIRA: ODLGUICE-5

Signed-off-by: VenkataSatya Jonnadula <rsankar@luminanetworks.com>
Change-Id: I139a24e38b58e43cf84ea2e0571444ed9b79520f
53 files changed:
.gitignore [new file with mode: 0644]
common/parent/pom.xml
inject/inject-guice-extensions/closeable/pom.xml [new file with mode: 0755]
inject/inject-guice-extensions/closeable/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/closeable/CloseableInjector.java [new file with mode: 0755]
inject/inject-guice-extensions/closeable/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/closeable/CloseableModule.java [new file with mode: 0755]
inject/inject-guice-extensions/closeable/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/closeable/InjectorCloseListener.java [new file with mode: 0755]
inject/inject-guice-extensions/closeable/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/closeable/MycilaCloseableInjector.java [new file with mode: 0755]
inject/inject-guice-extensions/closeable/src/main/resources/META-INF/services/com.google.inject.Module [new file with mode: 0755]
inject/inject-guice-extensions/closeable/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/closeable/tests/CloseableTestTest.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/pom.xml [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/ClassToTypeLiteralMatcherAdapter.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/FieldHandler.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/FieldHandlerTypeListener.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/KeyProvider.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/KeyProviderSkeleton.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MBinder.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MemberHandler.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MemberInjectorTypeListener.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MethodHandler.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MethodHandlerTypeListener.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MethodInvoker.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/MycilaGuiceException.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/injection/Reflect.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/injection/tests/Perf.java [new file with mode: 0755]
inject/inject-guice-extensions/injection/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/injection/tests/TypeInfoTestTest.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/pom.xml [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/Jsr250KeyProvider.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/Jsr250Module.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/Jsr250PostConstructHandler.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/main/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/Jsr250PreDestroyHandler.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/main/resources/META-INF/services/com.google.inject.Module [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/A.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/AImpl.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Account.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/B.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/BImpl.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Bank.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/BinderHelperTest.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Client.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Id.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Jsr250LifecycleTest.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Jsr250Test.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/MycilaDestroyOrderTest.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/MycilaInitDestroyBindingsTest.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/Perf.java [new file with mode: 0755]
inject/inject-guice-extensions/jsr250/src/test/java/org/opendaylight/odlguice/inject/guice/extensions/jsr250/tests/PostConstructOnCyclicDependenciesTest.java [new file with mode: 0755]
inject/inject-guice-extensions/pom.xml [new file with mode: 0644]
inject/inject-guice-testutils/pom.xml
inject/inject-guice-testutils/src/main/java/org/opendaylight/infrautils/inject/guice/testutils/AnnotationsModule.java
inject/inject-guice-testutils/src/main/java/org/opendaylight/infrautils/inject/guice/testutils/GuiceRule.java
inject/inject-guice-testutils/src/test/java/org/opendaylight/infrautils/inject/guice/testutils/tests/ExamplePureGuiceTest.java
inject/inject-guice/pom.xml
inject/pom.xml