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

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_TupleTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_TupleTest.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_TupleTest.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel_TupleTest.java Sat Apr 14 01:09:09 2018
@@ -15,6 +15,8 @@
 package org.apache.aries.cdi.container.internal.reference;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import java.lang.reflect.Type;
 import java.util.Collection;
@@ -26,11 +28,11 @@ import javax.enterprise.inject.Instance;
 import javax.enterprise.inject.spi.InjectionPoint;
 
 import org.apache.aries.cdi.container.internal.model.CollectionType;
-import org.apache.aries.cdi.container.internal.reference.ReferenceModel;
+import org.apache.aries.cdi.container.internal.util.Sets;
 import org.apache.aries.cdi.container.test.MockInjectionPoint;
 import org.apache.aries.cdi.container.test.beans.Foo;
 import org.junit.Test;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
+import org.osgi.service.cdi.annotations.Reference;
 import org.osgi.util.converter.TypeReference;
 
 public class ReferenceModel_TupleTest {
@@ -38,29 +40,31 @@ public class ReferenceModel_TupleTest {
 	@Test
 	public void withServiceType() throws Exception {
 		Type type = new TypeReference<
-			Map.Entry<Map<String, ?>, Callable<?>>
+			Map.Entry<Map<String, ?>, Integer>
 		>(){}.getType();
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(Map.Entry.class, referenceModel.getBeanClass());
-		assertEquals(Callable.class, referenceModel.getServiceClass());
+		assertEquals(Integer.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MANDATORY, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertFalse(referenceModel.optional());
+		assertTrue(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
 	@Test(expected = IllegalArgumentException.class)
 	public void withServiceType_wrongKeyType_A() throws Exception {
 		Type type = new TypeReference<
-			Map.Entry<?, Callable<?>>
+			Map.Entry<?, Integer>
 		>(){}.getType();
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -71,7 +75,7 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -83,7 +87,7 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -94,7 +98,7 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -105,7 +109,7 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -116,7 +120,7 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -128,23 +132,47 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void withServiceDefinedButGenericTuple() throws Exception {
+		Type type = new TypeReference<
+			Map.Entry<Map<String, ?>, ?>
+		>(){}.getType();
+
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
+
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void withServiceDefinedButNotAssignable() throws Exception {
+		Type type = new TypeReference<
+			Map.Entry<Map<String, ?>, String>
+		>(){}.getType();
+
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
+
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test
 	public void withServiceDefined() throws Exception {
 		Type type = new TypeReference<
-			Map.Entry<Map<String, ?>, ?>
+			Map.Entry<Map<String, ?>, Number>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(Map.Entry.class, referenceModel.getBeanClass());
-		assertEquals(Callable.class, referenceModel.getServiceClass());
+		assertEquals(Integer.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MANDATORY, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertFalse(referenceModel.optional());
+		assertTrue(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
@@ -157,23 +185,25 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test
 	public void collectionWithServiceDefined() throws Exception {
 		Type type = new TypeReference<
-			Collection<Map.Entry<Map<String, ?>, ?>>
+			Collection<Map.Entry<Map<String, ?>, Number>>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(Collection.class, referenceModel.getBeanClass());
-		assertEquals(Callable.class, referenceModel.getServiceClass());
+		assertEquals(Integer.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MULTIPLE, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertTrue(referenceModel.optional());
+		assertFalse(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
@@ -186,23 +216,25 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test
 	public void listWithServiceDefined() throws Exception {
 		Type type = new TypeReference<
-			List<Map.Entry<Map<String, ?>, ?>>
+			List<Map.Entry<Map<String, ?>, Number>>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(List.class, referenceModel.getBeanClass());
-		assertEquals(Callable.class, referenceModel.getServiceClass());
+		assertEquals(Integer.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MULTIPLE, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertTrue(referenceModel.optional());
+		assertFalse(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
@@ -215,27 +247,18 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
-	@Test
+	@Test(expected = IllegalArgumentException.class)
 	public void instanceWithServiceDefined() throws Exception {
 		Type type = new TypeReference<
-			Instance<Map.Entry<Map<String, ?>, ?>>
-		>(){}.getType();
-		Type injectionPointType = new TypeReference<
-			Map.Entry<Map<String, ?>, ?>
+			Instance<Map.Entry<Map<String, ?>, Number>>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
-
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		assertEquals(Map.Entry.class, referenceModel.getBeanClass());
-		assertEquals(Callable.class, referenceModel.getServiceClass());
-		assertEquals(injectionPointType, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MULTIPLE, referenceModel.getCardinality());
-		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	///////////////////////////////////////////////////////////////////////////////
@@ -248,12 +271,14 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(Map.Entry.class, referenceModel.getBeanClass());
-		assertEquals(Foo.class, referenceModel.getServiceClass());
+		assertEquals(Foo.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MANDATORY, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertFalse(referenceModel.optional());
+		assertTrue(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
@@ -263,9 +288,9 @@ public class ReferenceModel_TupleTest {
 			Map.Entry<Map<String, Object>, Foo>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test
@@ -276,12 +301,14 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(Collection.class, referenceModel.getBeanClass());
-		assertEquals(Foo.class, referenceModel.getServiceClass());
+		assertEquals(Foo.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MULTIPLE, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertTrue(referenceModel.optional());
+		assertFalse(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
@@ -291,9 +318,9 @@ public class ReferenceModel_TupleTest {
 			Collection<Map.Entry<Map<String, Object>, Foo>>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test
@@ -304,12 +331,14 @@ public class ReferenceModel_TupleTest {
 
 		InjectionPoint injectionPoint = new MockInjectionPoint(type);
 
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
+		ReferenceModel referenceModel = new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 
 		assertEquals(List.class, referenceModel.getBeanClass());
-		assertEquals(Foo.class, referenceModel.getServiceClass());
+		assertEquals(Foo.class, referenceModel.getServiceType());
 		assertEquals(type, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MULTIPLE, referenceModel.getCardinality());
+		assertFalse(referenceModel.dynamic());
+		assertTrue(referenceModel.optional());
+		assertFalse(referenceModel.unary());
 		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
 	}
 
@@ -319,29 +348,9 @@ public class ReferenceModel_TupleTest {
 			List<Map.Entry<Map<String, Object>, Foo>>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
-	}
-
-	@Test
-	public void typed_instanceWithoutServiceDefined() throws Exception {
-		Type type = new TypeReference<
-			Instance<Map.Entry<Map<String, Object>, Foo>>
-		>(){}.getType();
-		Type injectionPointType = new TypeReference<
-			Map.Entry<Map<String, Object>, Foo>
-		>(){}.getType();
-
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
-
-		ReferenceModel referenceModel = new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).build();
-
-		assertEquals(Map.Entry.class, referenceModel.getBeanClass());
-		assertEquals(Foo.class, referenceModel.getServiceClass());
-		assertEquals(injectionPointType, referenceModel.getInjectionPointType());
-		assertEquals(ReferenceCardinality.MULTIPLE, referenceModel.getCardinality());
-		assertEquals(CollectionType.TUPLE, referenceModel.getCollectionType());
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
 
 	@Test(expected = IllegalArgumentException.class)
@@ -350,9 +359,8 @@ public class ReferenceModel_TupleTest {
 			Instance<Map.Entry<Map<String, Object>, Foo>>
 		>(){}.getType();
 
-		InjectionPoint injectionPoint = new MockInjectionPoint(type);
+		InjectionPoint injectionPoint = new MockInjectionPoint(type, Sets.hashSet(Reference.Literal.of(Integer.class, "")));
 
-		new ReferenceModel.Builder(injectionPoint.getQualifiers()).annotated(injectionPoint.getAnnotated()).service(Callable.class).build();
+		new ReferenceModel.Builder().injectionPoint(injectionPoint).build();
 	}
-
 }
\ No newline at end of file

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java Sat Apr 14 01:09:09 2018
@@ -18,13 +18,13 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
+import javax.enterprise.inject.Any;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.Extension;
 
 import org.apache.aries.cdi.container.internal.container.ContainerDeployment;
 import org.apache.aries.cdi.container.internal.container.ContainerEnvironment;
-import org.apache.aries.cdi.container.internal.literal.AnyLiteral;
 import org.jboss.weld.bootstrap.WeldBootstrap;
 import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.weld.bootstrap.spi.Deployment;
@@ -63,7 +63,7 @@ public class MockCdiContainer implements
 		final BeanManager managerImpl = getBeanManager();
 
 		Set<javax.enterprise.inject.spi.Bean<?>> beans =
-			managerImpl.getBeans(clazz, AnyLiteral.INSTANCE);
+			managerImpl.getBeans(clazz, Any.Literal.INSTANCE);
 
 		Assert.assertFalse(beans.isEmpty());
 

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainerAndComponents.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainerAndComponents.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainerAndComponents.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainerAndComponents.java Sat Apr 14 01:09:09 2018
@@ -14,13 +14,13 @@
 
 package org.apache.aries.cdi.container.test;
 
-import static org.apache.aries.cdi.container.test.TestUtil.*;
+import static org.apache.aries.cdi.container.test.TestUtil.getContainerState;
 
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.aries.cdi.container.internal.component.ComponentModel;
+import org.apache.aries.cdi.container.internal.component.OSGiBean;
 import org.apache.aries.cdi.container.internal.container.ContainerDiscovery;
 import org.apache.aries.cdi.container.internal.container.ContainerState;
 import org.apache.aries.cdi.container.internal.model.BeansModel;
@@ -30,15 +30,15 @@ import org.apache.aries.cdi.container.in
 public class MockCdiContainerAndComponents implements AutoCloseable {
 
 	public MockCdiContainerAndComponents(String name, String... beanClasses) throws Exception {
-		Map<String, ComponentModel> components = new HashMap<>();
+		Map<String, OSGiBean> beans = new HashMap<>();
 
 		for (String className : beanClasses) {
 			Class<?> clazz = Class.forName(className);
 
-			components.put(className, new ComponentModel.Builder(clazz).build());
+			beans.put(className, new OSGiBean.Builder(clazz).build());
 		}
 
-		_beansModel = new BeansModel(components, Collections.emptyList());
+		_beansModel = new BeansModel(beans, Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
 
 		_containerState = getContainerState(_beansModel);
 

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java Sat Apr 14 01:09:09 2018
@@ -19,6 +19,7 @@ import java.lang.reflect.Member;
 import java.lang.reflect.Type;
 import java.util.Collections;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import javax.enterprise.inject.spi.Annotated;
 import javax.enterprise.inject.spi.Bean;
@@ -31,6 +32,13 @@ public class MockInjectionPoint implemen
 	public MockInjectionPoint(Type type) {
 		_type = type;
 		_annotated = new MockAnnotated(_type);
+		_qualifiers = Collections.emptySet();
+	}
+
+	public MockInjectionPoint(Type type, Set<Annotation> qualifiers) {
+		_type = type;
+		_annotated = new MockAnnotated(_type);
+		_qualifiers = qualifiers;
 	}
 
 	@Override
@@ -40,7 +48,7 @@ public class MockInjectionPoint implemen
 
 	@Override
 	public Set<Annotation> getQualifiers() {
-		return Collections.emptySet();
+		return _qualifiers;
 	}
 
 	@Override
@@ -75,26 +83,33 @@ public class MockInjectionPoint implemen
 
 	private final Type _type;
 	private final Annotated _annotated;
+	private final Set<Annotation> _qualifiers;
 
-	private static class MockAnnotated implements Annotated {
+	private class MockAnnotated implements Annotated {
 
 		public MockAnnotated(Type service) {
 			_service = service;
 		}
 
+		@SuppressWarnings("unchecked")
 		@Override
 		public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
-			return null;
+			return _qualifiers.stream().filter(
+				ann -> ann.annotationType().equals(annotationType)
+			).map(ann -> (T)ann).findFirst().orElse(null);
 		}
 
 		@Override
 		public Set<Annotation> getAnnotations() {
-			return Collections.emptySet();
+			return _qualifiers;
 		}
 
+		@SuppressWarnings("unchecked")
 		@Override
 		public <T extends Annotation> Set<T> getAnnotations(Class<T> annotationType) {
-			return null;
+			return _qualifiers.stream().filter(
+				ann -> ann.annotationType().equals(annotationType)
+			).map(ann -> (T)ann).collect(Collectors.toSet());
 		}
 
 		@Override
@@ -104,12 +119,14 @@ public class MockInjectionPoint implemen
 
 		@Override
 		public Set<Type> getTypeClosure() {
-			return Sets.hashSet(_service);
+			return Sets.hashSet(_service, Object.class);
 		}
 
 		@Override
 		public boolean isAnnotationPresent(Class<? extends Annotation> annotationType) {
-			return false;
+			return _qualifiers.stream().filter(
+				ann -> ann.annotationType().equals(annotationType)
+			).findFirst().isPresent();
 		}
 
 		private final Type _service;

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/TestUtil.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/TestUtil.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/TestUtil.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/TestUtil.java Sat Apr 14 01:09:09 2018
@@ -27,7 +27,6 @@ import java.util.concurrent.ConcurrentHa
 
 import javax.enterprise.inject.spi.BeanManager;
 
-import org.apache.aries.cdi.container.internal.configuration.ConfigurationCallback;
 import org.apache.aries.cdi.container.internal.container.ContainerState;
 import org.apache.aries.cdi.container.internal.model.AbstractModelBuilder;
 import org.apache.aries.cdi.container.internal.model.BeansModel;
@@ -40,23 +39,19 @@ import org.jboss.weld.serialization.spi.
 import org.osgi.framework.ServiceObjects;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cdi.CdiConstants;
-import org.osgi.service.cdi.annotations.ConfigurationPolicy;
 import org.osgi.service.cm.ManagedService;
 import org.osgi.util.tracker.ServiceTrackerCustomizer;
 
 public class TestUtil {
 
-	public static ConfigurationCallback getCallback(ConfigurationPolicy policy) {
-		return new ConfigurationCallback.Builder().policy(policy).build();
-	}
-
 	public static AbstractModelBuilder getModelBuilder(final String osgiBeansFile) {
 		return getModelBuilder(
 			Arrays.asList(
-				"OSGI-INF/cdi/beans-configuration.xml",
-				"OSGI-INF/cdi/beans-only.xml",
-				"OSGI-INF/cdi/beans-references.xml",
-				"OSGI-INF/cdi/beans-services.xml"
+				"OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.Bar.xml",
+				"OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarAnnotated.xml",
+				"OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.BarBadlyAnnotated.xml",
+				"OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooAnnotated.xml",
+				"OSGI-INF/cdi/org.apache.aries.cdi.container.test.beans.FooService.xml"
 			),  osgiBeansFile);
 	}
 
@@ -92,7 +87,7 @@ public class TestUtil {
 		};
 	}
 
-	public static <T> Collection<T> sort(Collection<T> set) {
+	public static <T extends Comparable<T>> Collection<T> sort(Collection<T> set) {
 		return sort(set, (c1, c2) -> c1.getClass().getName().compareTo(c2.getClass().getName()));
 	}
 
@@ -118,6 +113,7 @@ public class TestUtil {
 				return beansModel;
 			}
 
+			@Override
 			public <T extends ResourceLoader & ProxyServices> T loader() {
 				return null;
 			}

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ArrayListFooProducer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ArrayListFooProducer.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ArrayListFooProducer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ArrayListFooProducer.java Sat Apr 14 01:09:09 2018
@@ -18,11 +18,8 @@ import java.util.ArrayList;
 
 import javax.enterprise.inject.Produces;
 
-import org.osgi.service.cdi.annotations.Reference;
-
 public class ArrayListFooProducer {
 	@Produces
-	@Reference
 	public ArrayList<Foo> getFoo() {
 		ArrayList<Foo> al = new ArrayList<>();
 		al.add(new Foo() {});

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarAnnotated.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarAnnotated.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarAnnotated.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarAnnotated.java Sat Apr 14 01:09:09 2018
@@ -16,46 +16,52 @@ package org.apache.aries.cdi.container.t
 
 import java.util.Collection;
 import java.util.Map;
+import java.util.Optional;
 
 import javax.enterprise.inject.Instance;
 import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Provider;
 
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cdi.annotations.Configuration;
+import org.osgi.service.cdi.annotations.Greedy;
+import org.osgi.service.cdi.annotations.PID;
+import org.osgi.service.cdi.annotations.Prototype;
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
-import org.osgi.service.cdi.annotations.ReferencePolicy;
-import org.osgi.service.cdi.annotations.ReferencePolicyOption;
-import org.osgi.service.cdi.annotations.ReferenceScope;
 
 public class BarAnnotated {
 
 	@Inject
-	@Reference(cardinality = ReferenceCardinality.OPTIONAL)
-	Foo foo;
+	@Reference
+	Optional<Foo> foo;
 
 	@Inject
-	@Reference(name = "foos")
+	@Named("foos")
+	@Reference
 	Instance<Foo> instanceFoos;
 
 	@Inject
-	@Reference(policy = ReferencePolicy.DYNAMIC)
-	Collection<Foo> collectionFoos;
+	@Reference
+	Provider<Collection<Foo>> collectionFoos;
 
 	@Inject
-	@Reference(policyOption = ReferencePolicyOption.GREEDY)
+	@Greedy
+	@Reference
 	Collection<Map.Entry<Map<String, Object>, Foo>> tupleFoos;
 
 	@Inject
-	@Reference(scope = ReferenceScope.PROTOTYPE)
+	@Prototype
+	@Reference
 	Collection<ServiceReference<Foo>> serviceReferencesFoos;
 
 	@Inject
-	@Reference(service = Foo.class)
+	@Reference(Foo.class)
 	Collection<Map<String, Object>> propertiesFoos;
 
 	@Inject
-	@Configuration("foo.config")
+	@PID("foo.config")
+	@Configuration
 	Config config;
 
 }

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarProducer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarProducer.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarProducer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/BarProducer.java Sat Apr 14 01:09:09 2018
@@ -16,11 +16,8 @@ package org.apache.aries.cdi.container.t
 
 import javax.enterprise.inject.Produces;
 
-import org.osgi.service.cdi.annotations.Reference;
-
 public class BarProducer {
 	@Produces
-	@Reference
 	public Bar getBar() {
 		return new Bar() {};
 	}

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CollectionFooProducer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CollectionFooProducer.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CollectionFooProducer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CollectionFooProducer.java Sat Apr 14 01:09:09 2018
@@ -19,11 +19,8 @@ import java.util.Collection;
 
 import javax.enterprise.inject.Produces;
 
-import org.osgi.service.cdi.annotations.Reference;
-
 public class CollectionFooProducer {
 	@Produces
-	@Reference
 	public Collection<Foo> getFoo() {
 		return Arrays.asList(new Foo() {});
 	}

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooAnnotated.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooAnnotated.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooAnnotated.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooAnnotated.java Sat Apr 14 01:09:09 2018
@@ -14,14 +14,26 @@
 
 package org.apache.aries.cdi.container.test.beans;
 
-import org.osgi.service.cdi.annotations.Component;
-import org.osgi.service.cdi.annotations.ServiceScope;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
-@Component(
-	name = "foo.annotated",
-	property = {"service.ranking:Integer=12"},
-	service = Foo.class,
-	scope = ServiceScope.SINGLETON
-)
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Named;
+import javax.inject.Qualifier;
+
+import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
+
+@Qualifier @Retention(RUNTIME) @Target(TYPE)
+@interface ServiceRanking {
+	int value();
+}
+
+@SingleComponent
+@Named("foo.annotated")
+@Service(Foo.class)
+@ServiceRanking(12)
 public class FooAnnotated implements Foo, Cloneable {
 }

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooProducer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooProducer.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooProducer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/FooProducer.java Sat Apr 14 01:09:09 2018
@@ -18,11 +18,8 @@ import java.util.Objects;
 
 import javax.enterprise.inject.Produces;
 
-import org.osgi.service.cdi.annotations.Reference;
-
 public class FooProducer {
 	@Produces
-	@Reference
 	public Foo getFoo() {
 		return new Foo() {
 			@Override

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ListFooProducer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ListFooProducer.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ListFooProducer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ListFooProducer.java Sat Apr 14 01:09:09 2018
@@ -19,11 +19,8 @@ import java.util.List;
 
 import javax.enterprise.inject.Produces;
 
-import org.osgi.service.cdi.annotations.Reference;
-
 public class ListFooProducer {
 	@Produces
-	@Reference
 	public List<Foo> getFoo() {
 		return Arrays.asList(new Foo() {});
 	}

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/MethodBindFooNamed.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/MethodBindFooNamed.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/MethodBindFooNamed.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/MethodBindFooNamed.java Sat Apr 14 01:09:09 2018
@@ -15,10 +15,11 @@
 package org.apache.aries.cdi.container.test.beans;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.osgi.service.cdi.annotations.Reference;
 
 public class MethodBindFooNamed {
 	@Inject
-	public void bindFoo(@Reference(name = "_foo_") Foo foo) {}
+	public void bindFoo(@Reference @Named("_foo_") Foo foo) {}
 }
\ No newline at end of file

Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ObserverFoo.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ObserverFoo.java?rev=1829114&r1=1829113&r2=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ObserverFoo.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ObserverFoo.java Sat Apr 14 01:09:09 2018
@@ -22,8 +22,7 @@ import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.EventMetadata;
 
 import org.osgi.service.cdi.annotations.Reference;
-import org.osgi.service.cdi.annotations.ReferenceCardinality;
-import org.osgi.service.cdi.annotations.ServiceEvent;
+import org.osgi.service.cdi.reference.ReferenceEvent;
 
 @ApplicationScoped
 public class ObserverFoo {
@@ -33,21 +32,21 @@ public class ObserverFoo {
 	}
 
 	void foos(
-		@Observes
-		@Reference(cardinality = ReferenceCardinality.MULTIPLE)
-		ServiceEvent<Foo> event,
+		@Observes @Reference ReferenceEvent<Foo> event,
 		EventMetadata eventMetadata) {
 
-		event.adding(
+		event.onAdding(
 			foo -> {
 				System.out.printf("Adding %s, %s%n", foo, eventMetadata);
 				_foos.add(foo);
 			}
-		).modified(
+		);
+		event.onUpdate(
 			foo -> {
 				System.out.printf("Modified %s, %s%n", foo, eventMetadata);
 			}
-		).removed(
+		);
+		event.onRemove(
 			foo -> {
 				System.out.printf("Removed %s, %s%n", foo, eventMetadata);
 				_foos.remove(foo);

Added: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ReferenceEventImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ReferenceEventImpl.java?rev=1829114&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ReferenceEventImpl.java (added)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ReferenceEventImpl.java Sat Apr 14 01:09:09 2018
@@ -0,0 +1,150 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.aries.cdi.container.test.beans;
+
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.function.Consumer;
+
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.cdi.reference.ReferenceEvent;
+import org.osgi.service.cdi.reference.ReferenceServiceObjects;
+
+public class ReferenceEventImpl<T> implements ReferenceEvent<T> {
+
+	enum Event { ADDING, MODIFIED, REMOVED }
+	private final T _t;
+	private final ReferenceEventImpl.Event _event;
+
+	public ReferenceEventImpl(T t, ReferenceEventImpl.Event event) {
+		_t = t;
+		_event = event;
+	}
+
+	@Override
+	public void onAdding(Consumer<T> action) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onAddingServiceReference(Consumer<ServiceReference<T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onAddingServiceObjects(Consumer<ReferenceServiceObjects<T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onAddingProperties(Consumer<Map<String, ?>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onAddingTuple(Consumer<Entry<Map<String, ?>, T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onUpdate(Consumer<T> action) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onUpdateServiceReference(Consumer<ServiceReference<T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onUpdateServiceObjects(Consumer<ReferenceServiceObjects<T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onUpdateProperties(Consumer<Map<String, ?>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onUpdateTuple(Consumer<Entry<Map<String, ?>, T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onRemove(Consumer<T> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onRemoveServiceReference(Consumer<ServiceReference<T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onRemoveServiceObjects(Consumer<ReferenceServiceObjects<T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onRemoveProperties(Consumer<Map<String, ?>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onRemoveTuple(Consumer<Entry<Map<String, ?>, T>> consumer) {
+		// TODO Auto-generated method stub
+		
+	}
+
+/*	@Override
+	public ServiceEvent<T> adding(Consumer<T> consumer) {
+		if (_event == Event.ADDING) {
+			consumer.accept(_t);
+		};
+		return this;
+	}
+
+	@Override
+	public ServiceEvent<T> modified(Consumer<T> consumer) {
+		if (_event == Event.MODIFIED) {
+			consumer.accept(_t);
+		}
+		return this;
+	}
+
+	@Override
+	public ServiceEvent<T> removed(Consumer<T> consumer) {
+		if (_event == Event.REMOVED) {
+			consumer.accept(_t);
+		}
+		return this;
+	}
+*/
+}
\ No newline at end of file

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

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

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

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

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/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/ctordynamicgreedy/CtorFooOptional.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/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/ctordynamicgreedy/CtorFooOptional.java Sat Apr 14 01:09:09 2018
@@ -12,14 +12,18 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctordynamicgreedy;
+
+import java.util.Optional;
 
 import javax.inject.Inject;
+import javax.inject.Provider;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 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(@Greedy @Reference Provider<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/ctordynamicgreedy/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/ctordynamicgreedy/CtorListFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicgreedy/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/ctordynamicgreedy/CtorListFoo.java Sat Apr 14 01:09:09 2018
@@ -12,15 +12,18 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctordynamicgreedy;
 
 import java.util.List;
 
 import javax.inject.Inject;
+import javax.inject.Provider;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorListFoo {
 	@Inject
-	public CtorListFoo(@Reference List<Foo> foos) {}
+	public CtorListFoo(@Greedy @Reference Provider<List<Foo>> foos) {}
 }
\ No newline at end of file

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

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

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

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

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/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/ctordynamicreluctant/CtorFooOptional.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/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/ctordynamicreluctant/CtorFooOptional.java Sat Apr 14 01:09:09 2018
@@ -12,14 +12,17 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctordynamicreluctant;
+
+import java.util.Optional;
 
 import javax.inject.Inject;
+import javax.inject.Provider;
 
+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 Provider<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/ctordynamicreluctant/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/ctordynamicreluctant/CtorListFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctordynamicreluctant/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/ctordynamicreluctant/CtorListFoo.java Sat Apr 14 01:09:09 2018
@@ -12,15 +12,17 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctordynamicreluctant;
 
 import java.util.List;
 
 import javax.inject.Inject;
+import javax.inject.Provider;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorListFoo {
 	@Inject
-	public CtorListFoo(@Reference List<Foo> foos) {}
+	public CtorListFoo(@Reference Provider<List<Foo>> foos) {}
 }
\ No newline at end of file

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

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFoo.java (from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFoo.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFoo.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.ctorstaticgreedy;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFoo {
 	@Inject
-	public CtorFoo(@Reference Foo foo) {}
+	public CtorFoo(@Greedy @Reference Foo foo) {}
 }
\ No newline at end of file

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

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooFoo.java (from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooFoo.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/CtorFooFoo.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.ctorstaticgreedy;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFooFoo {
 	@Inject
-	public CtorFooFoo(@Reference Foo foo_a, @Reference Foo foo_b) {}
+	public CtorFooFoo(@Greedy @Reference Foo foo_a, @Greedy @Reference 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/ctorstaticgreedy/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/ctorstaticgreedy/CtorFooFooNamed.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/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/ctorstaticgreedy/CtorFooFooNamed.java Sat Apr 14 01:09:09 2018
@@ -12,13 +12,16 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticgreedy;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 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(@Greedy @Reference @Named("foo_a") Foo foo_a, @Greedy @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/ctorstaticgreedy/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/ctorstaticgreedy/CtorFooNamed.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/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/ctorstaticgreedy/CtorFooNamed.java Sat Apr 14 01:09:09 2018
@@ -12,13 +12,16 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticgreedy;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFooNamed {
 	@Inject
-	public CtorFooNamed(@Reference(name = "_foo_") Foo foo) {}
+	public CtorFooNamed(@Greedy @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/ctorstaticgreedy/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/ctorstaticgreedy/CtorFooOptional.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/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/ctorstaticgreedy/CtorFooOptional.java Sat Apr 14 01:09:09 2018
@@ -12,14 +12,17 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticgreedy;
+
+import java.util.Optional;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 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(@Greedy @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/ctorstaticgreedy/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/ctorstaticgreedy/CtorListFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticgreedy/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/ctorstaticgreedy/CtorListFoo.java Sat Apr 14 01:09:09 2018
@@ -12,15 +12,17 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.test.beans;
+package org.apache.aries.cdi.container.test.beans.ctorstaticgreedy;
 
 import java.util.List;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
+import org.osgi.service.cdi.annotations.Greedy;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorListFoo {
 	@Inject
-	public CtorListFoo(@Reference List<Foo> foos) {}
+	public CtorListFoo(@Greedy @Reference List<Foo> foos) {}
 }
\ No newline at end of file

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorCollectionFoo.java (from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorCollectionFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorCollectionFoo.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorCollectionFoo.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorCollectionFoo.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.Collection;
 
 import javax.inject.Inject;
 
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorCollectionFoo {

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFoo.java (from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFoo.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFoo.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFoo.java Sat Apr 14 01:09:09 2018
@@ -12,10 +12,11 @@
  * 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 org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFoo {

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooBar.java (from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooBar.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooBar.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooBar.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooBar.java Sat Apr 14 01:09:09 2018
@@ -12,10 +12,12 @@
  * 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 org.apache.aries.cdi.container.test.beans.Bar;
+import org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFooBar {

Copied: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFoo.java (from r1828903, aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java)
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFoo.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFoo.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java&r1=1828903&r2=1829114&rev=1829114&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/CtorFooFoo.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/beans/ctorstaticreluctant/CtorFooFoo.java Sat Apr 14 01:09:09 2018
@@ -12,10 +12,11 @@
  * 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 org.apache.aries.cdi.container.test.beans.Foo;
 import org.osgi.service.cdi.annotations.Reference;
 
 public class CtorFooFoo {