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