Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFooNamed.java
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFooNamed.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFooNamed.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFooNamed.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFooNamed.java
 Sat Apr 14 01:09:09 2018
@@ -12,13 +12,15 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticreluctant;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFooFooNamed {
        @Inject
-       public CtorFooFooNamed(@Reference(name = "foo_a") Foo foo_a, 
@Reference(name = "foo_b") Foo foo_b) {}
+       public CtorFooFooNamed(@Reference @Named("foo_a") Foo foo_a, @Reference 
@Named("foo_b") Foo foo_b) {}
 }
\ No newline at end of file

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooNamed.java
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooNamed.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooNamed.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooNamed.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooNamed.java
 Sat Apr 14 01:09:09 2018
@@ -12,13 +12,15 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticreluctant;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFooNamed {
        @Inject
-       public CtorFooNamed(@Reference(name = "_foo_") Foo foo) {}
+       public CtorFooNamed(@Reference @Named("_foo_") Foo foo) {}
 }
\ No newline at end of file

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooOptional.java
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooOptional.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooOptional.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooOptional.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooOptional.java
 Sat Apr 14 01:09:09 2018
@@ -12,14 +12,16 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticreluctant;
+
+import java.util.Optional;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
 
 public class CtorFooOptional {
        @Inject
-       public CtorFooOptional(@Reference(cardinality = 
ReferenceCardinality.OPTIONAL) Foo foo) {}
+       public CtorFooOptional(@Reference Optional<Foo> foo) {}
 }
\ No newline at end of file

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorListFoo.java
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorListFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorListFoo.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorListFoo.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorListFoo.java
 Sat Apr 14 01:09:09 2018
@@ -12,12 +12,13 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticreluctant;
 
 import java.util.List;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorListFoo {

Copied: 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.Bar.xml
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.Bar.xml?p2=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.Bar.xml&p1=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.Bar.xml
 Sat Apr 14 01:09:09 2018
@@ -15,6 +15,7 @@
  */
 -->
 
-<beans xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";>
-       <cdi:component 
class="org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated" />
-</beans>
\ No newline at end of file
+<cdi:bean
+       xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";
+       class="org.apache.aries.cdi.container.test.beans.Bar"
+/>

Copied: 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarAnnotated.xml
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-only.xml)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarAnnotated.xml?p2=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarAnnotated.xml&p1=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-only.xml&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-only.xml 
(original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarAnnotated.xml
 Sat Apr 14 01:09:09 2018
@@ -15,7 +15,6 @@
  */
 -->
 
-<beans xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";>
-       <cdi:component class="org.apache.aries.cdi.container.test.beans.Bar" />
-       <cdi:component class="org.apache.aries.cdi.container.test.beans.Foo" />
-</beans>
\ No newline at end of file
+<cdi:bean
+       xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";
+       class="org.apache.aries.cdi.container.test.beans.BarAnnotated" />

Copied: 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated.xml
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-annotated.xml)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated.xml?p2=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated.xml&p1=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-annotated.xml&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-annotated.xml
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated.xml
 Sat Apr 14 01:09:09 2018
@@ -15,7 +15,6 @@
  */
 -->
 
-<beans xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";>
-       <cdi:component 
class="org.apache.aries.cdi.container.test.beans.BarAnnotated" />
-       <cdi:component 
class="org.apache.aries.cdi.container.test.beans.FooAnnotated" />
-</beans>
\ No newline at end of file
+<cdi:bean
+       xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";
+       class="org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated" />

Copied: 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooAnnotated.xml
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooAnnotated.xml?p2=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooAnnotated.xml&p1=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooAnnotated.xml
 Sat Apr 14 01:09:09 2018
@@ -15,6 +15,6 @@
  */
 -->
 
-<beans xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";>
-       <cdi:component 
class="org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated" />
-</beans>
\ No newline at end of file
+<cdi:bean
+       xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";
+       class="org.apache.aries.cdi.container.test.beans.FooAnnotated" />

