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 [6/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...

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