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