Modified: 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Throw.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Throw.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Throw.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Throw.java
 Sat Apr 14 01:10:27 2018
@@ -14,6 +14,9 @@
 
 package org.apache.aries.cdi.container.internal.util;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
 public class Throw {
 
        private Throw() {
@@ -29,4 +32,10 @@ public class Throw {
                throw (E)throwable;
        }
 
+       public static String asString(Throwable t) {
+               StringWriter sw = new StringWriter();
+               t.printStackTrace(new PrintWriter(sw));
+               return sw.toString();
+       }
+
 }
\ No newline at end of file

Modified: 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java
 Sat Apr 14 01:10:27 2018
@@ -14,115 +14,122 @@
 
 package org.apache.aries.cdi.container.internal.util;
 
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.AnnotatedType;
 
-import javax.enterprise.inject.spi.InjectionPoint;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.osgi.service.cdi.annotations.Service;
 
 public class Types {
 
-       public static String getName(InjectionPoint injectionPoint) {
-               return getName(injectionPoint.getType());
+       private Types() {
+               // no instances
        }
 
-       public static String getName(Type type) {
-               if (type instanceof ParameterizedType) {
-                       ParameterizedType pt = (ParameterizedType)type;
+       public static List<Class<?>> collectServiceTypes(Annotated annotated) {
+               List<Class<?>> serviceTypes = new ArrayList<>();
 
-                       Type rawType = pt.getRawType();
+               List<java.lang.reflect.AnnotatedType> ats = new ArrayList<>();
 
-                       if (rawType instanceof Class) {
-                               Class<?> clazz = (Class<?>)rawType;
+               if (annotated instanceof AnnotatedType) {
+                       Class<?> annotatedClass = 
((AnnotatedType<?>)annotated).getJavaClass();
+                       
Optional.ofNullable(annotatedClass.getAnnotatedSuperclass()).ifPresent(at -> 
ats.add(at));
+                       
ats.addAll(Arrays.asList(annotatedClass.getAnnotatedInterfaces()));
+
+                       for (java.lang.reflect.AnnotatedType at : ats) {
+                               
Optional.ofNullable(at.getAnnotation(Service.class)).ifPresent(
+                                       service -> {
+                                               if (service.value().length > 0) 
{
+                                                       throw new 
IllegalArgumentException(
+                                                               String.format(
+                                                                       
"@Service on type_use must not specify a value: %s",
+                                                                       
annotatedClass));
+                                               }
+
+                                               Type type = at.getType();
+
+                                               if (!(type instanceof Class)) {
+                                                       throw new 
IllegalArgumentException(
+                                                               String.format(
+                                                                       
"@Service on type_use must only be specified on non-generic types: %s",
+                                                                       
annotatedClass));
+                                               }
 
-                               return clazz.getSimpleName();
-                       }
-                       else {
-                               return rawType.getTypeName();
+                                               
serviceTypes.add((Class<?>)type);
+                                       }
+                               );
                        }
-               }
-               else if (type instanceof GenericArrayType) {
-                       GenericArrayType gat = (GenericArrayType)type;
-
-                       Type genericComponentType = 
gat.getGenericComponentType();
 
-                       if (genericComponentType instanceof ParameterizedType) {
-                               ParameterizedType pt = 
(ParameterizedType)genericComponentType;
+                       Service service = 
annotated.getAnnotation(Service.class);
 
-                               Type rawType = pt.getRawType();
-
-                               if (rawType instanceof Class) {
-                                       Class<?> clazz = (Class<?>)rawType;
+                       if (service == null) {
+                               return serviceTypes;
+                       }
 
-                                       return clazz.getSimpleName();
-                               }
-                               else {
-                                       return rawType.getTypeName();
-                               }
+                       if (!serviceTypes.isEmpty()) {
+                               throw new IllegalArgumentException(
+                                       String.format(
+                                               "@Service must not be applied 
to type and type_use: %s",
+                                               annotated));
                        }
-                       else if (genericComponentType instanceof Class) {
-                               Class<?> clazz = (Class<?>)genericComponentType;
 
-                               return clazz.getSimpleName();
+                       if (service.value().length > 0) {
+                               
serviceTypes.addAll(Arrays.asList(service.value()));
+                       }
+                       else if (annotatedClass.getInterfaces().length > 0) {
+                               
serviceTypes.addAll(Arrays.asList(annotatedClass.getInterfaces()));
                        }
                        else {
-                               return genericComponentType.getTypeName();
+                               serviceTypes.add(annotatedClass);
                        }
                }
-               else if (type instanceof Class) {
-                       Class<?> clazz = (Class<?>)type;
+               else if (annotated instanceof AnnotatedMethod) {
+                       Service service = 
annotated.getAnnotation(Service.class);
 
-                       String simpleName = clazz.getSimpleName();
+                       if (service == null) {
+                               return serviceTypes;
+                       }
 
-                       char lowerCase = 
Character.toLowerCase(simpleName.charAt(0));
+                       Class<?> returnType = 
((AnnotatedMethod<?>)annotated).getJavaMember().getReturnType();
 
-                       return lowerCase + simpleName.substring(1, 
simpleName.length());
+                       if (service.value().length > 0) {
+                               
serviceTypes.addAll(Arrays.asList(service.value()));
+                       }
+                       else if (returnType.getInterfaces().length > 0) {
+                               
serviceTypes.addAll(Arrays.asList(returnType.getInterfaces()));
+                       }
+                       else {
+                               serviceTypes.add(returnType);
+                       }
                }
+               else if (annotated instanceof AnnotatedField) {
+                       Service service = 
annotated.getAnnotation(Service.class);
 
-               return type.getTypeName();
-       }
-
-/*     public static Class<?>[] types(
-               ComponentModel componentModel, Class<?> beanClass, ClassLoader 
classLoader) {
+                       if (service == null) {
+                               return serviceTypes;
+                       }
 
-               List<Class<?>> classes = new ArrayList<>();
+                       Class<?> fieldType = 
((AnnotatedField<?>)annotated).getJavaMember().getType();
 
-               if (!componentModel.isService()) {
-                       return new Class<?>[0];
-               }
-               else if (!componentModel.getProvides().isEmpty()) {
-                       for (String provide : componentModel.getProvides()) {
-                               try {
-                                       
classes.add(classLoader.loadClass(provide));
-                               }
-                               catch (ReflectiveOperationException roe) {
-                                       if (_log.isWarnEnabled()) {
-                                               _log.warn(
-                                                       "CDIe - component {} 
cannot load provided type {}. Skipping!",
-                                                       
componentModel.getBeanClass(), provide, roe);
-                                       }
-                               }
+                       if (service.value().length > 0) {
+                               
serviceTypes.addAll(Arrays.asList(service.value()));
                        }
-               }
-               else {
-                       Class<?>[] interfaces = beanClass.getInterfaces();
-
-                       if (interfaces.length > 0) {
-                               for (Class<?> iface : interfaces) {
-                                       classes.add(iface);
-                               }
+                       else if (fieldType.getInterfaces().length > 0) {
+                               
serviceTypes.addAll(Arrays.asList(fieldType.getInterfaces()));
                        }
                        else {
-                               classes.add(beanClass);
+                               serviceTypes.add(fieldType);
                        }
                }
 
-               return classes.toArray(new Class[0]);
+               return serviceTypes;
        }
-*/
-       public static final Logger _log = LoggerFactory.getLogger(Types.class);
 
 }
\ No newline at end of file

Modified: 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/CDIProvider.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/CDIProvider.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/CDIProvider.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/CDIProvider.java
 Sat Apr 14 01:10:27 2018
@@ -22,6 +22,14 @@ import javax.enterprise.inject.spi.BeanM
 import javax.enterprise.inject.spi.CDI;
 import javax.enterprise.util.TypeLiteral;
 
+import org.apache.aries.cdi.container.internal.util.Filters;
+import org.jboss.weld.exceptions.IllegalStateException;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleReference;
+import org.osgi.framework.Filter;
+import org.osgi.util.tracker.ServiceTracker;
+
 public class CDIProvider implements javax.enterprise.inject.spi.CDIProvider {
 
        private static class CdiExtenderCDI extends CDI<Object> {
@@ -38,7 +46,33 @@ public class CDIProvider implements java
 
                @Override
                public BeanManager getBeanManager() {
-                       throw new UnsupportedOperationException();
+                       ClassLoader contextClassLoader = 
Thread.currentThread().getContextClassLoader();
+
+                       if (contextClassLoader instanceof BundleReference) {
+                               BundleReference br = 
(BundleReference)contextClassLoader;
+
+                               Bundle bundle = br.getBundle();
+                               BundleContext bundleContext = 
bundle.getBundleContext();
+
+                               Filter filter = Filters.asFilter(
+                                       
"(&(objectClass=%s)(service.bundleid=%d))",
+                                       BeanManager.class.getName(), 
bundle.getBundleId());
+
+                               ServiceTracker<BeanManager, BeanManager> bmt = 
new ServiceTracker<>(
+                                       bundleContext, filter, null);
+
+                               bmt.open();
+
+                               try {
+                                       return bmt.waitForService(1000);
+                               }
+                               catch (InterruptedException e) {
+                                       return null;
+                               }
+                       }
+
+                       throw new IllegalStateException(
+                               "This method can only be used when the Thread 
context classloader has been set to a bundle's classloader.");
                }
 
                @Override

Added: 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/package-info.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/package-info.java?rev=1829115&view=auto
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/package-info.java
 (added)
+++ 
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/provider/package-info.java
 Sat Apr 14 01:10:27 2018
@@ -0,0 +1,36 @@
+@Capability(
+       name = CDIConstants.CDI_CAPABILITY_NAME,
+       namespace = ExtenderNamespace.EXTENDER_NAMESPACE,
+       uses = {
+               org.osgi.service.cdi.ServiceScope.class,
+               org.osgi.service.cdi.annotations.Bundle.class,
+               org.osgi.service.cdi.reference.ReferenceEvent.class,
+               org.osgi.service.cdi.runtime.CDIComponentRuntime.class,
+               org.osgi.service.cdi.runtime.dto.ActivationDTO.class,
+               
org.osgi.service.cdi.runtime.dto.template.ActivationTemplateDTO.class
+       },
+       version = CDIConstants.CDI_SPECIFICATION_VERSION
+)
+@Capability(
+       name = CDIConstants.CDI_CAPABILITY_NAME,
+       namespace = ImplementationNamespace.IMPLEMENTATION_NAMESPACE,
+       uses = {
+               org.osgi.service.cdi.ServiceScope.class,
+               org.osgi.service.cdi.annotations.Bundle.class,
+               org.osgi.service.cdi.reference.ReferenceEvent.class,
+               org.osgi.service.cdi.runtime.CDIComponentRuntime.class,
+               org.osgi.service.cdi.runtime.dto.ActivationDTO.class,
+               
org.osgi.service.cdi.runtime.dto.template.ActivationTemplateDTO.class
+       },
+       version = CDIConstants.CDI_SPECIFICATION_VERSION
+)
+@Export
+@Version("1.0.0")
+package org.apache.aries.cdi.provider;
+
+import org.osgi.annotation.bundle.Capability;
+import org.osgi.annotation.bundle.Export;
+import org.osgi.annotation.versioning.Version;
+import org.osgi.namespace.extender.ExtenderNamespace;
+import org.osgi.namespace.implementation.ImplementationNamespace;
+import org.osgi.service.cdi.CDIConstants;

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_greedy_Test2.java
 (from r1829114, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_greedy_Test2.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_greedy_Test2.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_greedy_Test2.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_greedy_Test2.java&r1=1829114&r2=1829115&rev=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_greedy_Test2.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_greedy_Test2.java
 Sat Apr 14 01:10:27 2018
@@ -12,16 +12,15 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.internal.component;
+package org.apache.aries.cdi.container.internal.container;
 
-import static org.apache.aries.cdi.container.test.TestUtil.sort;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.apache.aries.cdi.container.test.TestUtil.*;
+import static org.junit.Assert.*;
 
 import java.util.Collection;
 
 import org.apache.aries.cdi.container.internal.model.BeansModel;
-import org.apache.aries.cdi.container.internal.v2.component.Component;
+import org.apache.aries.cdi.container.internal.model.OSGiBean;
 import org.apache.aries.cdi.container.test.MockCdiContainerAndComponents;
 import org.apache.aries.cdi.container.test.beans.Bar;
 import org.apache.aries.cdi.container.test.beans.Foo;
@@ -33,8 +32,10 @@ import org.apache.aries.cdi.container.te
 import 
org.apache.aries.cdi.container.test.beans.ctordynamicgreedy.CtorFooOptional;
 import org.apache.aries.cdi.container.test.beans.ctordynamicgreedy.CtorListFoo;
 import org.junit.Test;
+import org.osgi.service.cdi.MaximumCardinality;
+import org.osgi.service.cdi.ReferencePolicy;
+import org.osgi.service.cdi.ReferencePolicyOption;
 import org.osgi.service.cdi.runtime.dto.template.ComponentTemplateDTO;
-import org.osgi.service.cdi.runtime.dto.template.MaximumCardinality;
 import org.osgi.service.cdi.runtime.dto.template.ReferenceTemplateDTO;
 
 public class Discovery_Ctor_dynamic_greedy_Test2 {
@@ -52,11 +53,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -68,9 +65,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorCollectionFoo.class.getName() + 
".new0", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -89,11 +86,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -105,9 +98,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -116,9 +109,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -137,11 +130,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -153,9 +142,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -174,11 +163,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -190,9 +175,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorListFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -211,11 +196,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -227,9 +208,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -238,9 +219,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Bar.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -259,11 +240,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -275,9 +252,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_a", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -286,9 +263,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_b", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -307,11 +284,7 @@ public class Discovery_Ctor_dynamic_gree
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -323,9 +296,9 @@ public class Discovery_Ctor_dynamic_gree
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooOptional.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_reluctant_Test.java
 (from r1829114, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_reluctant_Test.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_reluctant_Test.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_reluctant_Test.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_reluctant_Test.java&r1=1829114&r2=1829115&rev=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_dynamic_reluctant_Test.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_dynamic_reluctant_Test.java
 Sat Apr 14 01:10:27 2018
@@ -12,16 +12,15 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.internal.component;
+package org.apache.aries.cdi.container.internal.container;
 
-import static org.apache.aries.cdi.container.test.TestUtil.sort;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.apache.aries.cdi.container.test.TestUtil.*;
+import static org.junit.Assert.*;
 
 import java.util.Collection;
 
 import org.apache.aries.cdi.container.internal.model.BeansModel;
-import org.apache.aries.cdi.container.internal.v2.component.Component;
+import org.apache.aries.cdi.container.internal.model.OSGiBean;
 import org.apache.aries.cdi.container.test.MockCdiContainerAndComponents;
 import org.apache.aries.cdi.container.test.beans.Bar;
 import org.apache.aries.cdi.container.test.beans.Foo;
@@ -33,8 +32,10 @@ import org.apache.aries.cdi.container.te
 import 
org.apache.aries.cdi.container.test.beans.ctordynamicreluctant.CtorFooOptional;
 import 
org.apache.aries.cdi.container.test.beans.ctordynamicreluctant.CtorListFoo;
 import org.junit.Test;
+import org.osgi.service.cdi.MaximumCardinality;
+import org.osgi.service.cdi.ReferencePolicy;
+import org.osgi.service.cdi.ReferencePolicyOption;
 import org.osgi.service.cdi.runtime.dto.template.ComponentTemplateDTO;
-import org.osgi.service.cdi.runtime.dto.template.MaximumCardinality;
 import org.osgi.service.cdi.runtime.dto.template.ReferenceTemplateDTO;
 
 public class Discovery_Ctor_dynamic_reluctant_Test {
@@ -52,11 +53,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -68,9 +65,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorCollectionFoo.class.getName() + 
".new0", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -89,11 +86,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -105,9 +98,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -116,9 +109,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -137,11 +130,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -153,9 +142,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -174,11 +163,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -190,9 +175,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorListFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -211,11 +196,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -227,9 +208,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -238,9 +219,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Bar.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -259,11 +240,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -275,9 +252,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_a", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -286,9 +263,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_b", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -307,11 +284,7 @@ public class Discovery_Ctor_dynamic_relu
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -323,9 +296,9 @@ public class Discovery_Ctor_dynamic_relu
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooOptional.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.DYNAMIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.DYNAMIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_greedy_Test.java
 (from r1829114, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_greedy_Test.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_greedy_Test.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_greedy_Test.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_greedy_Test.java&r1=1829114&r2=1829115&rev=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_greedy_Test.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_greedy_Test.java
 Sat Apr 14 01:10:27 2018
@@ -12,16 +12,15 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.internal.component;
+package org.apache.aries.cdi.container.internal.container;
 
-import static org.apache.aries.cdi.container.test.TestUtil.sort;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.apache.aries.cdi.container.test.TestUtil.*;
+import static org.junit.Assert.*;
 
 import java.util.Collection;
 
 import org.apache.aries.cdi.container.internal.model.BeansModel;
-import org.apache.aries.cdi.container.internal.v2.component.Component;
+import org.apache.aries.cdi.container.internal.model.OSGiBean;
 import org.apache.aries.cdi.container.test.MockCdiContainerAndComponents;
 import org.apache.aries.cdi.container.test.beans.Bar;
 import org.apache.aries.cdi.container.test.beans.Foo;
@@ -33,8 +32,10 @@ import org.apache.aries.cdi.container.te
 import 
org.apache.aries.cdi.container.test.beans.ctorstaticgreedy.CtorFooOptional;
 import org.apache.aries.cdi.container.test.beans.ctorstaticgreedy.CtorListFoo;
 import org.junit.Test;
+import org.osgi.service.cdi.MaximumCardinality;
+import org.osgi.service.cdi.ReferencePolicy;
+import org.osgi.service.cdi.ReferencePolicyOption;
 import org.osgi.service.cdi.runtime.dto.template.ComponentTemplateDTO;
-import org.osgi.service.cdi.runtime.dto.template.MaximumCardinality;
 import org.osgi.service.cdi.runtime.dto.template.ReferenceTemplateDTO;
 
 public class Discovery_Ctor_static_greedy_Test {
@@ -53,11 +54,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -69,9 +66,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorListFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -90,11 +87,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -106,9 +99,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorCollectionFoo.class.getName() + 
".new0", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -127,11 +120,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -143,9 +132,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -154,9 +143,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -175,11 +164,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -191,9 +176,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -212,11 +197,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -228,9 +209,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -239,9 +220,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Bar.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -260,11 +241,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -276,9 +253,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_a", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -287,9 +264,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_b", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -308,11 +285,7 @@ public class Discovery_Ctor_static_greed
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -324,9 +297,9 @@ public class Discovery_Ctor_static_greed
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooOptional.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.GREEDY, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }

Copied: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_reluctant_Test.java
 (from r1829114, 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_reluctant_Test.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_reluctant_Test.java?p2=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_reluctant_Test.java&p1=aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_reluctant_Test.java&r1=1829114&r2=1829115&rev=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/component/Discovery_Ctor_static_reluctant_Test.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/container/Discovery_Ctor_static_reluctant_Test.java
 Sat Apr 14 01:10:27 2018
@@ -12,16 +12,15 @@
  * limitations under the License.
  */
 
-package org.apache.aries.cdi.container.internal.component;
+package org.apache.aries.cdi.container.internal.container;
 
-import static org.apache.aries.cdi.container.test.TestUtil.sort;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.apache.aries.cdi.container.test.TestUtil.*;
+import static org.junit.Assert.*;
 
 import java.util.Collection;
 
 import org.apache.aries.cdi.container.internal.model.BeansModel;
-import org.apache.aries.cdi.container.internal.v2.component.Component;
+import org.apache.aries.cdi.container.internal.model.OSGiBean;
 import org.apache.aries.cdi.container.test.MockCdiContainerAndComponents;
 import org.apache.aries.cdi.container.test.beans.Bar;
 import org.apache.aries.cdi.container.test.beans.Foo;
@@ -33,8 +32,10 @@ import org.apache.aries.cdi.container.te
 import 
org.apache.aries.cdi.container.test.beans.ctorstaticreluctant.CtorFooOptional;
 import 
org.apache.aries.cdi.container.test.beans.ctorstaticreluctant.CtorListFoo;
 import org.junit.Test;
+import org.osgi.service.cdi.MaximumCardinality;
+import org.osgi.service.cdi.ReferencePolicy;
+import org.osgi.service.cdi.ReferencePolicyOption;
 import org.osgi.service.cdi.runtime.dto.template.ComponentTemplateDTO;
-import org.osgi.service.cdi.runtime.dto.template.MaximumCardinality;
 import org.osgi.service.cdi.runtime.dto.template.ReferenceTemplateDTO;
 
 public class Discovery_Ctor_static_reluctant_Test {
@@ -53,11 +54,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -69,9 +66,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorListFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -90,11 +87,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -106,9 +99,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.MANY, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorCollectionFoo.class.getName() + 
".new0", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -127,11 +120,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -143,9 +132,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -154,9 +143,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooFoo.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -175,11 +164,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -191,9 +176,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFoo.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -212,11 +197,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -228,9 +209,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -239,9 +220,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooBar.class.getName() + ".new1", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Bar.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -260,11 +241,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -276,9 +253,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_a", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
 
@@ -287,9 +264,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(1, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals("foo_b", referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }
@@ -308,11 +285,7 @@ public class Discovery_Ctor_static_reluc
 
                        OSGiBean bean = beans.iterator().next();
 
-                       Component component = bean.getComponent();
-
-                       assertNotNull(component);
-
-                       ComponentTemplateDTO template = component.getTemplate();
+                       ComponentTemplateDTO template = 
bean.geComponentTemplateDTO();
 
                        assertNotNull(template);
                        assertNotNull(template.references);
@@ -324,9 +297,9 @@ public class Discovery_Ctor_static_reluc
                        assertEquals(MaximumCardinality.ONE, 
referenceTemplateDTO.maximumCardinality);
                        assertEquals(0, 
referenceTemplateDTO.minimumCardinality);
                        assertEquals(CtorFooOptional.class.getName() + ".new0", 
referenceTemplateDTO.name);
-                       assertEquals(ReferenceTemplateDTO.Policy.STATIC, 
referenceTemplateDTO.policy);
+                       assertEquals(ReferencePolicy.STATIC, 
referenceTemplateDTO.policy);
                        assertEquals(
-                               ReferenceTemplateDTO.PolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
+                               ReferencePolicyOption.RELUCTANT, 
referenceTemplateDTO.policyOption);
                        assertEquals(Foo.class.getName(), 
referenceTemplateDTO.serviceType);
                        assertEquals("", referenceTemplateDTO.targetFilter);
                }

Modified: 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/MapsTest.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/MapsTest.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/MapsTest.java
 (original)
+++ 
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/MapsTest.java
 Sat Apr 14 01:10:27 2018
@@ -14,248 +14,77 @@
 
 package org.apache.aries.cdi.container.internal.model;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.apache.aries.cdi.container.internal.util.Maps;
+import org.junit.Assert;
 import org.junit.Test;
+import org.osgi.service.cdi.annotations.ComponentPropertyType;
+import org.osgi.service.cdi.annotations.Service;
 
 public class MapsTest {
 
-       @Test
-       public void testSingleRawStringConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo=bar"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals("bar", entry.getValue());
-       }
-
-       @Test
-       public void testSingleStringConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:String=bar"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals("bar", entry.getValue());
-       }
-
-       @Test
-       public void testSingleListStringConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:List<String>=bar"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(Collections.singletonList("bar"), 
entry.getValue());
-       }
-
-       @Test
-       public void testSingleSetStringConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Set<String>=bar"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(Collections.singleton("bar"), entry.getValue());
-       }
-
-       @Test
-       public void testRawStringArrayConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo=bar", "foo=baz"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertArrayEquals(new String[] {"bar", "baz"}, 
(String[])entry.getValue());
-       }
-
-       @Test
-       public void testRawStringArrayConversion2() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo=bar", "foo=baz", "foo=fee"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertArrayEquals(new String[] {"bar", "baz", "fee"}, 
(String[])entry.getValue());
-       }
-
-       @Test
-       public void testStringArrayConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:String=bar", "foo:String=baz"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertArrayEquals(new String[] {"bar", "baz"}, 
(String[])entry.getValue());
-       }
-
-       @Test
-       public void testStringArrayConversion2() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:String=bar", "foo:String=baz", "foo:String=fee"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertArrayEquals(new String[] {"bar", "baz", "fee"}, 
(String[])entry.getValue());
-       }
-
-       @Test
-       public void testListStringConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:List<String>=bar", "foo:List<String>=baz"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(Arrays.asList("bar", "baz"), entry.getValue());
-       }
-
-       @Test
-       public void testListStringConversion2() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:List<String>=bar", "foo:List<String>=baz", 
"foo:List<String>=fee"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(Arrays.asList("bar", "baz", "fee"), 
entry.getValue());
-       }
-
-       @Test
-       public void testSetStringConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Set<String>=bar", "foo:Set<String>=baz"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(new HashSet<String>(Arrays.asList("bar", "baz")), 
entry.getValue());
-       }
-
-       @Test
-       public void testSetStringConversion2() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Set<String>=bar", "foo:Set<String>=baz", 
"foo:Set<String>=fee"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(new HashSet<String>(Arrays.asList("bar", "baz", 
"fee")), entry.getValue());
-       }
-
-       @Test
-       public void testSingleBooleanConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Boolean=bar"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(false, entry.getValue());
-       }
-
-       @Test
-       public void testSingleBooleanConversion2() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Boolean=true"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(true, entry.getValue());
-       }
-
-       @Test
-       public void testSingleBooleanConversion3() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Boolean=0"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(false, entry.getValue());
-       }
-
-       @Test
-       public void testArrayBooleanConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Boolean=bar", "foo:Boolean=false", "foo:Boolean=true"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertArrayEquals(new Boolean[] {false, false, true}, 
(Boolean[])entry.getValue());
-       }
-
-       @Test
-       public void testListBooleanConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:List<Boolean>=true", "foo:List<Boolean>=bar", 
"foo:List<Boolean>=false"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(Arrays.asList(true, false, false), 
entry.getValue());
-       }
-
-       @Test
-       public void testSetBooleanConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Set<Boolean>=0", "foo:Set<Boolean>=true", 
"foo:Set<Boolean>=false"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(new HashSet<Boolean>(Arrays.asList(false, true)), 
entry.getValue());
-       }
-
-       @Test
-       public void testSingleByteConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Byte=1"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(new Byte("1"), entry.getValue());
-       }
-
-       @Test
-       public void testSingleByteConversion2() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Byte=126"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(new Byte("126"), entry.getValue());
-       }
-
-       @Test
-       public void testArrayByteConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Byte=1", "foo:Byte=96"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertArrayEquals(new Byte[] {new Byte("1"), new Byte("96")}, 
(Byte[])entry.getValue());
-       }
-
-       @Test
-       public void testListByteConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:List<Byte>=126", "foo:List<Byte>=91"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(Arrays.asList(new Byte("126"), new Byte("91")), 
entry.getValue());
-       }
-
-       @Test
-       public void testSetByteConversion() throws Exception {
-               Set<Entry<String,Object>> set = Maps.map(new String[] 
{"foo:Set<Byte>=126", "foo:Set<Byte>=91", "foo:Set<Byte>=91"}).entrySet();
-
-               Entry<String, Object> entry = set.iterator().next();
-               assertEquals("foo", entry.getKey());
-               assertEquals(new HashSet<Byte>(Arrays.asList(new Byte("126"), 
new Byte("91"))), entry.getValue());
-       }
-
-       @SuppressWarnings("rawtypes")
-       @Test
-       public void testMixedConversion() throws Exception {
-               Map<String,Object> map = Maps.map(
-                       new String[] {
-                               "foo:Set<Byte>=126", "foo:Set<Byte>=91", 
"foo:Set<Byte>=91",
-                               "fum=blaz", "fee:List<Double>=91.8765", 
"fee:List<Double>=34567.8965"});
-
-               assertEquals(3, map.size());
-               assertTrue(map.containsKey("foo"));
-               assertTrue(map.containsKey("fum"));
-               assertTrue(map.containsKey("fee"));
-               assertTrue(map.get("foo") instanceof Set);
-               assertTrue(map.get("fum") instanceof String);
-               assertTrue(map.get("fee") instanceof List);
-               assertEquals(2, ((Set)map.get("foo")).size());
-               assertEquals("blaz", map.get("fum"));
-               assertEquals(2, ((List)map.get("fee")).size());
+       @Retention(RetentionPolicy.RUNTIME)
+       @ComponentPropertyType
+       public @interface CPT1 {
+               String[] a();
+               int[] b();
+               boolean c();
+       }
+
+       @Retention(RetentionPolicy.RUNTIME)
+       @ComponentPropertyType
+       public @interface CPT2 {
+               String a();
+               int[] b();
+       }
+
+       @Retention(RetentionPolicy.RUNTIME)
+       @ComponentPropertyType
+       public @interface CPT3 {
+       }
+
+       @Retention(RetentionPolicy.RUNTIME)
+       @ComponentPropertyType
+       public @interface CPT4 {
+               String b();
+       }
+
+       @CPT1(a = {"foo", "bar"}, b = {1, 1, 1}, c = true)
+       @CPT2(a = "baz", b = {2, 2})
+       @CPT3
+       @Service(Integer.class)
+       public Integer one;
+
+       @Test
+       public void checkMerge_1() throws Exception {
+               Map<String, ?> merged = Maps.merge(
+                       
Stream.of(getClass().getField("one").getAnnotations()).collect(Collectors.toList()));
+
+               Assert.assertEquals(
+                       Maps.of(
+                               "a", Arrays.asList("foo", "bar", "baz"),
+                               "cpt3", true,
+                               "b", Arrays.asList(1,1,1,2,2),
+                               "c", true),
+                       merged);
+       }
+
+       @CPT1(a = {"foo", "bar"}, b = {1, 1, 1}, c = true)
+       @CPT2(a = "baz", b = {2, 2})
+       @CPT3
+       @CPT4(b = "blah")
+       @Service(Integer.class)
+       public Integer two;
+
+       @Test(expected = ClassCastException.class)
+       public void checkMerge_2() throws Exception {
+               
Maps.merge(Stream.of(getClass().getField("two").getAnnotations()).collect(Collectors.toList()));
        }
 
 }


Reply via email to