You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2018/04/14 01:10:31 UTC

svn commit: r1829115 [5/12] - in /aries/trunk/cdi: ./ cdi-extender/ cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/ cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/bean/ cdi-extender/src/main/java/org/apache/aries...

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()));
 	}
 
 }