Copied: 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooService.xml
 (from r1828903, 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooService.xml?p2=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooService.xml&p1=aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/beans-badly-annotated.xml
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/resources/OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooService.xml
 Sat Apr 14 01:09:09 2018
@@ -15,6 +15,6 @@
  */
 -->
 
-<beans xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";>
-       <cdi:component 
class="org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated" />
-</beans>
\ No newline at end of file
+<cdi:bean
+       xmlns:cdi="http://www.osgi.org/xmlns/cdi/v1.0.0";
+       class="org.apache.aries.cdi.container.test.beans.FooService" />

Modified: aries/trunk/cdi/cdi-extension-http/bnd.bnd
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-http/bnd.bnd?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-http/bnd.bnd (original)
+++ aries/trunk/cdi/cdi-extension-http/bnd.bnd Sat Apr 14 01:09:09 2018
@@ -1,5 +1,9 @@
 Bundle-Activator: org.apache.aries.cdi.extension.http.Activator
-Provide-Capability: 
osgi.cdi.extension;osgi.cdi.extension=http;version:Version="${Bundle-Version}"
+Provide-Capability: \
+       osgi.cdi.extension;\
+               osgi.cdi.extension=http;\
+               
implementation="org.apache.aries.cdi.extension.http.HttpExtension";\
+               version:Version="${Bundle-Version}"
 Require-Capability:\
        
osgi.implementation;filter:='(&(osgi.implementation=osgi.cdi)(version>=0.0.1)(!(version>=1.0.0)))',\
        
osgi.implementation;filter:="(&(osgi.implementation=osgi.http)(version>=1.0)(!(version>=2.0)))"

Modified: aries/trunk/cdi/cdi-extension-jndi/bnd.bnd
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/bnd.bnd?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/bnd.bnd (original)
+++ aries/trunk/cdi/cdi-extension-jndi/bnd.bnd Sat Apr 14 01:09:09 2018
@@ -1,5 +1,9 @@
 Bundle-Activator: org.apache.aries.cdi.extension.jndi.Activator
-Provide-Capability: 
osgi.cdi.extension;osgi.cdi.extension=jndi;version:Version="${Bundle-Version}"
+Provide-Capability: \
+       osgi.cdi.extension;\
+               osgi.cdi.extension=jndi;\
+               
implementation="org.apache.aries.cdi.extension.jndi.JndiExtension";\
+               version:Version="${Bundle-Version}"
 Require-Capability:\
        
osgi.implementation;filter:='(&(osgi.implementation=osgi.cdi)(version>=0.0.1)(!(version>=1.0.0)))'
 -contract: JavaCDI

Modified: aries/trunk/cdi/cdi-itests/logback.xml
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/logback.xml?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/logback.xml (original)
+++ aries/trunk/cdi/cdi-itests/logback.xml Sat Apr 14 01:09:09 2018
@@ -14,4 +14,4 @@
        <root level="ERROR">
                <appender-ref ref="STDOUT" />
        </root>
-</configuration>
\ No newline at end of file
+</configuration>

Modified: aries/trunk/cdi/cdi-itests/pom.xml
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/pom.xml?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/pom.xml (original)
+++ aries/trunk/cdi/cdi-itests/pom.xml Sat Apr 14 01:09:09 2018
@@ -104,6 +104,11 @@
 
        <dependencies>
                <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.util.promise</artifactId>
+                       <version>1.1.0-SNAPSHOT</version>
+               </dependency>
+               <dependency>
                        <groupId>org.slf4j</groupId>
                        <artifactId>log4j-over-slf4j</artifactId>
                        <version>1.7.25</version>

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/CdiEventObserver.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/CdiEventObserver.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/CdiEventObserver.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/CdiEventObserver.java
 Sat Apr 14 01:09:09 2018
@@ -17,16 +17,16 @@ package org.apache.aries.cdi.test.beans;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.event.Observes;
-import javax.inject.Singleton;
+import javax.enterprise.inject.Any;
 
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.CdiEventObserverQualifier;
-import org.osgi.service.cdi.CdiEvent;
 
 @CdiEventObserverQualifier
-@Singleton
-public class CdiEventObserver implements BeanService<List<CdiEvent>> {
+@ApplicationScoped
+public class CdiEventObserver implements BeanService<List<Object>> {
 
        @Override
        public String doSomething() {
@@ -34,14 +34,14 @@ public class CdiEventObserver implements
        }
 
        @Override
-       public List<CdiEvent> get() {
+       public List<Object> get() {
                return events;
        }
 
-       public void onAnyDocumentEvent(@Observes CdiEvent event) {
+       public void onAnyDocumentEvent(@Observes @Any Object event) {
                events.add(event);
        }
 
-       private final List<CdiEvent> events = new CopyOnWriteArrayList<>();
+       private final List<Object> events = new CopyOnWriteArrayList<>();
 
 }

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java
 Sat Apr 14 01:09:09 2018
@@ -19,12 +19,10 @@ import javax.inject.Inject;
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {ConstructorInjectedService.class, BeanService.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({ConstructorInjectedService.class, BeanService.class})
 public class ConstructorInjectedService implements BeanService<Pojo> {
 
        @Inject

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java
 Sat Apr 14 01:09:09 2018
@@ -25,13 +25,10 @@ import org.apache.aries.cdi.test.interfa
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceScope;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {FieldInjectedBundleScopedImpl.class, 
FieldInjectedReference.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({FieldInjectedBundleScopedImpl.class, FieldInjectedReference.class})
 public class FieldInjectedBundleScopedImpl implements 
FieldInjectedReference<BundleScoped> {
 
        @Inject
@@ -39,15 +36,11 @@ public class FieldInjectedBundleScopedIm
        private ServiceReference<BundleScoped> genericReference;
 
        @Inject
-       @Reference(service = BundleScoped.class, target = "(key=value)")
+       @Reference(value = BundleScoped.class, target = "(key=value)")
        private Map<String, Object> properties;
 
        @Inject
-       @Reference(
-               scope = ReferenceScope.BUNDLE,
-               service = BundleScoped.class,
-               target = "(key=value)"
-       )
+       @Reference(value = BundleScoped.class, target = "(key=value)")
        @SuppressWarnings("rawtypes")
        private ServiceReference rawReference;
 

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java
 Sat Apr 14 01:09:09 2018
@@ -25,13 +25,10 @@ import org.apache.aries.cdi.test.interfa
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceScope;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {FieldInjectedPrototypeScopedImpl.class, 
FieldInjectedReference.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({FieldInjectedPrototypeScopedImpl.class, 
FieldInjectedReference.class})
 public class FieldInjectedPrototypeScopedImpl implements 
FieldInjectedReference<PrototypeScoped> {
 
        @Inject
@@ -39,15 +36,11 @@ public class FieldInjectedPrototypeScope
        private ServiceReference<PrototypeScoped> genericReference;
 
        @Inject
-       @Reference(service = PrototypeScoped.class, target = "(key=value)")
+       @Reference(value = PrototypeScoped.class, target = "(key=value)")
        private Map<String, Object> properties;
 
        @Inject
-       @Reference(
-               scope = ReferenceScope.PROTOTYPE,
-               service = PrototypeScoped.class,
-               target = "(key=value)"
-       )
+       @Reference(value = PrototypeScoped.class, target = "(key=value)")
        @SuppressWarnings("rawtypes")
        private ServiceReference rawReference;
 

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java
 Sat Apr 14 01:09:09 2018
@@ -19,12 +19,10 @@ import javax.inject.Inject;
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {FieldInjectedService.class, BeanService.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({FieldInjectedService.class, BeanService.class})
 public class FieldInjectedService implements BeanService<Pojo> {
 
        @Override

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java
 Sat Apr 14 01:09:09 2018
@@ -14,7 +14,7 @@
 
 package org.apache.aries.cdi.test.beans;
 
-import java.util.Iterator;
+import java.util.Collection;
 import java.util.concurrent.Callable;
 
 import javax.enterprise.inject.Instance;
@@ -23,33 +23,33 @@ import javax.inject.Inject;
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {BeanService.class, Instance_Optional.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({BeanService.class, Instance_Optional.class})
+@SuppressWarnings("rawtypes")
 public class Instance_Optional implements BeanService<Callable<String>> {
 
        @Override
        public String doSomething() {
                int count = 0;
-               for (Iterator<?> iterator = 
_instance.iterator();iterator.hasNext();) {
-                       System.out.println(iterator.next());
+               Collection<Callable> callables = _instance.get();
+               for (Callable callable : callables) {
+                       System.out.println(callable);
                        count++;
                }
                return String.valueOf(count);
        }
 
        @Override
+       @SuppressWarnings("unchecked")
        public Callable<String> get() {
-               Iterator<Callable<String>> iterator = _instance.iterator();
-               return iterator.hasNext() ? iterator.next() : null;
+               Collection<Callable> iterator = _instance.get();
+               return iterator.iterator().next();
        }
 
        @Inject
-       @Reference(cardinality = ReferenceCardinality.MULTIPLE)
-       Instance<Callable<String>> _instance;
+       @Reference
+       Instance<Collection<Callable>> _instance;
 
 }

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java
 Sat Apr 14 01:09:09 2018
@@ -19,19 +19,14 @@ import java.util.Map;
 
 import javax.enterprise.inject.Instance;
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.apache.aries.cdi.test.interfaces.BeanService;
-import org.apache.aries.cdi.test.interfaces.SingletonScoped;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {BeanService.class, Instance_ServiceProperties.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({BeanService.class, Instance_ServiceProperties.class})
 public class Instance_ServiceProperties implements BeanService<Map<String, 
Object>> {
 
        @Override
@@ -50,7 +45,7 @@ public class Instance_ServiceProperties
        }
 
        @Inject
-       @Reference(service = SingletonScoped.class)
+       @Reference
        Instance<Map<String, Object>> _instance;
 
 }

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java
 Sat Apr 14 01:09:09 2018
@@ -24,13 +24,10 @@ import org.apache.aries.cdi.test.interfa
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {BeanService.class, Instance_ServiceReference.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({BeanService.class, Instance_ServiceReference.class})
 @SuppressWarnings("rawtypes")
 public class Instance_ServiceReference implements 
BeanService<ServiceReference> {
 
@@ -50,7 +47,7 @@ public class Instance_ServiceReference i
        }
 
        @Inject
-       @Reference(service = SingletonScoped.class)
+       @Reference(SingletonScoped.class)
        Instance<ServiceReference> _instance;
 
 }

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java
 Sat Apr 14 01:09:09 2018
@@ -19,12 +19,10 @@ import javax.inject.Inject;
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       service = {MethodInjectedService.class, BeanService.class},
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service({MethodInjectedService.class, BeanService.class})
 public class MethodInjectedService implements BeanService<Pojo> {
 
        @Inject

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java
 Sat Apr 14 01:09:09 2018
@@ -14,142 +14,51 @@
 
 package org.apache.aries.cdi.test.beans;
 
-import java.lang.annotation.ElementType;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
 import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 import javax.inject.Inject;
 import javax.inject.Qualifier;
-import javax.inject.Singleton;
 
-import org.apache.aries.cdi.test.beans.ServiceWithProperties.MoreProperties;
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
-
-@Component(
-       property = {
-               "test.key.b1=test.value.b1",
-               "test.key.b2=test.value.b2",
-
-               "p.Boolean:Boolean=true",
-               "p.Boolean.array:Boolean=true",
-               "p.Boolean.array:Boolean=false",
-
-               "p.Boolean.list:List<Boolean>=false",
-               "p.Boolean.list:List<Boolean>=true",
-
-               "p.Boolean.set:Set<Boolean>=true",
-               "p.Boolean.set:Set<Boolean>=true",
-               "p.Boolean.set:Set<Boolean>=false",
-
-               "p.Byte:Byte=2",
-
-               "p.Byte.array:Byte=2",
-               "p.Byte.array:Byte=34",
-
-               "p.Byte.list:List<Byte>=34",
-               "p.Byte.list:List<Byte>=2",
-
-               "p.Byte.set:Set<Byte>=34",
-               "p.Byte.set:Set<Byte>=34",
-               "p.Byte.set:Set<Byte>=2",
-
-               "p.Character:Character=C",
-
-               "p.Character.array:Character=C",
-               "p.Character.array:Character=D",
-
-               "p.Character.list:List<Character>=D",
-               "p.Character.list:List<Character>=C",
-
-               "p.Character.set:Set<Character>=D",
-               "p.Character.set:Set<Character>=D",
-               "p.Character.set:Set<Character>=C",
-
-               "p.Double:Double=2.5",
-
-               "p.Double.array:Double=2.5",
-               "p.Double.array:Double=45.678",
-
-               "p.Double.list:List<Double>=45.678",
-               "p.Double.list:List<Double>=2.5",
-
-               "p.Double.set:Set<Double>=45.678",
-               "p.Double.set:Set<Double>=45.678",
-               "p.Double.set:Set<Double>=2.5",
-
-               "p.Float:Float=3.4",
-
-               "p.Float.array:Float=3.4",
-               "p.Float.array:Float=78.9",
+import org.osgi.service.cdi.annotations.Service;
 
-               "p.Float.list:List<Float>=78.9",
-               "p.Float.list:List<Float>=3.4",
-
-               "p.Float.set:Set<Float>=78.9",
-               "p.Float.set:Set<Float>=78.9",
-               "p.Float.set:Set<Float>=3.4",
-
-               "p.Integer:Integer=5",
-
-               "p.Integer.array:Integer=5",
-               "p.Integer.array:Integer=34567",
-
-               "p.Integer.list:List<Integer>=34567",
-               "p.Integer.list:List<Integer>=5",
-
-               "p.Integer.set:Set<Integer>=34567",
-               "p.Integer.set:Set<Integer>=34567",
-               "p.Integer.set:Set<Integer>=5",
-
-               "p.Long:Long=7",
-
-               "p.Long.array:Long=7",
-               "p.Long.array:Long=7789654",
-
-               "p.Long.list:List<Long>=7789654",
-               "p.Long.list:List<Long>=7",
-
-               "p.Long.set:Set<Long>=7789654",
-               "p.Long.set:Set<Long>=7789654",
-               "p.Long.set:Set<Long>=7",
-
-               "p.Short:Short=25",
-
-               "p.Short.array:Short=25",
-               "p.Short.array:Short=196",
-
-               "p.Short.list:List<Short>=196",
-               "p.Short.list:List<Short>=25",
-
-               "p.Short.set:Set<Short>=196",
-               "p.Short.set:Set<Short>=196",
-               "p.Short.set:Set<Short>=25",
-
-               "p.String=black",
-
-               "p.String.array=black",
-               "p.String.array=green",
-
-               "p.String.list:List<String>=green",
-               "p.String.list:List<String>=black",
-
-               "p.String.set:Set<String>=green",
-               "p.String.set:Set<String>=green",
-               "p.String.set:Set<String>=black"
-       },
-       service = {ServiceWithProperties.class, BeanService.class},
-       scope = ServiceScope.SINGLETON
-)
-@MoreProperties(glub_integer = 45, goo_string = "green")
+@Component
+@Service({ServiceWithProperties.class, BeanService.class})
+@ServiceWithProperties.Props
+@ServiceWithProperties.MoreProperties(glub_integer = 45, goo_string = "green")
 public class ServiceWithProperties implements BeanService<Pojo> {
 
-       @Qualifier
-       @Retention(value = RetentionPolicy.RUNTIME)
-       @Target(value = { ElementType.TYPE })
+       @Qualifier @Retention(RUNTIME) @Target(TYPE)
+       public @interface Props {
+               String test_key_b1() default "test.value.b1";
+               String test_key_b2() default "test.value.b2";
+               boolean p_Boolean() default true;
+               boolean[] p_Boolean_array() default {true, false};
+               byte p_Byte() default 2;
+               byte[] p_Byte_array() default {2, 34};
+               char p_Character() default 'C';
+               char[] p_Character_array() default {'C', 'D'};
+               double p_Double() default 2.5;
+               double[] p_Double_array() default {2.5, 45.678};
+               float p_Float() default 3.4f;
+               float[] p_Float_array() default {3.4f, 78.9f};
+               int p_Integer() default 5;
+               int[] p_Integer_array() default {5, 34567};
+               long p_Long() default 7l;
+               long[] p_Long_array() default {7l, 7789654l};
+               short p_Short() default 25;
+               short[] p_Short_array() default {25, 196};
+               String p_String() default "black";
+               String[] p_String_array() default {"black", "green"};
+       }
+
+       @Qualifier @Retention(RUNTIME) @Target(TYPE )
        public @interface MoreProperties {
                String goo_string();
                int glub_integer();

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
 Sat Apr 14 01:09:09 2018
@@ -19,14 +19,13 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.Callable;
 
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.Any;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.util.AnnotationLiteral;
 
-import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Filter;
@@ -36,8 +35,10 @@ import org.osgi.framework.wiring.BundleW
 import org.osgi.framework.wiring.BundleWiring;
 import org.osgi.namespace.extender.ExtenderNamespace;
 import org.osgi.service.cdi.CdiConstants;
-import org.osgi.service.cdi.CdiContainer;
-import org.osgi.service.cdi.CdiEvent;
+import org.osgi.service.cdi.runtime.CdiRuntime;
+import org.osgi.service.cdi.runtime.dto.ContainerDTO;
+import org.osgi.util.promise.Promise;
+import org.osgi.util.promise.PromiseFactory;
 import org.osgi.util.tracker.ServiceTracker;
 
 import junit.framework.TestCase;
@@ -50,26 +51,31 @@ public class AbstractTestCase extends Te
                servicesBundle.start();
                cdiBundle = bundleContext.installBundle("basic-beans.jar" , 
getBundle("basic-beans.jar"));
                cdiBundle.start();
+
+               runtimeTracker = new ServiceTracker<>(bundleContext, 
CdiRuntime.class, null);
+               runtimeTracker.open();
+               cdiRuntime = runtimeTracker.waitForService(timeout);
        }
 
        @Override
        protected void tearDown() throws Exception {
+               runtimeTracker.close();
                cdiBundle.uninstall();
                servicesBundle.uninstall();
        }
 
-       void assertPojoExists(BeanManager beanManager) {
-               Set<Bean<?>> beans = beanManager.getBeans(Pojo.class, any);
+       void assertBeanExists(Class<?> clazz, BeanManager beanManager) {
+               Set<Bean<?>> beans = beanManager.getBeans(clazz, 
Any.Literal.INSTANCE);
 
                assertFalse(beans.isEmpty());
                Iterator<Bean<?>> iterator = beans.iterator();
                Bean<?> bean = iterator.next();
-               assertTrue(Pojo.class.isAssignableFrom(bean.getBeanClass()));
+               assertTrue(clazz.isAssignableFrom(bean.getBeanClass()));
                assertFalse(iterator.hasNext());
 
                bean = beanManager.resolve(beans);
                CreationalContext<?> ctx = 
beanManager.createCreationalContext(bean);
-               Pojo pojo = (Pojo)beanManager.getReference(bean, Pojo.class, 
ctx);
+               Object pojo = clazz.cast(beanManager.getReference(bean, clazz, 
ctx));
                assertNotNull(pojo);
        }
 
@@ -98,18 +104,6 @@ public class AbstractTestCase extends Te
                return null;
        }
 
-       ServiceTracker<CdiContainer, CdiContainer> getServiceTracker(long 
bundleId) throws InvalidSyntaxException {
-               Filter filter = bundleContext.createFilter(
-                       "(&(objectClass=" + CdiContainer.class.getName() + 
")(service.bundleid=" + bundleId + ")(" +
-                               CdiConstants.CDI_CONTAINER_STATE + "=" + 
CdiEvent.Type.CREATED + "))");
-
-               ServiceTracker<CdiContainer, CdiContainer> serviceTracker = new 
ServiceTracker<>(bundleContext, filter, null);
-
-               serviceTracker.open();
-
-               return serviceTracker;
-       }
-
        public Bundle installBundle(String url) throws Exception {
                return installBundle(url, true);
        }
@@ -124,17 +118,56 @@ public class AbstractTestCase extends Te
                return b;
        }
 
-       CdiContainer waitForCdiContainer() throws Exception {
-               return waitForCdiContainer(bundle.getBundleId());
+       Filter filter(String pattern, Object... objects) {
+               try {
+                       return 
FrameworkUtil.createFilter(String.format(pattern, objects));
+               }
+               catch (InvalidSyntaxException e) {
+                       throw new RuntimeException(e.getMessage());
+               }
        }
 
-       CdiContainer waitForCdiContainer(long bundleId) throws Exception {
-               return getServiceTracker(bundleId).waitForService(timeout);
+       BeanManager getBeanManager(Bundle bundle) throws Exception {
+               return getServiceTracker(bundle).waitForService(timeout);
        }
 
-       static final AnnotationLiteral<Any> any = new AnnotationLiteral<Any>() {
-               private static final long serialVersionUID = 1L;
-       };
+       ServiceTracker<BeanManager, BeanManager> getServiceTracker(Bundle 
bundle) throws Exception {
+               ServiceTracker<BeanManager, BeanManager> serviceTracker = new 
ServiceTracker<>(
+                       bundleContext,
+                       filter(
+                               "(&(objectclass=%s)(bundle.id=%d))",
+                               BeanManager.class.getName(),
+                               bundle.getBundleId()),
+                       null);
+               serviceTracker.open();
+               return serviceTracker;
+       }
+
+       Promise<ContainerDTO> getContainerDTO() throws Exception {
+               return getContainerDTO(bundle);
+       }
+
+       Promise<ContainerDTO> getContainerDTO(Bundle bundle) throws Exception {
+               final PromiseFactory factory = new PromiseFactory(
+                               PromiseFactory.inlineExecutor());
+
+               Promise<ContainerDTO> promise = factory.submit(new 
Callable<ContainerDTO>() {
+                       @Override
+                       public ContainerDTO call() throws Exception {
+                               while (!Thread.interrupted()) {
+                                       ContainerDTO containerDTO = 
cdiRuntime.getContainerDTO(bundle);
+                                       if (containerDTO == null) {
+                                               Thread.sleep(10);
+                                               continue;
+                                       }
+                                       return containerDTO;
+                               }
+                               return null;
+                       }
+               });
+
+               return promise.timeout(timeout);
+       }
 
        static final Bundle bundle = 
FrameworkUtil.getBundle(CdiBeanTests.class);
        static final BundleContext bundleContext = bundle.getBundleContext();
@@ -142,6 +175,8 @@ public class AbstractTestCase extends Te
 
        Bundle cdiBundle;
        Bundle servicesBundle;
-       CdiContainer cdiContainer;
+       CdiRuntime cdiRuntime;
+       Promise<ContainerDTO> containerDTO;
+       ServiceTracker<CdiRuntime, CdiRuntime> runtimeTracker;
 
 }
\ No newline at end of file

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
 Sat Apr 14 01:09:09 2018
@@ -38,7 +38,7 @@ public class CdiBeanTests extends Abstra
        @Override
        protected void setUp() throws Exception {
                super.setUp();
-               cdiContainer = waitForCdiContainer(cdiBundle.getBundleId());
+               containerDTO = getContainerDTO(cdiBundle);
        }
 
        public void testConstructorInjectedService() throws Exception {
@@ -232,7 +232,7 @@ public class CdiBeanTests extends Abstra
        }
 
        public void testBundleContextInjection() throws Exception {
-               BeanManager beanManager = cdiContainer.getBeanManager();
+               BeanManager beanManager = getBeanManager(cdiBundle);
 
                assertNotNull(beanManager);
 

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
 Sat Apr 14 01:09:09 2018
@@ -17,6 +17,7 @@ package org.apache.aries.cdi.test.cases;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.CDI;
 
+import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.framework.wiring.BundleWiring;
 
 public class CdiContainerTests extends AbstractTestCase {
@@ -24,14 +25,14 @@ public class CdiContainerTests extends A
        @Override
        protected void setUp() throws Exception {
                super.setUp();
-               cdiContainer = waitForCdiContainer(cdiBundle.getBundleId());
+               containerDTO = getContainerDTO(cdiBundle);
        }
 
        public void testGetBeanFromCdiContainerService() throws Exception {
-               BeanManager beanManager = cdiContainer.getBeanManager();
+               BeanManager beanManager = getBeanManager(cdiBundle);
 
                assertNotNull(beanManager);
-               assertPojoExists(beanManager);
+               assertBeanExists(Pojo.class, beanManager);
        }
 
        public void testGetBeanManagerFromCDI() throws Exception {
@@ -46,7 +47,7 @@ public class CdiContainerTests extends A
                        BeanManager beanManager = 
CDI.current().getBeanManager();
 
                        assertNotNull(beanManager);
-                       assertPojoExists(beanManager);
+                       assertBeanExists(Pojo.class, beanManager);
                }
                finally {
                        currentThread.setContextClassLoader(contextClassLoader);

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
 Sat Apr 14 01:09:09 2018
@@ -14,8 +14,9 @@
 
 package org.apache.aries.cdi.test.cases;
 
+import javax.enterprise.inject.spi.BeanManager;
+
 import org.osgi.framework.Bundle;
-import org.osgi.service.cdi.CdiContainer;
 import org.osgi.util.tracker.ServiceTracker;
 
 public class CdiExtenderTests extends AbstractTestCase {
@@ -23,7 +24,7 @@ public class CdiExtenderTests extends Ab
        public void testStopExtender() throws Exception {
                Bundle cdiExtenderBundle = getCdiExtenderBundle();
 
-               ServiceTracker<CdiContainer,CdiContainer> serviceTracker = 
getServiceTracker(cdiBundle.getBundleId());
+               ServiceTracker<BeanManager,BeanManager> serviceTracker = 
getServiceTracker(cdiBundle);
 
                try {
                        assertNotNull(serviceTracker.waitForService(timeout));

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
 Sat Apr 14 01:09:09 2018
@@ -18,22 +18,10 @@ import static org.junit.Assert.assertArr
 
 import java.util.Dictionary;
 import java.util.Hashtable;
-import java.util.Map;
-import java.util.Set;
 import java.util.concurrent.Callable;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.util.TypeLiteral;
-
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.osgi.framework.Bundle;
-import org.osgi.framework.Filter;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.cdi.CdiConstants;
-import org.osgi.service.cdi.CdiContainer;
-import org.osgi.service.cdi.CdiEvent;
 import org.osgi.service.cm.Configuration;
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.util.tracker.ServiceTracker;
@@ -47,23 +35,11 @@ public class ConfigurationTests extends
                Configuration configurationA = null, configurationB = null;
 
                try {
-                       Filter filter = bundleContext.createFilter(
-                               "(&(objectClass=" + 
CdiContainer.class.getName() + ")(service.bundleid=" + tb3Bundle.getBundleId() 
+ "))");
-
-                       ServiceTracker<CdiContainer, CdiContainer> 
containerTracker = new ServiceTracker<>(
-                               bundleContext, filter, null);
-
-                       containerTracker.open();
-
-                       containerTracker.waitForService(timeout);
-
-                       ServiceReference<CdiContainer> serviceReference = 
containerTracker.getServiceReference();
-
-                       assertNotNull(serviceReference);
+                       containerDTO = getContainerDTO();
 
-                       assertEquals(
-                               CdiEvent.Type.WAITING_FOR_CONFIGURATIONS,
-                               
serviceReference.getProperty(CdiConstants.CDI_CONTAINER_STATE));
+//                     assertEquals(
+//                             WAITING_FOR_CONFIGURATIONS,
+//                             containerDTO...);
 
                        configurationA = 
configurationAdmin.getConfiguration("org.apache.aries.cdi.test.tb3.ConfigurationBeanA",
 "?");
 
@@ -78,17 +54,7 @@ public class ConfigurationTests extends
                        properties.put("ports", new int[] {80});
                        configurationB.update(properties);
 
-                       containerTracker.close();
-
-                       filter = bundleContext.createFilter(
-                               "(&(objectClass=" + 
CdiContainer.class.getName() + ")(service.bundleid=" + tb3Bundle.getBundleId() +
-                               ")(" + CdiConstants.CDI_CONTAINER_STATE + 
"=CREATED))");
-
-                       containerTracker = new ServiceTracker<>(bundleContext, 
filter, null);
-
-                       containerTracker.open();
-
-                       containerTracker.waitForService(timeout);
+                       // after this we should eventually get the bean 
manager...
 
                        ServiceTracker<BeanService, BeanService> stA = new 
ServiceTracker<BeanService, BeanService>(
                                bundleContext, bundleContext.createFilter(
@@ -140,15 +106,11 @@ public class ConfigurationTests extends
                Configuration configurationC = null;
 
                try {
-                       Filter filter = bundleContext.createFilter(
-                               "(&(objectClass=" + 
CdiContainer.class.getName() + ")(service.bundleid=" + tb5Bundle.getBundleId() +
-                               ")(" + CdiConstants.CDI_CONTAINER_STATE + 
"=CREATED))");
-
-                       ServiceTracker<CdiContainer, CdiContainer> 
containerTracker = new ServiceTracker<>(bundleContext, filter, null);
-
-                       containerTracker.open();
+                       containerDTO = getContainerDTO();
 
-                       containerTracker.waitForService(timeout);
+//                     assertEquals(
+//                             SHOULD BE OK,
+//                             containerDTO...);
 
                        ServiceTracker<BeanService, BeanService> stC = new 
ServiceTracker<BeanService, BeanService>(
                                bundleContext, bundleContext.createFilter(

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
 Sat Apr 14 01:09:09 2018
@@ -24,18 +24,17 @@ import javax.enterprise.util.AnnotationL
 
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.CdiEventObserverQualifier;
-import org.osgi.service.cdi.CdiEvent;
 
 public class EventsTests extends AbstractTestCase {
 
        @Override
        protected void setUp() throws Exception {
                super.setUp();
-               cdiContainer = waitForCdiContainer(cdiBundle.getBundleId());
+               containerDTO = getContainerDTO(cdiBundle);
        }
 
        public void testEventsGetSent() throws Exception {
-               BeanManager beanManager = cdiContainer.getBeanManager();
+               BeanManager beanManager = getBeanManager(cdiBundle);
 
                assertNotNull(beanManager);
 
@@ -46,8 +45,8 @@ public class EventsTests extends Abstrac
                Object bcb = beanManager.getReference(bean, Object.class, ctx);
                assertNotNull(bcb);
                @SuppressWarnings("unchecked")
-               BeanService<List<CdiEvent>> bti = 
(BeanService<List<CdiEvent>>)bcb;
-               List<CdiEvent> list = bti.get();
+               BeanService<List<Object>> bti = (BeanService<List<Object>>)bcb;
+               List<Object> list = bti.get();
                assertNotNull(list);
                assertEquals(1, list.size());
        }

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
 Sat Apr 14 01:09:09 2018
@@ -14,22 +14,19 @@
 
 package org.apache.aries.cdi.test.cases;
 
-import java.util.Collection;
 import java.util.Hashtable;
 import java.util.List;
 
 import javax.enterprise.inject.spi.BeanManager;
 import javax.naming.InitialContext;
 
+import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleEvent;
-import org.osgi.framework.ServiceReference;
 import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.BundleWiring;
 import org.osgi.resource.Capability;
-import org.osgi.service.cdi.CdiConstants;
-import org.osgi.service.cdi.CdiContainer;
-import org.osgi.service.cdi.CdiEvent;
+import org.osgi.service.cdi.PortableExtensionNamespace;
 import org.osgi.service.jndi.JNDIConstants;
 import org.osgi.util.tracker.BundleTracker;
 import org.osgi.util.tracker.BundleTrackerCustomizer;
@@ -39,7 +36,7 @@ public class JndiExtensionTests extends
        @Override
        protected void setUp() throws Exception {
                super.setUp();
-               cdiContainer = waitForCdiContainer(cdiBundle.getBundleId());
+               containerDTO = getContainerDTO(cdiBundle);
        }
 
        public void testGetBeanManagerThroughJNDI() throws Exception {
@@ -50,7 +47,7 @@ public class JndiExtensionTests extends
                BeanManager beanManager = 
(BeanManager)context.lookup("java:comp/BeanManager");
 
                assertNotNull(beanManager);
-               assertPojoExists(beanManager);
+               assertBeanExists(Pojo.class, beanManager);
        }
 
        public void testDisableExtensionAndCDIContainerWaits() throws Exception 
{
@@ -60,7 +57,7 @@ public class JndiExtensionTests extends
                                @Override
                                public Bundle addingBundle(Bundle bundle, 
BundleEvent arg1) {
                                        List<BundleCapability> capabilities = 
bundle.adapt(
-                                               
BundleWiring.class).getCapabilities(CdiConstants.CDI_EXTENSION_NAMESPACE);
+                                               
BundleWiring.class).getCapabilities(PortableExtensionNamespace.CDI_EXTENSION_NAMESPACE);
 
                                        if (capabilities.isEmpty()) {
                                                return null;
@@ -91,33 +88,15 @@ public class JndiExtensionTests extends
 
                Bundle extensionBundle = bt.getBundles()[0];
 
-               Collection<ServiceReference<CdiContainer>> serviceReferences = 
bundleContext.getServiceReferences(
-                       CdiContainer.class, "(&(objectClass=" + 
CdiContainer.class.getName() + ")(service.bundleid=" +
-                               cdiBundle.getBundleId() + "))");
-
-               assertNotNull(serviceReferences);
-               assertFalse(serviceReferences.isEmpty());
-
-               ServiceReference<CdiContainer> serviceReference = 
serviceReferences.iterator().next();
-
-               CdiEvent.Type state = 
(CdiEvent.Type)serviceReference.getProperty(
-                       CdiConstants.CDI_CONTAINER_STATE);
-
-               assertEquals(CdiEvent.Type.CREATED, state);
+               // TODO Check that everything is ok...
 
                extensionBundle.stop();
 
-               state = (CdiEvent.Type)serviceReference.getProperty(
-                       CdiConstants.CDI_CONTAINER_STATE);
-
-               assertEquals(CdiEvent.Type.WAITING_FOR_EXTENSIONS, state);
+               // TODO check that CDI bundles dependent on the extension are 
not not OK
 
                extensionBundle.start();
 
-               state = (CdiEvent.Type)serviceReference.getProperty(
-                       CdiConstants.CDI_CONTAINER_STATE);
-
-               assertEquals(CdiEvent.Type.CREATED, state);
+               // TODO check that they are ok again!
        }
 
 }
\ No newline at end of file

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java
 Sat Apr 14 01:09:09 2018
@@ -24,7 +24,6 @@ import javax.enterprise.util.TypeLiteral
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.apache.aries.cdi.test.interfaces.Pojo;
 import org.osgi.framework.Bundle;
-import org.osgi.service.cdi.CdiContainer;
 import org.osgi.util.tracker.ServiceTracker;
 
 public class OSGiBeanDescriptorTests extends AbstractTestCase {
@@ -50,10 +49,8 @@ public class OSGiBeanDescriptorTests ext
                Bundle tb1Bundle = installBundle("tb1.jar");
                Bundle tb2Bundle = installBundle("tb2.jar");
 
-               CdiContainer cdiContainer = 
waitForCdiContainer(tb1Bundle.getBundleId());
-
                try {
-                       BeanManager beanManager = cdiContainer.getBeanManager();
+                       BeanManager beanManager = getBeanManager(tb1Bundle);
                        Set<Bean<?>> beans = beanManager.getBeans("beanimpl");
                        Bean<?> bean = beanManager.resolve(beans);
                        CreationalContext<?> ctx = 
beanManager.createCreationalContext(bean);

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanA.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanA.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanA.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanA.java
 Sat Apr 14 01:09:09 2018
@@ -14,22 +14,32 @@
 
 package org.apache.aries.cdi.test.tb3;
 
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
 import java.util.concurrent.Callable;
 
 import javax.inject.Inject;
+import javax.inject.Qualifier;
 
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Configuration;
-import org.osgi.service.cdi.annotations.ConfigurationPolicy;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.PID;
+import org.osgi.service.cdi.annotations.PID.Policy;
 
-@Component(
-       property = "bean=A",
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@PID(policy = Policy.REQUIRED)
+@ConfigurationBeanA.Props
 public class ConfigurationBeanA implements BeanService<Callable<int[]>> {
 
+       @Qualifier @Retention(RUNTIME) @Target(TYPE )
+       public @interface Props {
+               String bean() default "A";
+       }
+
        @Override
        public String doSomething() {
                return config.color();
@@ -45,7 +55,7 @@ public class ConfigurationBeanA implemen
                };
        }
 
-       @Configuration(configurationPolicy = ConfigurationPolicy.REQUIRE)
+       @Configuration
        @Inject
        Config config;
 

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanB.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanB.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanB.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb3/ConfigurationBeanB.java
 Sat Apr 14 01:09:09 2018
@@ -14,23 +14,34 @@
 
 package org.apache.aries.cdi.test.tb3;
 
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
 import java.util.Map;
 import java.util.concurrent.Callable;
 
 import javax.inject.Inject;
+import javax.inject.Qualifier;
 
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Configuration;
-import org.osgi.service.cdi.annotations.ConfigurationPolicy;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.PID;
+import org.osgi.service.cdi.annotations.PID.Policy;
 
-@Component(
-       property = "bean=B",
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@PID(value = "org.apache.aries.cdi.test.tb3.ConfigurationBeanA", policy = 
Policy.REQUIRED)
+@PID(policy = Policy.REQUIRED)
+@ConfigurationBeanB.Props
 public class ConfigurationBeanB implements BeanService<Callable<int[]>> {
 
+       @Qualifier @Retention(RUNTIME) @Target(TYPE )
+       public @interface Props {
+               String bean() default "B";
+       }
+
        @Override
        public String doSomething() {
                return (String)config.get("color");
@@ -46,10 +57,7 @@ public class ConfigurationBeanB implemen
                };
        }
 
-       @Configuration(
-               configurationPolicy = ConfigurationPolicy.REQUIRE,
-               value = {"org.apache.aries.cdi.test.tb3.ConfigurationBeanA", 
"$"}
-       )
+       @Configuration
        @Inject
        Map<String, Object> config;
 

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb5/ConfigurationBeanC.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb5/ConfigurationBeanC.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb5/ConfigurationBeanC.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb5/ConfigurationBeanC.java
 Sat Apr 14 01:09:09 2018
@@ -14,19 +14,31 @@
 
 package org.apache.aries.cdi.test.tb5;
 
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
 import java.util.concurrent.Callable;
 
 import javax.inject.Inject;
+import javax.inject.Qualifier;
 
 import org.apache.aries.cdi.test.interfaces.BeanService;
 import org.osgi.service.cdi.annotations.Component;
 import org.osgi.service.cdi.annotations.Configuration;
-import org.osgi.service.cdi.annotations.ConfigurationPolicy;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import org.osgi.service.cdi.annotations.PID;
 
-@Component(property = "bean=C", scope = ServiceScope.SINGLETON)
+@Component
+@PID("foo.bar")
+@ConfigurationBeanC.Props
 public class ConfigurationBeanC implements BeanService<Callable<int[]>> {
 
+       @Qualifier @Retention(RUNTIME) @Target(TYPE )
+       public @interface Props {
+               String bean() default "C";
+       }
+
        @Override
        public String doSomething() {
                return config.color();
@@ -42,7 +54,7 @@ public class ConfigurationBeanC implemen
                };
        }
 
-       @Configuration(value = "foo.bar")
+       @Configuration
        @Inject
        Config config;
 

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java
 Sat Apr 14 01:09:09 2018
@@ -14,10 +14,16 @@
 
 package org.apache.aries.cdi.test.tb6;
 
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
 
 import javax.inject.Inject;
+import javax.inject.Qualifier;
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -25,19 +31,20 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
-import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       property = {
-               HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME + "=bar",
-               HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN + 
"=/bar"
-       },
-       service = Servlet.class,
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service(Servlet.class)
+@BarServlet.Props
 public class BarServlet extends HttpServlet {
 
+       @Qualifier @Retention(RUNTIME) @Target(TYPE )
+       public @interface Props {
+               String osgi_http_whiteboard_servlet_name() default "bar";
+               String osgi_http_whiteboard_servlet_pattern() default "/bar";
+
+       }
+
        private static final long serialVersionUID = 1L;
 
        @Override

Modified: 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java
 (original)
+++ 
aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java
 Sat Apr 14 01:09:09 2018
@@ -14,10 +14,16 @@
 
 package org.apache.aries.cdi.test.tb6;
 
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
 
 import javax.inject.Inject;
+import javax.inject.Qualifier;
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -25,19 +31,20 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
-import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
+import org.osgi.service.cdi.annotations.Service;
 
-@Component(
-       property = {
-               HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME + "=foo",
-               HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN + 
"=/foo"
-       },
-       service = Servlet.class,
-       scope = ServiceScope.SINGLETON
-)
+@Component
+@Service(Servlet.class)
+@FooServlet.Props
 public class FooServlet extends HttpServlet {
 
+       @Qualifier @Retention(RUNTIME) @Target(TYPE )
+       public @interface Props {
+               String osgi_http_whiteboard_servlet_name() default "foo";
+               String osgi_http_whiteboard_servlet_pattern() default "/foo";
+
+       }
+
        private static final long serialVersionUID = 1L;
 
        @Override


Reply via email to