[cdi] removed methods from spec API

Signed-off-by: Raymond Auge <rotty3000@apache.org>

git-svn-id: https://svn.apache.org/repos/asf/aries/trunk@1835671 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/cdi-extender/pom.xml b/cdi-extender/pom.xml
index e519bd0..5614c49 100644
--- a/cdi-extender/pom.xml
+++ b/cdi-extender/pom.xml
@@ -28,7 +28,7 @@
 
 	<artifactId>org.apache.aries.cdi.extender</artifactId>
 	<name>Aries CCR</name>
-	<description>Aries CDI Component Runtime</description>
+	<description>Aries CDI Component Runtime which implements OSGi CDI Integration Specification 1.0</description>
 
 	<build>
 		<plugins>
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CCR.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CCR.java
index 2ff580d..5e07033 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CCR.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CCR.java
@@ -65,24 +65,6 @@
 	}
 
 	@Override
-	public ContainerDTO getContainerDTO(Bundle bundle) {
-		return call(
-			() -> Optional.ofNullable(_states.get(bundle)).map(
-				cs -> DTOs.copy(cs.containerDTO(), true)
-			).orElse(null)
-		);
-	}
-
-	@Override
-	public long getContainerChangeCount(Bundle bundle) {
-		return call(
-			() -> Optional.ofNullable(_states.get(bundle)).map(
-				cs -> cs.containerDTO().changeCount
-			).orElse(-1l)
-		);
-	}
-
-	@Override
 	public ContainerTemplateDTO getContainerTemplateDTO(Bundle bundle) {
 		return call(
 			() -> Optional.ofNullable(_states.get(bundle)).map(
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CDICommand.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CDICommand.java
index aa7a236..22ef993 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CDICommand.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CDICommand.java
@@ -47,14 +47,14 @@
 
 	public String info(Bundle bundle) {
 		try (Formatter f = new Formatter()) {
-			ContainerDTO containerDTO = _ccr.getContainerDTO(bundle);
+			Collection<ContainerDTO> containerDTOs = _ccr.getContainerDTOs(bundle);
 
-			if (containerDTO == null) {
+			if (containerDTOs.isEmpty()) {
 				f.format(NO_BUNDLES);
 				return f.toString();
 			}
 
-			list0(f, containerDTO, false, true);
+			list0(f, containerDTOs.iterator().next(), false, true);
 
 			return f.toString();
 		}
diff --git a/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java b/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java
index 1f72a07..20f7589 100644
--- a/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java
+++ b/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java
@@ -19,6 +19,7 @@
 import static org.mockito.Mockito.*;
 
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -66,7 +67,9 @@
 
 		cdiBundle.start();
 
-		ContainerDTO containerDTO = ccr.getContainerDTO(bundle);
+		Collection<ContainerDTO> containerDTOs = ccr.getContainerDTOs(bundle);
+		assertFalse(containerDTOs.isEmpty());
+		ContainerDTO containerDTO = containerDTOs.iterator().next();
 		assertNotNull(containerDTO);
 
 		assertNotNull(containerDTO.bundle);
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
index c358934..5bc5d89 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
@@ -49,6 +49,7 @@
 import org.osgi.namespace.service.ServiceNamespace;
 import org.osgi.service.cdi.CDIConstants;
 import org.osgi.service.cdi.runtime.CDIComponentRuntime;
+import org.osgi.service.cdi.runtime.dto.ContainerDTO;
 import org.osgi.util.promise.PromiseFactory;
 import org.osgi.util.tracker.ServiceTracker;
 
@@ -132,6 +133,28 @@
 		return null;
 	}
 
+	public ContainerDTO getContainerDTO(CDIComponentRuntime runtime, Bundle bundle) {
+		Iterator<ContainerDTO> iterator;
+		ContainerDTO containerDTO = null;
+		int attempts = 50;
+		while (--attempts > 0) {
+			iterator = cdiRuntime.getContainerDTOs(bundle).iterator();
+			if (iterator.hasNext()) {
+				containerDTO = iterator.next();
+				if (containerDTO != null) {
+					break;
+				}
+			}
+			try {
+				Thread.sleep(100);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
+		}
+		assertNotNull(containerDTO);
+		return containerDTO;
+	}
+
 	public static Bundle installBundle(String url) throws Exception {
 		return installBundle(url, true);
 	}
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
index 9b9d783..9a307e5 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
@@ -115,7 +115,7 @@
 		assertNotNull(beanService);
 		assertEquals("PREFIXMETHOD", beanService.doSomething());
 
-		ContainerDTO containerDTO = cdiRuntime.getContainerDTO(cdiBundle);
+		ContainerDTO containerDTO = getContainerDTO(cdiRuntime, cdiBundle);
 		assertNotNull(containerDTO);
 
 		ComponentDTO containerComponentDTO = containerDTO.components.stream().filter(
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
index d43bb4b..416d3c1 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
@@ -59,11 +59,11 @@
 
 	@Test
 	public void testContainerComponentSingleton() throws Exception {
-		while (cdiRuntime.getContainerDTO(cdiBundle).components.isEmpty()) {
+		while (getContainerDTO(cdiRuntime, cdiBundle).components.isEmpty()) {
 			Thread.sleep(10);
 		}
 
-		ContainerDTO containerDTO = cdiRuntime.getContainerDTO(cdiBundle);
+		ContainerDTO containerDTO = getContainerDTO(cdiRuntime, cdiBundle);
 		assertNotNull(containerDTO);
 
 		ComponentDTO containerComponentDTO = containerDTO.components.stream()
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
index f65324e..8b2158f 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
@@ -73,7 +73,7 @@
 			ComponentDTO configurationBeanA = null;
 
 			while (--attempts > 0) {
-				ContainerDTO containerDTO = cdiRuntime.getContainerDTO(tb3Bundle);
+				ContainerDTO containerDTO = getContainerDTO(cdiRuntime, tb3Bundle);
 
 				configurationBeanA = containerDTO.components.stream().filter(
 					c -> c.template.name.equals("configurationBeanA")
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
index 427cf84..80662d5 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
@@ -54,14 +54,14 @@
 			assertEquals(0, pojo.getCount());
 			assertEquals("[]", pojo.foo(null));
 
-			ContainerDTO containerDTO = cdiRuntime.getContainerDTO(tb);
+			ContainerDTO containerDTO = getContainerDTO(cdiRuntime, tb);
 
 			long changeCount = containerDTO.changeCount;
 
 			ServiceRegistration<Integer> int1 = bundleContext.registerService(Integer.class, new Integer(12), null);
 
 			try {
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -74,7 +74,7 @@
 				properties.put("foo", "bar");
 				int1.setProperties(properties);
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -85,7 +85,7 @@
 
 				int1.unregister();
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -110,14 +110,14 @@
 			assertEquals(0, pojo.getCount());
 			assertEquals("[]", pojo.foo(null));
 
-			ContainerDTO containerDTO = cdiRuntime.getContainerDTO(tb);
+			ContainerDTO containerDTO = getContainerDTO(cdiRuntime, tb);
 
 			long changeCount = containerDTO.changeCount;
 
 			ServiceRegistration<Integer> int1 = bundleContext.registerService(Integer.class, new Integer(12), null);
 
 			try {
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -130,7 +130,7 @@
 				properties.put("foo", "bar");
 				int1.setProperties(properties);
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -141,7 +141,7 @@
 
 				int1.unregister();
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java
index f6d662a..572a947 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java
@@ -57,7 +57,7 @@
 			assertEquals(-1, pojo.getCount());
 			assertEquals("-1", pojo.foo(""));
 
-			ContainerDTO containerDTO = cdiRuntime.getContainerDTO(tb);
+			ContainerDTO containerDTO = getContainerDTO(cdiRuntime, tb);
 
 			long changeCount = containerDTO.changeCount;
 
@@ -66,7 +66,7 @@
 				new Hashtable<>(Collections.singletonMap("bean.id", "as")));
 
 			try {
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -82,11 +82,11 @@
 				assertEquals("12", pojo.foo(""));
 			}
 			finally {
-				changeCount = cdiRuntime.getContainerDTO(tb).changeCount;
+				changeCount = getContainerDTO(cdiRuntime, tb).changeCount;
 
 				int1.unregister();
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -113,7 +113,7 @@
 			assertEquals(-1, pojo.getCount());
 			assertEquals("-1", pojo.foo(""));
 
-			ContainerDTO containerDTO = cdiRuntime.getContainerDTO(tb);
+			ContainerDTO containerDTO = getContainerDTO(cdiRuntime, tb);
 
 			long changeCount = containerDTO.changeCount;
 
@@ -122,7 +122,7 @@
 				new Hashtable<>(Collections.singletonMap("bean.id", "sc")));
 
 			try {
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -138,11 +138,11 @@
 				assertEquals("12", pojo.foo(""));
 			}
 			finally {
-				changeCount = cdiRuntime.getContainerDTO(tb).changeCount;
+				changeCount = getContainerDTO(cdiRuntime, tb).changeCount;
 
 				int1.unregister();
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -186,7 +186,7 @@
 			assertEquals(-1, pojo.getCount());
 			assertEquals("-1", pojo.foo(""));
 
-			ContainerDTO containerDTO = cdiRuntime.getContainerDTO(tb);
+			ContainerDTO containerDTO = getContainerDTO(cdiRuntime, tb);
 
 			long changeCount = containerDTO.changeCount;
 
@@ -195,7 +195,7 @@
 				new Hashtable<>(Collections.singletonMap("bean.id", "fc")));
 
 			try {
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}
 
@@ -211,11 +211,11 @@
 				assertEquals("12", pojo.foo(""));
 			}
 			finally {
-				changeCount = cdiRuntime.getContainerDTO(tb).changeCount;
+				changeCount = getContainerDTO(cdiRuntime, tb).changeCount;
 
 				int1.unregister();
 
-				for (long i = 10; i > 0 && (cdiRuntime.getContainerDTO(tb).changeCount == changeCount); i--) {
+				for (long i = 10; i > 0 && (getContainerDTO(cdiRuntime, tb).changeCount == changeCount); i--) {
 					Thread.sleep(20);
 				}