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 {


Reply via email to