You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2018/04/14 01:09:11 UTC
svn commit: r1829114 [1/8] - in /aries/trunk/cdi: ./ cdi-extender/
cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/
cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/
cdi-extender/src/main/java/org/apache/ari...
Author: rotty3000
Date: Sat Apr 14 01:09:09 2018
New Revision: 1829114
URL: http://svn.apache.org/viewvc?rev=1829114&view=rev
Log:
WIP
Added:
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/DiscoveryExtension.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/OSGiBean.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BeanElementException.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BlacklistQualifierException.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ReferenceEventImpl.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Init.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Init.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/v2/
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/v2/component/
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/v2/component/Component.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/v2/component/ContainerComponent.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/v2/component/FactoryComponent.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/v2/component/SingleComponent.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_greedy_Test2.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_reluctant_Test.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_greedy_Test.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_reluctant_Test.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/IfBeanClassIsOSGiAnnotatedTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_ReferenceServiceObjectsTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ReferenceEventImpl.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorCollectionFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorFooBar.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorFooFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorFooFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorFooOptional.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/CtorListFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorCollectionFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorArrayListFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorFooBar.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorFooFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorFooFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorFooOptional.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/CtorListFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorCollectionFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooBar.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooOptional.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorListFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorCollectionFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooBar.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooNamed.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooOptional.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorListFoo.java
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.Bar.xml
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarAnnotated.xml
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-only.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated.xml
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-annotated.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooAnnotated.xml
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooService.xml
- copied, changed from r1828903, aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
aries/trunk/cdi/hs_err_pid14088.log
Removed:
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentDiscoveryExtension.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentModel.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/ComponentLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/ConfigurationLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/DefaultLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/ReferenceLiteral.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ServiceEventImpl.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Init.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/ComponentExtension_Ctor_static_reluctant_Test.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_ServiceObjectsTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorArrayListFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ServiceEventImpl.java
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-annotated.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-configuration.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-only.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-references.xml
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-services.xml
aries/trunk/cdi/cdi-extension-http/src/main/java/org/apache/aries/cdi/extension/http/Activator.java
aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/Activator.java
Modified:
aries/trunk/cdi/cdi-extender/pom.xml
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentProperties.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallback.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedService.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationModel.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerDiscovery.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/context/BundleContextBean.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/extension/ExtensionDependency.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/BeansModel.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/Constants.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/OSGiBeansHandler.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ObserverMethodAnnotated.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Configuration.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Extension.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Publish.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Reference.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceBean.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceCallback.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/service/ServiceDeclaration.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/CDIProvider.java
aries/trunk/cdi/cdi-extender/src/main/resources/META-INF/cdi.xsd
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallbackTest_Ignore.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallbackTest_Optional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallbackTest_Require.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedServiceTest_Ignore.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedServiceTest_Optional.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedServiceTest_Require.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/ContainerDiscoveryTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/EventsTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/ModelTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ConfigurationPhaseTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_PropertiesTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_ServiceReferenceTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_ServiceTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_TupleTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainerAndComponents.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/TestUtil.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ArrayListFooProducer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarAnnotated.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarProducer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CollectionFooProducer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooAnnotated.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooProducer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ListFooProducer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/MethodBindFooNamed.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ObserverFoo.java
aries/trunk/cdi/cdi-extension-http/bnd.bnd
aries/trunk/cdi/cdi-extension-jndi/bnd.bnd
aries/trunk/cdi/cdi-itests/logback.xml
aries/trunk/cdi/cdi-itests/pom.xml
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/CdiEventObserver.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanA.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanB.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb5/ConfigurationBeanC.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java
aries/trunk/cdi/javax.inject-api/README
Modified: aries/trunk/cdi/cdi-extender/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/pom.xml?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/pom.xml (original)
+++ aries/trunk/cdi/cdi-extender/pom.xml Sat Apr 14 01:09:09 2018
@@ -84,7 +84,7 @@
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-osgi-bundle</artifactId>
- <version>3.0.1.Final</version>
+ <version>3.0.2.Final</version>
<exclusions>
<exclusion>
<groupId>javax.annotation</groupId>
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java Sat Apr 14 01:09:09 2018
@@ -22,7 +22,10 @@ import java.util.Hashtable;
import java.util.List;
import java.util.Map;
+import javax.enterprise.inject.spi.CDI;
+
import org.apache.aries.cdi.container.internal.command.CdiCommand;
+import org.apache.aries.cdi.provider.CDIProvider;
import org.apache.felix.utils.extender.AbstractExtender;
import org.apache.felix.utils.extender.Extension;
import org.osgi.framework.Bundle;
@@ -35,6 +38,10 @@ import org.slf4j.LoggerFactory;
public class Activator extends AbstractExtender {
+ static {
+ CDI.setCDIProvider(new CDIProvider());
+ }
+
public Activator() {
setSynchronous(true);
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java Sat Apr 14 01:09:09 2018
@@ -20,8 +20,8 @@ import java.util.concurrent.locks.Reentr
import org.apache.aries.cdi.container.internal.command.CdiCommand;
import org.apache.aries.cdi.container.internal.container.ContainerState;
+import org.apache.aries.cdi.container.internal.phase.Init;
import org.apache.aries.cdi.container.internal.phase.Phase;
-import org.apache.aries.cdi.container.internal.phase.Phase_Init;
import org.apache.felix.utils.extender.Extension;
import org.osgi.framework.Bundle;
import org.slf4j.Logger;
@@ -60,7 +60,7 @@ public class CdiBundle implements Extens
_command.add(_bundle, _containerState);
try {
- _nextPhase = new Phase_Init(_bundle, _containerState);
+ _nextPhase = new Init(_bundle, _containerState);
_nextPhase.open();
}
@@ -71,8 +71,6 @@ public class CdiBundle implements Extens
_command.remove(_bundle);
- _containerState.close();
-
_containerState = null;
}
}
@@ -105,8 +103,6 @@ public class CdiBundle implements Extens
_nextPhase = null;
- _containerState.close();
-
_containerState = null;
if (_log.isDebugEnabled()) {
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java Sat Apr 14 01:09:09 2018
@@ -14,39 +14,22 @@
package org.apache.aries.cdi.container.internal.command;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.Dictionary;
-import java.util.Formatter;
-import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.aries.cdi.container.internal.component.ComponentModel;
-import org.apache.aries.cdi.container.internal.configuration.ConfigurationCallback;
import org.apache.aries.cdi.container.internal.container.ContainerState;
-import org.apache.aries.cdi.container.internal.extension.ExtensionDependency;
-import org.apache.aries.cdi.container.internal.model.BeansModel;
-import org.apache.aries.cdi.container.internal.reference.ReferenceCallback;
-import org.apache.aries.cdi.container.internal.reference.ReferenceModel;
-import org.apache.aries.cdi.container.internal.service.ServiceDeclaration;
-import org.apache.aries.cdi.container.internal.util.Conversions;
import org.osgi.framework.Bundle;
public class CdiCommand {
- public String list() {
- try (Formatter f = new Formatter()) {
- for (ContainerState cdiContainerState : _states.values()) {
- f.format("[%s]%n", cdiContainerState.id());
- }
- return f.toString();
- }
+ public Collection<ContainerState> list() {
+ return _states.values();
}
- public String info(Bundle bundle) {
+ public ContainerState info(Bundle bundle) {
+ return _states.get(bundle);
+ /*
try (Formatter f = new Formatter()) {
ContainerState containerState = _states.get(bundle);
@@ -138,6 +121,7 @@ public class CdiCommand {
return f.toString();
}
+ */
}
public void add(Bundle bundle, ContainerState cdiContainerState) {
@@ -150,5 +134,4 @@ public class CdiCommand {
private final Map<Bundle, ContainerState> _states = new ConcurrentHashMap<>();
-
}
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentProperties.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentProperties.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentProperties.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentProperties.java Sat Apr 14 01:09:09 2018
@@ -14,23 +14,9 @@
package org.apache.aries.cdi.container.internal.component;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.enterprise.inject.spi.Bean;
-
-import org.apache.aries.cdi.container.internal.configuration.ConfigurationCallback;
-import org.apache.aries.cdi.container.internal.container.ContainerState;
-import org.apache.aries.cdi.container.internal.util.Conversions;
-import org.apache.aries.cdi.container.internal.util.Maps;
-import org.osgi.service.cdi.annotations.Configuration;
-import org.osgi.util.converter.TypeReference;
-
public class ComponentProperties {
- public ComponentProperties bean(Bean<?> bean) {
+/* public ComponentProperties bean(Bean<?> bean) {
_bean = bean;
return this;
}
@@ -115,5 +101,5 @@ public class ComponentProperties {
private ContainerState _containerState;
private String[] _pid;
private boolean _hidePrivate = false;
-
+*/
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java Sat Apr 14 01:09:09 2018
@@ -14,57 +14,11 @@
package org.apache.aries.cdi.container.internal.component;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.enterprise.context.Dependent;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.ObserverMethod;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.ProcessBean;
-import javax.enterprise.inject.spi.ProcessInjectionPoint;
-import javax.enterprise.inject.spi.ProcessObserverMethod;
-
-import org.apache.aries.cdi.container.internal.configuration.ConfigurationBean;
-import org.apache.aries.cdi.container.internal.configuration.ConfigurationModel;
-import org.apache.aries.cdi.container.internal.container.ContainerState;
-import org.apache.aries.cdi.container.internal.literal.ComponentLiteral;
-import org.apache.aries.cdi.container.internal.literal.ConfigurationLiteral;
-import org.apache.aries.cdi.container.internal.literal.ReferenceLiteral;
-import org.apache.aries.cdi.container.internal.model.ObserverMethodAnnotated;
-import org.apache.aries.cdi.container.internal.reference.ReferenceBean;
-import org.apache.aries.cdi.container.internal.reference.ReferenceModel;
-import org.apache.aries.cdi.container.internal.service.ServiceDeclaration;
-import org.apache.aries.cdi.container.internal.util.Sets;
-import org.apache.aries.cdi.container.internal.util.Types;
-import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.Configuration;
-import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferencePolicy;
-import org.osgi.service.cdi.annotations.ServiceEvent;
-import org.osgi.service.cdi.annotations.ServiceScope;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class ComponentRuntimeExtension implements Extension {
- public ComponentRuntimeExtension(ContainerState containerState) {
+/* public ComponentRuntimeExtension(ContainerState containerState) {
_containerState = containerState;
}
@@ -168,9 +122,9 @@ public class ComponentRuntimeExtension i
return null;
}
- /*
+
* discover if an annotated class is a component
- */
+
<X> void processAnnotatedType(@Observes ProcessAnnotatedType<X> pat, BeanManager beanManager) {
final AnnotatedType<X> at = pat.getAnnotatedType();
@@ -396,5 +350,5 @@ public class ComponentRuntimeExtension i
private final AtomicInteger _mark = new AtomicInteger();
private final ContainerState _containerState;
private final List<Bean<?>> _beans = new CopyOnWriteArrayList<>();
-
+*/
}
Added: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/DiscoveryExtension.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/DiscoveryExtension.java?rev=1829114&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/DiscoveryExtension.java (added)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/DiscoveryExtension.java Sat Apr 14 01:09:09 2018
@@ -0,0 +1,515 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.aries.cdi.container.internal.component;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Executable;
+import java.lang.reflect.Parameter;
+import java.util.Arrays;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedParameter;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import javax.enterprise.inject.spi.ProcessBean;
+import javax.enterprise.inject.spi.ProcessInjectionPoint;
+import javax.enterprise.inject.spi.ProcessManagedBean;
+import javax.enterprise.inject.spi.ProcessProducerField;
+import javax.enterprise.inject.spi.ProcessProducerMethod;
+import javax.enterprise.inject.spi.ProcessSessionBean;
+import javax.enterprise.inject.spi.ProcessSyntheticBean;
+
+import org.apache.aries.cdi.container.internal.configuration.ConfigurationModel;
+import org.apache.aries.cdi.container.internal.model.BeansModel;
+import org.apache.aries.cdi.container.internal.reference.ReferenceModel;
+import org.apache.aries.cdi.container.internal.v2.component.ContainerComponent;
+import org.osgi.service.cdi.annotations.ComponentScoped;
+import org.osgi.service.cdi.annotations.Configuration;
+import org.osgi.service.cdi.annotations.FactoryComponent;
+import org.osgi.service.cdi.annotations.Reference;
+import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DiscoveryExtension implements Extension {
+
+ public DiscoveryExtension(BeansModel beansModel, ContainerComponent containerComponent) {
+ _beansModel = beansModel;
+ _containerComponent = containerComponent;
+ }
+
+ void afterBeanDiscovery(@Observes AfterBeanDiscovery abd) {
+ _beansModel.getErrors().stream().forEach(err ->
+ abd.addDefinitionError(err)
+ );
+ }
+
+ /*
+ * Process annotated classes to sync them up with the meta-model.
+ */
+ <X> void processAnnotatedType(@Observes ProcessAnnotatedType<X> pat, BeanManager beanManager) {
+ final AnnotatedType<X> at = pat.getAnnotatedType();
+
+ Class<X> annotatedClass = at.getJavaClass();
+
+ final String className = annotatedClass.getName();
+
+ OSGiBean osgiBean = _beansModel.getOSGiBean(className);
+
+ if (osgiBean == null) {
+ return;
+ }
+
+ osgiBean.found(true);
+
+// if (checkIfBeanClassIsOSGiAnnotated(annotatedClass)) {
+// if (_log.isDebugEnabled()) {
+// _log.debug("CDIe - OSGi CDI annotations found. Clearing descriptor infos for {}", className);
+// }
+// }
+ }
+
+ void processInjectionPoint(@Observes ProcessInjectionPoint<?, ?> pip) {
+ final InjectionPoint injectionPoint = pip.getInjectionPoint();
+
+ Annotated annotated = injectionPoint.getAnnotated();
+
+ Class<?> injectionPointClass = null;
+
+ if (annotated instanceof AnnotatedParameter) {
+ AnnotatedParameter<?> ap = (AnnotatedParameter<?>)annotated;
+
+ Parameter javaParameter = ap.getJavaParameter();
+
+ Executable declaringExecutable = javaParameter.getDeclaringExecutable();
+
+ injectionPointClass = declaringExecutable.getDeclaringClass(); //TODO verify
+ }
+ else {
+ AnnotatedField<?> af = (AnnotatedField<?>)annotated;
+
+ injectionPointClass = af.getDeclaringType().getJavaClass();
+ }
+
+ String injectionPointClassName = injectionPointClass.getName();
+
+ OSGiBean osgiBean = _beansModel.getOSGiBean(injectionPointClassName);
+
+ if (osgiBean == null) {
+ return;
+ }
+
+ Reference reference = annotated.getAnnotation(Reference.class);
+ Configuration configuration = annotated.getAnnotation(Configuration.class);
+
+ // Is it annotated with @Reference?
+
+ if (reference != null) {
+ processReference(pip, osgiBean, reference, configuration);
+
+ return;
+ }
+
+ // Is it annotated with @Configuration?
+
+ else if (configuration != null) {
+ processConfiguration(pip, osgiBean);
+
+ return;
+ }
+ }
+
+ void proc(@Observes ProcessBean<?> pb) {
+ Annotated annotated = null;
+ Class<?> annotatedClass = null;
+
+ if (pb instanceof ProcessManagedBean) {
+ ProcessManagedBean<?> bean = (ProcessManagedBean<?>)pb;
+
+ annotated = bean.getAnnotated();
+ annotatedClass = bean.getAnnotatedBeanClass().getJavaClass();
+ }
+ else if (pb instanceof ProcessSessionBean) {
+ ProcessSessionBean<?> bean = (ProcessSessionBean<?>)pb;
+
+ annotated = bean.getAnnotated();
+ annotatedClass = bean.getAnnotatedBeanClass().getJavaClass();
+ }
+ else if (pb instanceof ProcessProducerMethod) {
+ ProcessProducerMethod<?, ?> producer = (ProcessProducerMethod<?, ?>)pb;
+
+ annotated = producer.getAnnotated();
+ annotatedClass = producer.getAnnotatedProducerMethod().getDeclaringType().getJavaClass();
+ }
+ else if (pb instanceof ProcessProducerField) {
+ ProcessProducerField<?, ?> producer = (ProcessProducerField<?, ?>)pb;
+
+ annotated = producer.getAnnotated();
+ annotatedClass = producer.getAnnotatedProducerField().getDeclaringType().getJavaClass();
+ }
+ else if (pb instanceof ProcessSyntheticBean) {
+ ProcessSyntheticBean<?> synthetic = (ProcessSyntheticBean<?>)pb;
+
+ annotated = synthetic.getAnnotated();
+ annotatedClass = synthetic.getBean().getBeanClass();
+ }
+ else {
+ return;
+ }
+
+ String className = annotatedClass.getName();
+
+ OSGiBean osgiBean = _beansModel.getOSGiBean(className);
+
+ if (osgiBean == null) {
+ return;
+ }
+
+ if (Optional.ofNullable(
+ annotated.getAnnotation(SingleComponent.class)).isPresent()) {
+
+ osgiBean.setComponent(new org.apache.aries.cdi.container.internal.v2.component.SingleComponent(className));
+ }
+ else if (Optional.ofNullable(
+ annotated.getAnnotation(FactoryComponent.class)).isPresent()) {
+
+ osgiBean.setComponent(new org.apache.aries.cdi.container.internal.v2.component.FactoryComponent(className));
+ }
+ else {
+ osgiBean.setComponent(_containerComponent);
+ }
+ }
+
+ /*
+ void processObserverMethod(@Observes ProcessObserverMethod<ReferenceEvent<?>, ?> pom) {
+ ObserverMethod<ServiceEvent<?>> observerMethod = pom.getObserverMethod();
+
+ if (_log.isDebugEnabled()) {
+ _log.debug("CDIe - Processing observer method {}", observerMethod);
+ }
+
+ Class<?> beanClass = observerMethod.getBeanClass();
+
+ final String className = beanClass.getName();
+
+ ComponentModel componentModel = _beansModel.getComponentModel(className);
+
+ if (componentModel == null) {
+ pom.addDefinitionError(
+ new IllegalArgumentException(
+ String.format(
+ "The observer method {} is using the event type 'ServiceEvent' but is not defined as a bean",
+ observerMethod)));
+
+ return;
+ }
+
+ Reference reference = getQualifier(observerMethod, Reference.class);
+ Configuration configuration = getQualifier(observerMethod, Configuration.class);
+
+ if (reference != null) {
+ processReference(pom, componentModel, reference, configuration);
+
+ return;
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private <T extends Annotation> T getQualifier(
+ ObserverMethod<ServiceEvent<?>> observerMethod, Class<T> clazz) {
+ Set<Annotation> qualifiers = observerMethod.getObservedQualifiers();
+ for (Annotation annotation : qualifiers) {
+ if (clazz.isAssignableFrom(annotation.annotationType())) {
+ return (T)annotation;
+ }
+ }
+ return null;
+ }
+*/
+ private void processConfiguration(
+ ProcessInjectionPoint<?, ?> pip,
+ OSGiBean osgiBean) {
+
+ InjectionPoint injectionPoint = pip.getInjectionPoint();
+
+ ConfigurationModel configurationModel = new ConfigurationModel.Builder(
+ injectionPoint.getType()
+ ).injectionPoint(
+ injectionPoint
+ ).build();
+
+ osgiBean.addConfiguration(configurationModel.toDTO());
+ }
+
+ private void processReference(
+ ProcessInjectionPoint<?, ?> pip,
+ OSGiBean osgiBean,
+ Reference reference,
+ Configuration configuration) {
+
+ InjectionPoint injectionPoint = pip.getInjectionPoint();
+
+ try {
+ if (configuration != null) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Cannot use @Reference and @Configuration on the same injection point {}",
+ injectionPoint));
+ }
+
+ ReferenceModel referenceModel = new ReferenceModel.Builder(
+ ).injectionPoint(
+ injectionPoint
+ ).build();
+
+ osgiBean.addReference(referenceModel.toDTO());
+ }
+ catch (IllegalArgumentException iae) {
+ _log.error("CDIe - Component definition error on {}", injectionPoint, iae);
+
+ pip.addDefinitionError(iae);
+ }
+ }
+
+ /*
+ private void processReference(
+ ProcessObserverMethod<ServiceEvent<?>, ?> pom,
+ ComponentModel componentModel,
+ Reference reference,
+ Configuration configuration) {
+
+ ObserverMethod<ServiceEvent<?>> observerMethod = pom.getObserverMethod();
+
+ try {
+ if (configuration != null) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Cannot use @Reference and @Configuration on the same observer method {}",
+ observerMethod));
+ }
+
+ ReferenceModel referenceModel = new ReferenceModel.Builder(
+ observerMethod.getObservedQualifiers()
+ ).annotated(
+ new ObserverMethodAnnotated(observerMethod)
+ ).policy(
+ ReferencePolicy.DYNAMIC
+ ).build();
+
+ if (componentModel.getReferences().remove(referenceModel)) {
+ if (_log.isDebugEnabled()) {
+ _log.debug("CDIe - OSGi CDI annotations found. Clearing descriptor reference for {}", observerMethod);
+ }
+ }
+
+ referenceModel.found(true);
+
+ componentModel.getReferences().add(referenceModel);
+ }
+ catch (IllegalArgumentException iae) {
+ _log.error("CDIe - Component definition error on {}", observerMethod, iae);
+
+ pom.addDefinitionError(iae);
+ }
+ }
+ */
+
+ static boolean checkIfBeanClassIsOSGiAnnotated(Class<?> annotatedClass) {
+ // check for @SingleComponent
+
+ if (Optional.ofNullable(
+ annotatedClass.getAnnotation(SingleComponent.class)).isPresent()) {
+
+ return true;
+ }
+
+ // check for @FactoryComponent
+
+ if (Optional.ofNullable(
+ annotatedClass.getAnnotation(FactoryComponent.class)).isPresent()) {
+
+ return true;
+ }
+
+ // check for @ComponentScoped
+
+ if (Optional.ofNullable(
+ annotatedClass.getAnnotation(ComponentScoped.class)).isPresent()) {
+
+ return true;
+ }
+
+ // check for @ComponentScoped on (producer) fields
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredFields()
+ ).filter(
+ field -> Arrays.stream(
+ field.getAnnotations()
+ ).filter(
+ annotation -> ComponentScoped.class.equals(annotation.annotationType())
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @ComponentScoped on (producer) methods
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredMethods()
+ ).filter(
+ method -> Arrays.stream(
+ method.getAnnotations()
+ ).filter(
+ annotation -> ComponentScoped.class.equals(annotation.annotationType())
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @Service
+
+ if (Optional.ofNullable(
+ annotatedClass.getAnnotation(Service.class)).isPresent()) {
+
+ return true;
+ }
+
+ // check for @Service on implements
+
+ if (Arrays.stream(
+ annotatedClass.getAnnotatedInterfaces()
+ ).filter(
+ annotatedType -> Objects.nonNull(annotatedType.getAnnotation(Service.class))
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @Service on extends
+
+ if (Stream.of(
+ annotatedClass.getAnnotatedSuperclass()
+ ).filter(
+ annotatedType -> Objects.nonNull(annotatedType.getAnnotation(Service.class))
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @Service on (producer) fields
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredFields()
+ ).filter(
+ field -> Arrays.stream(
+ field.getAnnotations()
+ ).filter(
+ annotation -> Service.class.equals(annotation.annotationType())
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @Service on (producer) methods
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredMethods()
+ ).filter(
+ method -> Arrays.stream(
+ method.getAnnotations()
+ ).filter(
+ annotation -> Service.class.equals(annotation.annotationType())
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ Predicate<Annotation> hasAnnotations = annotation ->
+ Configuration.class.isInstance(annotation) || Reference.class.isInstance(annotation);
+
+ // check for @Configuration/@Reference on constructors
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredConstructors()
+ ).filter(
+ ctor -> Arrays.stream(
+ ctor.getParameterAnnotations()
+ ).flatMap(
+ array -> Arrays.stream(array)
+ ).filter(
+ hasAnnotations
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @Configuration/@Reference on fields
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredFields()
+ ).filter(
+ field -> Arrays.stream(
+ field.getAnnotations()
+ ).filter(
+ hasAnnotations
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ // check for @Configuration/@Reference on methods
+
+ if (Arrays.stream(
+ annotatedClass.getDeclaredMethods()
+ ).filter(
+ method -> Arrays.stream(
+ method.getParameterAnnotations()
+ ).flatMap(
+ array -> Arrays.stream(array)
+ ).filter(
+ hasAnnotations
+ ).findFirst().isPresent()
+ ).findAny().isPresent()) {
+
+ return true;
+ }
+
+ return false;
+ }
+
+ private static final Logger _log = LoggerFactory.getLogger(DiscoveryExtension.class);
+
+ private final BeansModel _beansModel;
+ private final ContainerComponent _containerComponent;
+
+}
Added: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/OSGiBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/OSGiBean.java?rev=1829114&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/OSGiBean.java (added)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/OSGiBean.java Sat Apr 14 01:09:09 2018
@@ -0,0 +1,118 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.aries.cdi.container.internal.component;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.apache.aries.cdi.container.internal.v2.component.Component;
+import org.osgi.service.cdi.runtime.dto.template.ConfigurationTemplateDTO;
+import org.osgi.service.cdi.runtime.dto.template.ReferenceTemplateDTO;
+
+public class OSGiBean implements Comparable<OSGiBean> {
+
+ public static class Builder {
+
+ public Builder(Class<?> beanClass) {
+ Objects.requireNonNull(beanClass);
+ _beanClass = beanClass;
+ }
+
+ public OSGiBean build() {
+ return new OSGiBean(_beanClass);
+ }
+
+ private Class<?> _beanClass;
+
+ }
+
+ private OSGiBean(
+ Class<?> beanClass) {
+
+ _beanClass = beanClass;
+ }
+
+ public void addConfiguration(ConfigurationTemplateDTO dto) {
+ if (_component == null) {
+ _configurations.add(dto);
+ }
+ else {
+ _component.addConfiguration(dto);
+ }
+ }
+
+ public void addReference(ReferenceTemplateDTO dto) {
+ if (_component == null) {
+ _references.add(dto);
+ }
+ else {
+ _component.addReference(dto);
+ }
+ }
+
+ @Override
+ public int compareTo(OSGiBean other) {
+ return _beanClass.getName().compareTo(other._beanClass.getName());
+ }
+
+ public boolean found() {
+ return _found.get();
+ }
+
+ public void found(boolean found) {
+ _found.set(found);
+ }
+
+ public Class<?> getBeanClass() {
+ return _beanClass;
+ }
+
+ public Component getComponent() {
+ return _component;
+ }
+
+ public void setComponent(Component component) {
+ _component = component;
+ _configurations.removeIf(
+ dto -> {
+ _component.addConfiguration(dto);
+ return true;
+ }
+ );
+ _references.removeIf(
+ dto -> {
+ _component.addReference(dto);
+ return true;
+ }
+ );
+ }
+
+ @Override
+ public String toString() {
+ if (_string == null) {
+ _string = String.format("OSGiBean[%s]", _beanClass.getName());
+ }
+ return _string;
+ }
+
+ private final Class<?> _beanClass;
+ private final List<ConfigurationTemplateDTO> _configurations = new CopyOnWriteArrayList<>();
+ private final List<ReferenceTemplateDTO> _references = new CopyOnWriteArrayList<>();
+ private volatile Component _component;
+ private final AtomicBoolean _found = new AtomicBoolean();
+ private volatile String _string;
+}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java Sat Apr 14 01:09:09 2018
@@ -14,31 +14,83 @@
package org.apache.aries.cdi.container.internal.configuration;
-import static org.apache.aries.cdi.container.internal.util.Reflection.cast;
-
import java.lang.annotation.Annotation;
-import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.Dictionary;
-import java.util.List;
import java.util.Set;
-import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Decorator;
import javax.enterprise.inject.spi.InjectionPoint;
-import org.apache.aries.cdi.container.internal.component.ComponentModel;
-import org.apache.aries.cdi.container.internal.component.ComponentProperties;
-import org.apache.aries.cdi.container.internal.container.ContainerState;
-import org.apache.aries.cdi.container.internal.util.Conversions;
-
public class ConfigurationBean implements Bean<Object> {
- public ConfigurationBean(
+ @Override
+ public Object create(CreationalContext<Object> creationalContext) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void destroy(Object instance, CreationalContext<Object> creationalContext) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Set<Type> getTypes() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Set<Annotation> getQualifiers() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Class<? extends Annotation> getScope() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Set<Class<? extends Annotation>> getStereotypes() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isAlternative() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public Class<?> getBeanClass() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Set<InjectionPoint> getInjectionPoints() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isNullable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+/* public ConfigurationBean(
ContainerState containerState,
ConfigurationModel configurationModel,
ComponentModel componentModel,
@@ -160,5 +212,5 @@ public class ConfigurationBean implement
private final ContainerState _containerState;
private final InjectionPoint _injectionPoint;
private String _string;
-
+*/
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallback.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallback.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallback.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationCallback.java Sat Apr 14 01:09:09 2018
@@ -14,19 +14,11 @@
package org.apache.aries.cdi.container.internal.configuration;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.function.Consumer;
-
-import org.osgi.service.cdi.annotations.ConfigurationPolicy;
-
public class ConfigurationCallback {
public static enum State {STARTED, ADDED, UPDATED, REMOVED}
- public static class Builder {
+/* public static class Builder {
public ConfigurationCallback build() {
//Objects.requireNonNull(_pid);
@@ -182,5 +174,5 @@ public class ConfigurationCallback {
private final Optional<Consumer<ConfigurationCallback>> _onRemove;
private volatile State _state;
private volatile String _string;
-
+*/
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedService.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedService.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedService.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationManagedService.java Sat Apr 14 01:09:09 2018
@@ -21,7 +21,13 @@ import org.osgi.service.cm.ManagedServic
public class ConfigurationManagedService implements ManagedService {
- public ConfigurationManagedService(String pid, ConfigurationCallback callback) {
+ @Override
+ public void updated(Dictionary<String, ?> properties) throws ConfigurationException {
+ // TODO Auto-generated method stub
+
+ }
+
+/* public ConfigurationManagedService(String pid, ConfigurationCallback callback) {
_pid = pid;
_callback = callback;
}
@@ -59,5 +65,5 @@ public class ConfigurationManagedService
private final String _pid;
private volatile Dictionary<String, ?> _properties;
private volatile String _string;
-
+*/
}
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationModel.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationModel.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationModel.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationModel.java Sat Apr 14 01:09:09 2018
@@ -14,24 +14,18 @@
package org.apache.aries.cdi.container.internal.configuration;
-import static org.apache.aries.cdi.container.internal.model.Model.*;
-import static org.apache.aries.cdi.container.internal.model.Constants.CDI10_URI;
-import static org.apache.aries.cdi.container.internal.model.Constants.CONFIGURATION_PID_ATTRIBUTE;
-import static org.apache.aries.cdi.container.internal.model.Constants.CONFIGURATION_POLICY_ATTRIBUTE;
-
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Objects;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
import javax.enterprise.inject.spi.InjectionPoint;
-import org.osgi.service.cdi.annotations.Configuration;
-import org.osgi.service.cdi.annotations.ConfigurationPolicy;
-import org.xml.sax.Attributes;
+import org.osgi.service.cdi.annotations.PID;
+import org.osgi.service.cdi.runtime.dto.template.ConfigurationPolicy;
+import org.osgi.service.cdi.runtime.dto.template.ConfigurationTemplateDTO;
+import org.osgi.service.cdi.runtime.dto.template.MaximumCardinality;
public class ConfigurationModel {
@@ -42,59 +36,25 @@ public class ConfigurationModel {
_type = type;
}
- public Builder attributes(Attributes attributes) {
- _policy = ConfigurationPolicy.get(getValue(
- CDI10_URI, CONFIGURATION_POLICY_ATTRIBUTE, attributes, ConfigurationPolicy.DEFAULT.toString()));
- _pid = getValues(CDI10_URI, CONFIGURATION_PID_ATTRIBUTE, attributes, new String[] {Configuration.NAME});
- return this;
- }
-
public ConfigurationModel build() {
- _pid = ((_pid == null) || (_pid.length == 0))? new String[] {Configuration.NAME}: _pid;
-
- if (_policy == null) {
- _policy = ConfigurationPolicy.OPTIONAL;
- }
-
- return new ConfigurationModel(_type, _pid, _policy, _qualifiers);
+ return new ConfigurationModel(_type, _pid, _qualifiers);
}
public Builder injectionPoint(InjectionPoint injectionPoint) {
_qualifiers = injectionPoint.getQualifiers();
- Configuration configuration = injectionPoint.getAnnotated().getAnnotation(Configuration.class);
- if (configuration != null) {
- _policy = configuration.configurationPolicy();
- _pid = configuration.value();
- }
- return this;
- }
-
- public Builder pid(String[] pid) {
- _pid = pid;
+ _pid = injectionPoint.getAnnotated().getAnnotation(PID.class);
return this;
}
- public Builder policy(ConfigurationPolicy policy) {
- _policy = policy;
- return this;
- }
-
- public Builder qualifiers(Set<Annotation> qualifiers) {
- _qualifiers = qualifiers;
- return this;
- }
-
- private String[] _pid;
- private ConfigurationPolicy _policy;
+ private PID _pid;
private Set<Annotation> _qualifiers;
private Type _type;
}
- private ConfigurationModel(Type type, String[] pids, ConfigurationPolicy policy, Set<Annotation> qualifiers) {
+ private ConfigurationModel(Type type, PID pid, Set<Annotation> qualifiers) {
_type = type;
- _pid = pids;
- _policy = policy;
+ _pid = pid;
_qualifiers = new LinkedHashSet<>();
if (qualifiers != null) {
_qualifiers.addAll(qualifiers);
@@ -105,7 +65,6 @@ public class ConfigurationModel {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((_policy == null) ? 0 : _policy.hashCode());
result = prime * result + ((_qualifiers == null) ? 0 : _qualifiers.hashCode());
result = prime * result + ((_type == null) ? 0 : _type.hashCode());
return result;
@@ -120,8 +79,6 @@ public class ConfigurationModel {
if (getClass() != obj.getClass())
return false;
ConfigurationModel other = (ConfigurationModel) obj;
- if (_policy != other._policy)
- return false;
if (_qualifiers == null) {
if (other._qualifiers != null)
return false;
@@ -135,19 +92,7 @@ public class ConfigurationModel {
return true;
}
- public ConfigurationPolicy getConfigurationPolicy() {
- return _policy;
- }
-
- public boolean found() {
- return _found.get();
- }
-
- public void found(boolean found) {
- _found.set(found);
- }
-
- public String[] getPid() {
+ public PID getPid() {
return _pid;
}
@@ -164,19 +109,30 @@ public class ConfigurationModel {
_qualifiers.addAll(qualifiers);
}
+ public ConfigurationTemplateDTO toDTO() {
+ if (_pid != null) {
+ ConfigurationTemplateDTO dto = new ConfigurationTemplateDTO();
+
+ dto.componentConfiguration = false;
+ dto.maximumCardinality = MaximumCardinality.ONE;
+ dto.pid = _pid.value();
+ dto.policy = (_pid.policy().toString().equals(ConfigurationPolicy.REQUIRED.toString()))
+ ? ConfigurationPolicy.REQUIRED : ConfigurationPolicy.OPTIONAL;
+ }
+
+ return null;
+ }
+
@Override
public String toString() {
if (_string == null) {
- _string = String.format("configuration[type='%s', policy='%s', pid='%s']", _type, _policy, Arrays.toString(_pid));
+ _string = String.format("configuration[type='%s', pid='%s', policy='%s']", _type, _pid.value(), _pid.policy());
}
return _string;
}
- private final AtomicBoolean _found = new AtomicBoolean();
- private final String[] _pid;
- private final ConfigurationPolicy _policy;
+ private final PID _pid;
private final Set<Annotation> _qualifiers;
private volatile String _string;
private final Type _type;
-
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java Sat Apr 14 01:09:09 2018
@@ -21,7 +21,6 @@ import java.util.concurrent.CopyOnWriteA
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
-import org.apache.aries.cdi.container.internal.component.ComponentRuntimeExtension;
import org.apache.aries.cdi.container.internal.context.BundleContextExtension;
import org.apache.aries.cdi.container.internal.extension.ExtensionMetadata;
import org.apache.aries.cdi.container.internal.model.BeansModel;
@@ -29,7 +28,6 @@ import org.jboss.weld.bootstrap.WeldBoot
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.bootstrap.spi.Deployment;
import org.jboss.weld.bootstrap.spi.Metadata;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.ServiceLoader;
public class ContainerBootstrap {
@@ -50,10 +48,10 @@ public class ContainerBootstrap {
new ExtensionMetadata(
new BundleContextExtension(_containerState.bundleContext()),
_containerState.id()));
- extensions.add(
- new ExtensionMetadata(
- new ComponentRuntimeExtension(_containerState),
- _containerState.id()));
+// extensions.add(
+// new ExtensionMetadata(
+// new ComponentRuntimeExtension(_containerState),
+// _containerState.id()));
// Add extensions found from the bundle's classloader, such as those in the Bundle-ClassPath
for (Metadata<Extension> meta : ServiceLoader.load(Extension.class, _containerState.classLoader())) {
@@ -77,7 +75,7 @@ public class ContainerBootstrap {
_bootstrap.startContainer(_containerState.id(), new ContainerEnvironment(), deployment);
_beanManager = _bootstrap.getManager(beanDeploymentArchive);
- _containerState.setBeanManager(_beanManager);
+// _containerState.setBeanManager(_beanManager);
_bootstrap.startInitialization();
_bootstrap.deployBeans();
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerDiscovery.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerDiscovery.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerDiscovery.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerDiscovery.java Sat Apr 14 01:09:09 2018
@@ -20,9 +20,10 @@ import java.util.List;
import javax.enterprise.inject.spi.DefinitionException;
import javax.enterprise.inject.spi.Extension;
-import org.apache.aries.cdi.container.internal.component.ComponentDiscoveryExtension;
+import org.apache.aries.cdi.container.internal.component.DiscoveryExtension;
import org.apache.aries.cdi.container.internal.extension.ExtensionMetadata;
import org.apache.aries.cdi.container.internal.model.BeansModel;
+import org.apache.aries.cdi.container.internal.v2.component.ContainerComponent;
import org.jboss.weld.bootstrap.WeldBootstrap;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.bootstrap.spi.Deployment;
@@ -39,8 +40,10 @@ public class ContainerDiscovery {
containerState.loader(), id, beansModel.getBeanClassNames(),
beansModel.getBeansXml());
+ ContainerComponent containerComponent = new ContainerComponent(id);
+
ExtensionMetadata extension = new ExtensionMetadata(
- new ComponentDiscoveryExtension(beansModel), id);
+ new DiscoveryExtension(beansModel, containerComponent), id);
List<Metadata<Extension>> extensions = Collections.singletonList(extension);
@@ -49,48 +52,29 @@ public class ContainerDiscovery {
WeldBootstrap _bootstrap = new WeldBootstrap();
- _bootstrap.startExtensions(extensions);
- _bootstrap.startContainer(id, new ContainerEnvironment(), deployment);
- _bootstrap.startInitialization();
- _bootstrap.deployBeans();
- //_bootstrap.validateBeans();
- //_bootstrap.endInitialization();
- _bootstrap.shutdown();
+ try {
+ _bootstrap.startExtensions(extensions);
+ _bootstrap.startContainer(id, new ContainerEnvironment(), deployment);
+ _bootstrap.startInitialization();
+ _bootstrap.deployBeans();
+ _bootstrap.shutdown();
+ }
+ catch (DefinitionException de) {
+ throw de;
+ }
validate(containerState);
}
private static void validate(ContainerState containerState) {
- containerState.beansModel().getComponentModels().stream().forEach(
- componentModel -> {
- if (!componentModel.found()) {
+ containerState.beansModel().getOSGiBeans().stream().forEach(
+ osgiBean -> {
+ if (!osgiBean.found()) {
throw new DefinitionException(
String.format(
"Did not find bean for <component> description %s",
- componentModel));
+ osgiBean));
}
-
- componentModel.getReferences().stream().forEach(
- referenceModel -> {
- if (!referenceModel.found()) {
- throw new DefinitionException(
- String.format(
- "Did not find injection point for <reference> description %s",
- referenceModel));
- }
- }
- );
-
- componentModel.getConfigurations().stream().forEach(
- configurationModel -> {
- if (!configurationModel.found()) {
- throw new DefinitionException(
- String.format(
- "Did not find injection point for <configuration> description %s",
- configurationModel));
- }
- }
- );
}
);
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java Sat Apr 14 01:09:09 2018
@@ -25,7 +25,7 @@ import javax.enterprise.inject.spi.BeanM
import javax.enterprise.inject.spi.ObserverMethod;
import javax.enterprise.util.AnnotationLiteral;
-import org.apache.aries.cdi.container.internal.component.ComponentModel;
+import org.apache.aries.cdi.container.internal.component.OSGiBean;
import org.apache.aries.cdi.container.internal.configuration.ConfigurationCallback;
import org.apache.aries.cdi.container.internal.extension.ExtensionDependency;
import org.apache.aries.cdi.container.internal.loader.BundleClassLoader;
@@ -91,6 +91,7 @@ public class ContainerState {
_msRegistrator = new Registrator<ManagedService>() {
+ @Override
public void registerService(String[] classNames, ManagedService service, Dictionary<String, ?> properties) {
registrations.add(bundleContext().registerService(ManagedService.class, service, properties));
}
@@ -158,11 +159,7 @@ public class ContainerState {
return _bundle.map(b -> _classLoader).orElse(getClass().getClassLoader());
}
- public synchronized void close() {
- // no op
- }
-
- public Map<ComponentModel, Map<String, ConfigurationCallback>> configurationCallbacks() {
+ public Map<OSGiBean, Map<String, ConfigurationCallback>> configurationCallbacks() {
return _configurationCallbacksMap;
}
@@ -191,15 +188,15 @@ public class ContainerState {
return _msRegistrator;
}
- public Map<ComponentModel, Map<String, ReferenceCallback>> referenceCallbacks() {
+ public Map<OSGiBean, Map<String, ReferenceCallback>> referenceCallbacks() {
return _referenceCallbacksMap;
}
- public Map<ComponentModel, Map<String, ObserverMethod<ReferenceEvent<?>>>> referenceObservers() {
+ public Map<OSGiBean, Map<String, ObserverMethod<ReferenceEvent<?>>>> referenceObservers() {
return _referenceObserversMap;
}
- public Map<ComponentModel, ServiceDeclaration> serviceComponents() {
+ public Map<OSGiBean, ServiceDeclaration> serviceComponents() {
return _serviceComponents;
}
@@ -225,14 +222,14 @@ public class ContainerState {
private final Registrator<BeanManager> _bmRegistrator;
private final Optional<Bundle> _bundle;
private ClassLoader _classLoader;
- private final Map<ComponentModel, Map<String, ConfigurationCallback>> _configurationCallbacksMap = new ConcurrentHashMap<>();
+ private final Map<OSGiBean, Map<String, ConfigurationCallback>> _configurationCallbacksMap = new ConcurrentHashMap<>();
private final Context _context;
private final Bundle _extenderBundle;
private List<ExtensionDependency> _extensionDependencies;
private final Registrator<ManagedService> _msRegistrator;
- private final Map<ComponentModel, Map<String, ReferenceCallback>> _referenceCallbacksMap = new ConcurrentHashMap<>();
- private final Map<ComponentModel, Map<String, ObserverMethod<ReferenceEvent<?>>>> _referenceObserversMap = new ConcurrentHashMap<>();
- private final Map<ComponentModel, ServiceDeclaration> _serviceComponents = new ConcurrentHashMap<>();
+ private final Map<OSGiBean, Map<String, ReferenceCallback>> _referenceCallbacksMap = new ConcurrentHashMap<>();
+ private final Map<OSGiBean, Map<String, ObserverMethod<ReferenceEvent<?>>>> _referenceObserversMap = new ConcurrentHashMap<>();
+ private final Map<OSGiBean, ServiceDeclaration> _serviceComponents = new ConcurrentHashMap<>();
private final Registrator<Object> _serviceRegistrator;
private final Tracker _tracker;
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/context/BundleContextBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/context/BundleContextBean.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/context/BundleContextBean.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/context/BundleContextBean.java Sat Apr 14 01:09:09 2018
@@ -21,11 +21,11 @@ import java.util.Set;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.Any;
+import javax.enterprise.inject.Default;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
-import org.apache.aries.cdi.container.internal.literal.AnyLiteral;
-import org.apache.aries.cdi.container.internal.literal.DefaultLiteral;
import org.apache.aries.cdi.container.internal.util.Sets;
import org.osgi.framework.BundleContext;
@@ -99,7 +99,7 @@ public class BundleContextBean implement
}
private static final Set<Annotation> DEFAULT_QUALIFIERS = Sets.hashSet(
- DefaultLiteral.INSTANCE, AnyLiteral.INSTANCE);
+ Default.Literal.INSTANCE, Any.Literal.INSTANCE);
private static final Set<Type> TYPES = Sets.immutableHashSet(BundleContext.class, Object.class);
private final BundleContext _bundleContext;
Copied: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BeanElementException.java (from r1828903, aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BeanElementException.java?p2=aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BeanElementException.java&p1=aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BeanElementException.java Sat Apr 14 01:09:09 2018
@@ -12,17 +12,14 @@
* limitations under the License.
*/
-package org.apache.aries.cdi.container.internal.literal;
+package org.apache.aries.cdi.container.internal.exception;
-import javax.enterprise.inject.Any;
-import javax.enterprise.util.AnnotationLiteral;
-
-public class AnyLiteral extends AnnotationLiteral<Any> implements Any {
+public class BeanElementException extends IllegalArgumentException {
private static final long serialVersionUID = 1L;
- public static final Any INSTANCE = new AnyLiteral();
- private AnyLiteral() {
+ public BeanElementException(String message, Throwable cause) {
+ super(message, cause);
}
}
Copied: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BlacklistQualifierException.java (from r1828903, aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BlacklistQualifierException.java?p2=aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BlacklistQualifierException.java&p1=aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/literal/AnyLiteral.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/exception/BlacklistQualifierException.java Sat Apr 14 01:09:09 2018
@@ -12,17 +12,14 @@
* limitations under the License.
*/
-package org.apache.aries.cdi.container.internal.literal;
+package org.apache.aries.cdi.container.internal.exception;
-import javax.enterprise.inject.Any;
-import javax.enterprise.util.AnnotationLiteral;
-
-public class AnyLiteral extends AnnotationLiteral<Any> implements Any {
+public class BlacklistQualifierException extends IllegalArgumentException {
private static final long serialVersionUID = 1L;
- public static final Any INSTANCE = new AnyLiteral();
- private AnyLiteral() {
+ public BlacklistQualifierException(String message, Throwable cause) {
+ super(message, cause);
}
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/extension/ExtensionDependency.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/extension/ExtensionDependency.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/extension/ExtensionDependency.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/extension/ExtensionDependency.java Sat Apr 14 01:09:09 2018
@@ -20,13 +20,13 @@ import org.osgi.framework.BundleContext;
import org.osgi.framework.Filter;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.cdi.CdiConstants;
+import org.osgi.service.cdi.PortableExtensionNamespace;
public class ExtensionDependency {
public ExtensionDependency(BundleContext bundleContext, Long bundleId, String name) {
_string = "(&(" + org.osgi.framework.Constants.SERVICE_BUNDLEID + "=" + bundleId + ")(" +
- CdiConstants.CDI_EXTENSION_NAMESPACE + "=" + name + "))";
+ PortableExtensionNamespace.CDI_EXTENSION_NAMESPACE + "=" + name + "))";
try {
_filter = bundleContext.createFilter(_string);
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/BeansModel.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/BeansModel.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/BeansModel.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/BeansModel.java Sat Apr 14 01:09:09 2018
@@ -16,19 +16,24 @@ package org.apache.aries.cdi.container.i
import java.net.URL;
import java.util.Collection;
+import java.util.List;
import java.util.Map;
-import org.apache.aries.cdi.container.internal.component.ComponentModel;
+import org.apache.aries.cdi.container.internal.component.OSGiBean;
import org.jboss.weld.bootstrap.spi.BeansXml;
import org.jboss.weld.xml.BeansXmlParser;
public class BeansModel {
public BeansModel(
- Map<String, ComponentModel> components,
+ Map<String, OSGiBean> beans,
+ List<Class<?>> qualifierBlackList,
+ List<Throwable> errors,
Collection<URL> beanDescriptorURLs) {
- _components = components;
+ _beans = beans;
+ _qualifierBlackList = qualifierBlackList;
+ _errors = errors;
BeansXml beansXml = BeansXml.EMPTY_BEANS_XML;
@@ -40,31 +45,37 @@ public class BeansModel {
_beansXml = beansXml;
}
- public void addComponentModel(String componentClass, ComponentModel componentModel) {
- _components.put(componentClass, componentModel);
- }
-
public Collection<String> getBeanClassNames() {
- return _components.keySet();
+ return _beans.keySet();
}
public BeansXml getBeansXml() {
return _beansXml;
}
- public ComponentModel getComponentModel(String componentClass) {
- return _components.get(componentClass);
+ public List<Class<?>> getQualifierBlackList() {
+ return _qualifierBlackList;
+ }
+
+ public List<Throwable> getErrors() {
+ return _errors;
+ }
+
+ public OSGiBean getOSGiBean(String beanClass) {
+ return _beans.get(beanClass);
}
- public Collection<ComponentModel> getComponentModels() {
- return _components.values();
+ public Collection<OSGiBean> getOSGiBeans() {
+ return _beans.values();
}
- public void removeComponentModel(String beanClassName) {
- _components.remove(beanClassName);
+ public void putOSGiBean(String beanClass, OSGiBean osgiBean) {
+ _beans.put(beanClass, osgiBean);
}
+ private final Map<String, OSGiBean> _beans;
private final BeansXml _beansXml;
- private final Map<String, ComponentModel> _components;
+ private final List<Throwable> _errors;
+ private final List<Class<?>> _qualifierBlackList;
}
\ No newline at end of file