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/09/24 20:24:12 UTC

svn commit: r1841891 [1/3] - in /aries/trunk/cdi/cdi-itests: ./ bnd/ src/main/java/org/apache/aries/cdi/test/cases/ src/main/java/org/apache/aries/cdi/test/tb152_3_1_1a/ src/main/java/org/apache/aries/cdi/test/tb152_3_1_1b/ src/main/java/org/apache/ari...

Author: rotty3000
Date: Mon Sep 24 20:24:11 2018
New Revision: 1841891

URL: http://svn.apache.org/viewvc?rev=1841891&view=rev
Log:
[CDI] CT tests

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

Added:
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1a.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1b.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1c.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1d.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1e.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1f.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1g.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1h.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1i.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1j.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1k.bnd
    aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1l.bnd
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CloseableTracker.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/Test152_3_1_1.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1a/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1a/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1a/ImmediateSingle.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1a/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1b/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1b/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1b/ImmediateSingle_C.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1b/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1c/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1c/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1c/ImmediateFactory.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1c/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1d/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1d/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1d/SingletonSingle.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1d/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1e/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1e/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1e/SingletonSingle_C.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1e/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1f/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1f/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1f/SingletonFactory.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1f/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1g/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1g/BundleSingle.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1g/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1g/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1h/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1h/BundleSingle_C.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1h/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1h/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1i/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1i/BundleFactory.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1i/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1i/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1j/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1j/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1j/PrototypeSingle.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1j/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1k/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1k/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1k/PrototypeSingle_C.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1k/package-info.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1l/
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1l/ContextObserver.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1l/PrototypeFactory.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb152_3_1_1l/package-info.java
Modified:
    aries/trunk/cdi/cdi-itests/bnd.bnd
    aries/trunk/cdi/cdi-itests/pom.xml
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/DisableComponentTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/FactoryComponentTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java

Modified: aries/trunk/cdi/cdi-itests/bnd.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd.bnd?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd.bnd (original)
+++ aries/trunk/cdi/cdi-itests/bnd.bnd Mon Sep 24 20:24:11 2018
@@ -42,7 +42,20 @@ p = org.apache.aries.cdi.test
 	tb152_2.jar,\
 	tb152_2b.jar,\
 	tb152_3.jar,\
-	tb152_3_1.jar
+	tb152_3_1.jar,\
+	tb152_3_1_1a.jar,\
+	tb152_3_1_1b.jar,\
+	tb152_3_1_1c.jar,\
+	tb152_3_1_1d.jar,\
+	tb152_3_1_1e.jar,\
+	tb152_3_1_1f.jar,\
+	tb152_3_1_1g.jar,\
+	tb152_3_1_1h.jar,\
+	tb152_3_1_1i.jar,\
+	tb152_3_1_1j.jar,\
+	tb152_3_1_1k.jar,\
+	tb152_3_1_1l.jar
+
 # Don't forget that we had to coax the `maven-jar-plugin` NOT to include the `sub-bundle` packages in
 # the root bundle:
 #

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1a.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1a.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1a.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1a.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1a.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1b.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1b.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1b.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1b.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1b.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1c.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1c.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1c.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1c.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1c.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1d.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1d.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1d.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1d.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1d.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1e.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1e.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1e.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1e.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1e.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1f.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1f.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1f.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1f.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1f.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1g.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1g.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1g.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1g.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1g.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1h.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1h.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1h.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1h.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1h.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1i.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1i.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1i.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1i.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1i.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1j.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1j.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1j.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1j.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1j.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1k.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1k.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1k.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1k.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1k.*;-split-package:=first

Added: aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1l.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1l.bnd?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1l.bnd (added)
+++ aries/trunk/cdi/cdi-itests/bnd/tb152_3_1_1l.bnd Mon Sep 24 20:24:11 2018
@@ -0,0 +1,13 @@
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+Export-Package: ${p}.tb152_3_1_1l.*;-split-package:=first

Modified: aries/trunk/cdi/cdi-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/pom.xml?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/pom.xml (original)
+++ aries/trunk/cdi/cdi-itests/pom.xml Mon Sep 24 20:24:11 2018
@@ -93,17 +93,11 @@
 	</build>
 
 	<dependencies>
+		<!-- COMPILE -->
 		<dependency>
-			<groupId>ch.qos.logback</groupId>
-			<artifactId>logback-classic</artifactId>
-			<version>1.2.3</version>
-			<scope>runtime</scope>
-		</dependency>
-		<dependency>
-			<groupId>javax.ejb</groupId>
-			<artifactId>javax.ejb-api</artifactId>
-			<version>3.2</version>
-			<scope>runtime</scope>
+			<groupId>biz.aQute.bnd</groupId>
+			<artifactId>biz.aQute.junit</artifactId>
+			<version>${bnd.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
@@ -116,6 +110,84 @@
 			<version>${project.version}</version>
 		</dependency>
 		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.http.servlet-api</artifactId>
+			<version>1.1.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.httpcomponents</groupId>
+			<artifactId>httpclient-osgi</artifactId>
+			<version>4.5.3</version>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.util.function</artifactId>
+			<version>1.1.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.util.promise</artifactId>
+			<version>1.1.0</version>
+		</dependency>
+
+		<!-- PROVIDED -->
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.annotation.bundle</artifactId>
+			<version>1.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.namespace.extender</artifactId>
+			<version>1.0.1</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.namespace.service</artifactId>
+			<version>1.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.service.cm</artifactId>
+			<version>1.6.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.service.component.annotations</artifactId>
+			<version>1.4.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.service.http.whiteboard</artifactId>
+			<version>1.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>osgi.core</artifactId>
+			<version>7.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<!-- RUNTIME -->
+		<dependency>
+			<groupId>ch.qos.logback</groupId>
+			<artifactId>logback-classic</artifactId>
+			<version>1.2.3</version>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>javax.ejb</groupId>
+			<artifactId>javax.ejb-api</artifactId>
+			<version>3.2</version>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
 			<artifactId>org.apache.aries.cdi.extension.http</artifactId>
 			<version>${project.version}</version>
@@ -205,11 +277,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.http.servlet-api</artifactId>
-			<version>1.1.2</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.logback</artifactId>
 			<version>1.0.0</version>
 			<scope>runtime</scope>
@@ -222,18 +289,15 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.httpcomponents</groupId>
-			<artifactId>httpclient-osgi</artifactId>
-			<version>4.5.3</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.httpcomponents</groupId>
 			<artifactId>httpcore-osgi</artifactId>
 			<version>4.4.6</version>
+			<scope>runtime</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.jboss.logging</groupId>
 			<artifactId>jboss-logging</artifactId>
 			<version>3.3.2.Final</version>
+			<scope>runtime</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.platform</groupId>
@@ -242,69 +306,6 @@
 			<scope>runtime</scope>
 		</dependency>
 		<dependency>
-			<groupId>biz.aQute.bnd</groupId>
-			<artifactId>biz.aQute.junit</artifactId>
-			<version>${bnd.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.annotation.bundle</artifactId>
-			<version>1.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.namespace.extender</artifactId>
-			<version>1.0.1</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.namespace.service</artifactId>
-			<version>1.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.cm</artifactId>
-			<version>1.6.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.component.annotations</artifactId>
-			<version>1.4.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.http.whiteboard</artifactId>
-			<version>1.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.event</artifactId>
-			<version>1.3.1</version>
-			<scope>runtime</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.util.function</artifactId>
-			<version>1.1.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.util.promise</artifactId>
-			<version>1.1.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.core</artifactId>
-			<version>7.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>jul-to-slf4j</artifactId>
 			<version>1.7.25</version>

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java Mon Sep 24 20:24:11 2018
@@ -55,6 +55,7 @@ import org.osgi.service.cdi.runtime.dto.
 import org.osgi.service.component.annotations.RequireServiceComponentRuntime;
 import org.osgi.util.promise.PromiseFactory;
 import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
 
 @RequireServiceComponentRuntime
 @Requirement(
@@ -195,30 +196,55 @@ public class AbstractTestCase {
 		}
 	}
 
-	public <S,T> ServiceTracker<S, T> track(Filter filter) {
-		ServiceTracker<S, T> tracker = new ServiceTracker<>(bundleContext, filter, null);
+	public Dictionary<String, Object> getProperties(ServiceReference<Integer> reference) {
+		Dictionary<String, Object> properties = new Hashtable<>();
+		for (String key : reference.getPropertyKeys()) {
+			properties.put(key, reference.getProperty(key));
+		}
+		return properties;
+	}
+
+	public <S,T> CloseableTracker<S, T> track(Filter filter) {
+		CloseableTracker<S, T> tracker = new CloseableTracker<>(bundleContext, filter);
 		tracker.open();
 		return tracker;
 	}
 
-	public <S,T> ServiceTracker<S, T> track(String pattern, Object... objects) {
+	public <S,T> CloseableTracker<S, T> track(String pattern, Object... objects) {
 		return track(filter(pattern, objects));
 	}
 
-	public Dictionary<String, Object> getProperties(ServiceReference<Integer> reference) {
-		Dictionary<String, Object> properties = new Hashtable<>();
-		for (String key : reference.getPropertyKeys()) {
-			properties.put(key, reference.getProperty(key));
-		}
-		return properties;
+	public <S> CloseableTracker<S, ServiceReference<S>> trackSR(String pattern, Object... objects) {
+		return trackSR(filter(pattern, objects));
+	}
+
+	public <S> CloseableTracker<S, ServiceReference<S>> trackSR(Filter filter) {
+		CloseableTracker<S, ServiceReference<S>> tracker = new CloseableTracker<>(bundleContext, filter, new ServiceTrackerCustomizer<S, ServiceReference<S>>() {
+
+			@Override
+			public ServiceReference<S> addingService(ServiceReference<S> reference) {
+				return reference;
+			}
+
+			@Override
+			public void modifiedService(ServiceReference<S> reference, ServiceReference<S> service) {
+			}
+
+			@Override
+			public void removedService(ServiceReference<S> reference, ServiceReference<S> service) {
+			}
+
+		});
+		tracker.open();
+		return tracker;
 	}
 
 	BeanManager getBeanManager(Bundle bundle) throws Exception {
-		return getServiceTracker(bundle).waitForService(timeout);
+		return trackBM(bundle).waitForService(timeout);
 	}
 
-	ServiceTracker<BeanManager, BeanManager> getServiceTracker(Bundle bundle) throws Exception {
-		ServiceTracker<BeanManager, BeanManager> serviceTracker = new ServiceTracker<>(
+	CloseableTracker<BeanManager, BeanManager> trackBM(Bundle bundle) throws Exception {
+		CloseableTracker<BeanManager, BeanManager> serviceTracker = new CloseableTracker<>(
 			bundle.getBundleContext(),
 			filter(
 				"(&(objectClass=%s)(service.bundleid=%d))",
@@ -253,7 +279,7 @@ public class AbstractTestCase {
 
 	static final Bundle bundle = FrameworkUtil.getBundle(CdiBeanTests.class);
 	static final BundleContext bundleContext = bundle.getBundleContext();
-	static final long timeout = 5000;
+	static final long timeout = 500;
 	static Bundle servicesBundle;
 	static ServiceTracker<CDIComponentRuntime, CDIComponentRuntime> runtimeTracker;
 

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java Mon Sep 24 20:24:11 2018
@@ -34,159 +34,164 @@ import org.osgi.service.cdi.ComponentTyp
 import org.osgi.service.cdi.runtime.dto.ComponentDTO;
 import org.osgi.service.cdi.runtime.dto.ComponentInstanceDTO;
 import org.osgi.service.cdi.runtime.dto.ContainerDTO;
-import org.osgi.util.tracker.ServiceTracker;
 
 @SuppressWarnings("rawtypes")
 public class CdiBeanTests extends AbstractTestCase {
 
 	@Test
 	public void testConstructorInjectedService() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"ConstructorInjectedService");
+			"ConstructorInjectedService");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
-		assertEquals("PREFIXCONSTRUCTOR", beanService.doSomething());
+			assertNotNull(beanService);
+			assertEquals("PREFIXCONSTRUCTOR", beanService.doSomething());
+		}
 	}
 
 	@Test
 	public void testFieldInjectedReference_BundleScoped() throws Exception {
-		ServiceTracker<FieldInjectedReference, FieldInjectedReference> tracker = track(
+		try (CloseableTracker<FieldInjectedReference, FieldInjectedReference> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			FieldInjectedReference.class.getName(),
-			"FieldInjectedBundleScopedImpl");
+			"FieldInjectedBundleScopedImpl");) {
 
-		FieldInjectedReference fieldInjectedReference = tracker.waitForService(timeout);
+			FieldInjectedReference fieldInjectedReference = tracker.waitForService(timeout);
 
-		assertNotNull(fieldInjectedReference);
-		assertNotNull(fieldInjectedReference.getProperties());
-		assertNotNull(fieldInjectedReference.getGenericReference());
-		assertNotNull(fieldInjectedReference.getRawReference());
-		assertNotNull(fieldInjectedReference.getService());
-		assertEquals("value", fieldInjectedReference.getProperties().get("key"));
-		assertEquals("value", fieldInjectedReference.getGenericReference().getProperty("key"));
-		assertEquals("value", fieldInjectedReference.getRawReference().getProperty("key"));
+			assertNotNull(fieldInjectedReference);
+			assertNotNull(fieldInjectedReference.getProperties());
+			assertNotNull(fieldInjectedReference.getGenericReference());
+			assertNotNull(fieldInjectedReference.getRawReference());
+			assertNotNull(fieldInjectedReference.getService());
+			assertEquals("value", fieldInjectedReference.getProperties().get("key"));
+			assertEquals("value", fieldInjectedReference.getGenericReference().getProperty("key"));
+			assertEquals("value", fieldInjectedReference.getRawReference().getProperty("key"));
+		}
 	}
 
 	@Test
 	public void testFieldInjectedReference_PrototypeScoped() throws Exception {
-		ServiceTracker<FieldInjectedReference, FieldInjectedReference> tracker = track(
+		try (CloseableTracker<FieldInjectedReference, FieldInjectedReference> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			FieldInjectedReference.class.getName(),
-			"FieldInjectedPrototypeScopedImpl");
+			"FieldInjectedPrototypeScopedImpl");) {
 
-		FieldInjectedReference fieldInjectedReference = tracker.waitForService(timeout);
+			FieldInjectedReference fieldInjectedReference = tracker.waitForService(timeout);
 
-		assertNotNull(fieldInjectedReference);
-		assertNotNull(fieldInjectedReference.getProperties());
-		assertNotNull(fieldInjectedReference.getGenericReference());
-		assertNotNull(fieldInjectedReference.getRawReference());
-		assertNotNull(fieldInjectedReference.getService());
-		assertEquals("value", fieldInjectedReference.getProperties().get("key"));
-		assertEquals("value", fieldInjectedReference.getGenericReference().getProperty("key"));
-		assertEquals("value", fieldInjectedReference.getRawReference().getProperty("key"));
+			assertNotNull(fieldInjectedReference);
+			assertNotNull(fieldInjectedReference.getProperties());
+			assertNotNull(fieldInjectedReference.getGenericReference());
+			assertNotNull(fieldInjectedReference.getRawReference());
+			assertNotNull(fieldInjectedReference.getService());
+			assertEquals("value", fieldInjectedReference.getProperties().get("key"));
+			assertEquals("value", fieldInjectedReference.getGenericReference().getProperty("key"));
+			assertEquals("value", fieldInjectedReference.getRawReference().getProperty("key"));
+		}
 	}
 
 	@Test
 	public void testFieldInjectedService() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"FieldInjectedService");
+			"FieldInjectedService");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
-		assertEquals("PREFIXFIELD", beanService.doSomething());
+			assertNotNull(beanService);
+			assertEquals("PREFIXFIELD", beanService.doSomething());
+		}
 	}
 
 	@Test
 	public void testMethodInjectedService() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"MethodInjectedService");
+			"MethodInjectedService");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
-		assertEquals("PREFIXMETHOD", beanService.doSomething());
+			assertNotNull(beanService);
+			assertEquals("PREFIXMETHOD", beanService.doSomething());
 
-		ContainerDTO containerDTO = getContainerDTO(cdiRuntime, cdiBundle);
-		assertNotNull(containerDTO);
+			ContainerDTO containerDTO = getContainerDTO(cdiRuntime, cdiBundle);
+			assertNotNull(containerDTO);
 
-		ComponentDTO containerComponentDTO = containerDTO.components.stream().filter(
-			c -> c.template.type == ComponentType.CONTAINER).findFirst().orElse(null);
-		assertNotNull(containerComponentDTO);
-		assertEquals(8, containerComponentDTO.template.beans.size());
+			ComponentDTO containerComponentDTO = containerDTO.components.stream().filter(
+				c -> c.template.type == ComponentType.CONTAINER).findFirst().orElse(null);
+			assertNotNull(containerComponentDTO);
+			assertEquals(8, containerComponentDTO.template.beans.size());
 
-		// There's only one instance of the Container component
-		ComponentInstanceDTO componentInstanceDTO = containerComponentDTO.instances.get(0);
-		assertNotNull(componentInstanceDTO);
+			// There's only one instance of the Container component
+			ComponentInstanceDTO componentInstanceDTO = containerComponentDTO.instances.get(0);
+			assertNotNull(componentInstanceDTO);
 
-		assertEquals(0, componentInstanceDTO.configurations.size());
-		assertNotNull("should have properties", componentInstanceDTO.properties);
+			assertEquals(0, componentInstanceDTO.configurations.size());
+			assertNotNull("should have properties", componentInstanceDTO.properties);
+		}
 	}
 
 	@Test
 	public void testBeanAsServiceWithProperties() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"ServiceWithProperties");
+			"ServiceWithProperties");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
+			assertNotNull(beanService);
 
-		ServiceReference<BeanService> serviceReference = tracker.getServiceReference();
+			ServiceReference<BeanService> serviceReference = tracker.getServiceReference();
 
-		assertEquals("test.value.b2", serviceReference.getProperty("test.key.b2"));
+			assertEquals("test.value.b2", serviceReference.getProperty("test.key.b2"));
 
-		assertTrue(serviceReference.getProperty("p.Boolean") instanceof Boolean);
-		assertTrue(serviceReference.getProperty("p.Boolean.array") instanceof boolean[]);
-		assertEquals(2, ((boolean[])serviceReference.getProperty("p.Boolean.array")).length);
+			assertTrue(serviceReference.getProperty("p.Boolean") instanceof Boolean);
+			assertTrue(serviceReference.getProperty("p.Boolean.array") instanceof boolean[]);
+			assertEquals(2, ((boolean[])serviceReference.getProperty("p.Boolean.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Byte") instanceof Byte);
-		assertTrue(serviceReference.getProperty("p.Byte.array") instanceof byte[]);
-		assertEquals(2, ((byte[])serviceReference.getProperty("p.Byte.array")).length);
+			assertTrue(serviceReference.getProperty("p.Byte") instanceof Byte);
+			assertTrue(serviceReference.getProperty("p.Byte.array") instanceof byte[]);
+			assertEquals(2, ((byte[])serviceReference.getProperty("p.Byte.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Character") instanceof Character);
-		assertTrue(serviceReference.getProperty("p.Character.array") instanceof char[]);
-		assertEquals(2, ((char[])serviceReference.getProperty("p.Character.array")).length);
+			assertTrue(serviceReference.getProperty("p.Character") instanceof Character);
+			assertTrue(serviceReference.getProperty("p.Character.array") instanceof char[]);
+			assertEquals(2, ((char[])serviceReference.getProperty("p.Character.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Double") instanceof Double);
-		assertTrue(serviceReference.getProperty("p.Double.array") instanceof double[]);
-		assertEquals(2, ((double[])serviceReference.getProperty("p.Double.array")).length);
+			assertTrue(serviceReference.getProperty("p.Double") instanceof Double);
+			assertTrue(serviceReference.getProperty("p.Double.array") instanceof double[]);
+			assertEquals(2, ((double[])serviceReference.getProperty("p.Double.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Float") instanceof Float);
-		assertTrue(serviceReference.getProperty("p.Float.array") instanceof float[]);
-		assertEquals(2, ((float[])serviceReference.getProperty("p.Float.array")).length);
+			assertTrue(serviceReference.getProperty("p.Float") instanceof Float);
+			assertTrue(serviceReference.getProperty("p.Float.array") instanceof float[]);
+			assertEquals(2, ((float[])serviceReference.getProperty("p.Float.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Integer") instanceof Integer);
-		assertTrue(serviceReference.getProperty("p.Integer.array") instanceof int[]);
-		assertEquals(2, ((int[])serviceReference.getProperty("p.Integer.array")).length);
+			assertTrue(serviceReference.getProperty("p.Integer") instanceof Integer);
+			assertTrue(serviceReference.getProperty("p.Integer.array") instanceof int[]);
+			assertEquals(2, ((int[])serviceReference.getProperty("p.Integer.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Long") instanceof Long);
-		assertTrue(serviceReference.getProperty("p.Long.array") instanceof long[]);
-		assertEquals(2, ((long[])serviceReference.getProperty("p.Long.array")).length);
+			assertTrue(serviceReference.getProperty("p.Long") instanceof Long);
+			assertTrue(serviceReference.getProperty("p.Long.array") instanceof long[]);
+			assertEquals(2, ((long[])serviceReference.getProperty("p.Long.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.Short") instanceof Short);
-		assertTrue(serviceReference.getProperty("p.Short.array") instanceof short[]);
-		assertEquals(2, ((short[])serviceReference.getProperty("p.Short.array")).length);
+			assertTrue(serviceReference.getProperty("p.Short") instanceof Short);
+			assertTrue(serviceReference.getProperty("p.Short.array") instanceof short[]);
+			assertEquals(2, ((short[])serviceReference.getProperty("p.Short.array")).length);
 
-		assertTrue(serviceReference.getProperty("p.String") instanceof String);
-		assertTrue(serviceReference.getProperty("p.String.array") instanceof String[]);
-		assertEquals(2, ((String[])serviceReference.getProperty("p.String.array")).length);
+			assertTrue(serviceReference.getProperty("p.String") instanceof String);
+			assertTrue(serviceReference.getProperty("p.String.array") instanceof String[]);
+			assertEquals(2, ((String[])serviceReference.getProperty("p.String.array")).length);
 
-		// glubInteger = 45, gooString = "green"
-		assertTrue(serviceReference.getProperty("glub.integer") instanceof Integer);
-		assertEquals(45, ((Integer)serviceReference.getProperty("glub.integer")).intValue());
-		assertTrue(serviceReference.getProperty("goo.string") instanceof String);
-		assertEquals("green", (serviceReference.getProperty("goo.string")));
+			// glubInteger = 45, gooString = "green"
+			assertTrue(serviceReference.getProperty("glub.integer") instanceof Integer);
+			assertEquals(45, ((Integer)serviceReference.getProperty("glub.integer")).intValue());
+			assertTrue(serviceReference.getProperty("goo.string") instanceof String);
+			assertEquals("green", (serviceReference.getProperty("goo.string")));
+		}
 	}
 
 	@Test
@@ -209,49 +214,52 @@ public class CdiBeanTests extends Abstra
 
 	@Test
 	public void testInstanceProperties() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"Instance_ServiceProperties");
+			"Instance_ServiceProperties");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
-		assertEquals(4, Integer.decode(beanService.doSomething()).intValue());
-		@SuppressWarnings("unchecked")
-		Map<String, Object> map = (Map<String, Object>)beanService.get();
-		assertNotNull(map);
-		assertEquals(100000, (int)map.get("service.ranking"));
+			assertNotNull(beanService);
+			assertEquals(4, Integer.decode(beanService.doSomething()).intValue());
+			@SuppressWarnings("unchecked")
+			Map<String, Object> map = (Map<String, Object>)beanService.get();
+			assertNotNull(map);
+			assertEquals(100000, (int)map.get("service.ranking"));
+		}
 	}
 
 	@Test
 	public void testInstanceServiceReference() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"Instance_ServiceReference");
+			"Instance_ServiceReference");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
-		assertEquals(4, Integer.decode(beanService.doSomething()).intValue());
-		ServiceReference<?> sr = (ServiceReference<?>)beanService.get();
-		assertNotNull(sr);
-		assertEquals(4, (int)sr.getProperty("service.ranking"));
+			assertNotNull(beanService);
+			assertEquals(4, Integer.decode(beanService.doSomething()).intValue());
+			ServiceReference<?> sr = (ServiceReference<?>)beanService.get();
+			assertNotNull(sr);
+			assertEquals(4, (int)sr.getProperty("service.ranking"));
+		}
 	}
 
 	@Test
 	public void testInstance_Optional() throws Exception {
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"Instance_Optional");
+			"Instance_Optional");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNotNull(beanService);
-		assertEquals(0, Integer.decode(beanService.doSomething()).intValue());
-		assertNull(beanService.get());
+			assertNotNull(beanService);
+			assertEquals(0, Integer.decode(beanService.doSomething()).intValue());
+			assertNull(beanService.get());
+		}
 	}
 
 }
\ No newline at end of file

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java Mon Sep 24 20:24:11 2018
@@ -20,7 +20,6 @@ import javax.enterprise.inject.spi.BeanM
 
 import org.junit.Test;
 import org.osgi.framework.Bundle;
-import org.osgi.util.tracker.ServiceTracker;
 
 public class CdiExtenderTests extends AbstractTestCase {
 
@@ -28,35 +27,35 @@ public class CdiExtenderTests extends Ab
 	public void testStopExtender() throws Exception {
 		Bundle cdiExtenderBundle = getCdiExtenderBundle();
 
-		ServiceTracker<BeanManager, BeanManager> tracker = getServiceTracker(cdiBundle);
+		try (CloseableTracker<BeanManager, BeanManager> tracker = trackBM(cdiBundle);) {
+			BeanManager beanManager = tracker.waitForService(timeout);
 
-		BeanManager beanManager = tracker.waitForService(timeout);
+			assertNotNull(beanManager);
 
-		assertNotNull(beanManager);
+			int trackingCount = tracker.getTrackingCount();
 
-		int trackingCount = tracker.getTrackingCount();
+			cdiExtenderBundle.stop();
 
-		cdiExtenderBundle.stop();
+			for (int i = 10; (i > 0) && (tracker.getTrackingCount() == trackingCount); i--) {
+				Thread.sleep(20);
+			}
 
-		for (int i = 10; (i > 0) && (tracker.getTrackingCount() == trackingCount); i--) {
-			Thread.sleep(20);
-		}
-
-		beanManager = tracker.getService();
+			beanManager = tracker.getService();
 
-		assertNull(beanManager);
+			assertNull(beanManager);
 
-		trackingCount = tracker.getTrackingCount();
+			trackingCount = tracker.getTrackingCount();
 
-		cdiExtenderBundle.start();
+			cdiExtenderBundle.start();
 
-		for (int i = 10; (i > 0) && (tracker.getTrackingCount() == trackingCount); i--) {
-			Thread.sleep(20);
-		}
+			for (int i = 10; (i > 0) && (tracker.getTrackingCount() == trackingCount); i--) {
+				Thread.sleep(20);
+			}
 
-		beanManager = tracker.getService();
+			beanManager = tracker.getService();
 
-		assertNotNull(beanManager);
+			assertNotNull(beanManager);
+		}
 	}
 
 }
\ No newline at end of file

Added: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CloseableTracker.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CloseableTracker.java?rev=1841891&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CloseableTracker.java (added)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CloseableTracker.java Mon Sep 24 20:24:11 2018
@@ -0,0 +1,28 @@
+package org.apache.aries.cdi.test.cases;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+public class CloseableTracker<S, T> extends ServiceTracker<S, T> implements AutoCloseable {
+
+	@SuppressWarnings("unused")
+	private final StackTraceElement[] caller;
+
+	public CloseableTracker(BundleContext context, Filter filter) {
+		super(context, filter, null);
+		caller = new Exception().getStackTrace();
+	}
+
+	public CloseableTracker(BundleContext context, Filter filter, ServiceTrackerCustomizer<S, T> customizer) {
+		super(context, filter, customizer);
+		caller = new Exception().getStackTrace();
+	}
+
+	@Override
+	public void close() {
+		super.close();
+	}
+
+}

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/ConfigurationTests.java Mon Sep 24 20:24:11 2018
@@ -65,7 +65,7 @@ public class ConfigurationTests extends
 		Bundle tb3Bundle = installBundle("tb3.jar");
 
 		Configuration configurationA = null, configurationB = null;
-
+		ServiceTracker<BeanService, BeanService> stA = null, stB = null;
 		try {
 			int attempts = 50;
 			ComponentDTO configurationBeanA = null;
@@ -112,7 +112,7 @@ public class ConfigurationTests extends
 			p2.put("ports", new int[] {80});
 			configurationB.update(p2);
 
-			ServiceTracker<BeanService, BeanService> stA = new ServiceTracker<BeanService, BeanService>(
+			stA = new ServiceTracker<BeanService, BeanService>(
 				bundleContext, bundleContext.createFilter(
 					"(&(objectClass=org.apache.aries.cdi.test.interfaces.BeanService)(bean=A))"), null);
 			stA.open(true);
@@ -123,7 +123,7 @@ public class ConfigurationTests extends
 			assertEquals("blue", beanService.doSomething());
 			assertArrayEquals(new int[] {12, 4567}, beanService.get().call());
 
-			ServiceTracker<BeanService, BeanService> stB = new ServiceTracker<BeanService, BeanService>(
+			stB = new ServiceTracker<BeanService, BeanService>(
 				bundleContext, bundleContext.createFilter(
 					"(&(objectClass=org.apache.aries.cdi.test.interfaces.BeanService)(bean=B))"), null);
 			stB.open(true);
@@ -151,6 +151,12 @@ public class ConfigurationTests extends
 					// ignore
 				}
 			}
+			if (stA != null) {
+				stA.close();
+			}
+			if (stB != null) {
+				stB.close();
+			}
 			tb3Bundle.uninstall();
 		}
 	}
@@ -161,11 +167,12 @@ public class ConfigurationTests extends
 		Bundle tb5Bundle = installBundle("tb5.jar");
 
 		Configuration configurationC = null;
+		ServiceTracker<BeanService, BeanService> stC = null;
 
 		try {
 			Thread.sleep(1000); // <---- TODO fix this
 
-			ServiceTracker<BeanService, BeanService> stC = new ServiceTracker<BeanService, BeanService>(
+			stC = new ServiceTracker<BeanService, BeanService>(
 				bundleContext, bundleContext.createFilter(
 					"(&(objectClass=org.apache.aries.cdi.test.interfaces.BeanService)(bean=C))"), null);
 			stC.open(true);
@@ -216,6 +223,9 @@ public class ConfigurationTests extends
 					// ignore
 				}
 			}
+			if (stC != null) {
+				stC.close();
+			}
 			tb5Bundle.uninstall();
 		}
 	}

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/DisableComponentTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/DisableComponentTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/DisableComponentTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/DisableComponentTests.java Mon Sep 24 20:24:11 2018
@@ -48,57 +48,58 @@ public class DisableComponentTests exten
 	public void testDisableContainerComponent() throws Exception {
 		Bundle tb8Bundle = installBundle("tb8.jar");
 
-		ServiceTracker<Pojo, Pojo> tracker = track(
-			"(&(objectClass=%s)(objectClass=*.%s)(service.bundleid=%s))",
-			Pojo.class.getName(),
-			"ContainerBean",
-			tb8Bundle.getBundleId());
+		try (CloseableTracker<Pojo, Pojo> tracker = track(
+				"(&(objectClass=%s)(objectClass=*.%s)(service.bundleid=%s))",
+				Pojo.class.getName(),
+				"ContainerBean",
+				tb8Bundle.getBundleId());) {
 
-		Pojo pojo = tracker.waitForService(timeout);
+			Pojo pojo = tracker.waitForService(timeout);
 
-		assertNotNull(pojo);
+			assertNotNull(pojo);
 
-		Configuration configurationA = null;
+			Configuration configurationA = null;
 
-		try {
-			configurationA = configurationAdmin.getConfiguration("osgi.cdi.cdi.itests.tb8", "?");
+			try {
+				configurationA = configurationAdmin.getConfiguration("osgi.cdi.cdi.itests.tb8", "?");
 
-			Dictionary<String, Object> p1 = new Hashtable<>();
-			p1.put("cdi-itests.tb8.enabled", false);
+				Dictionary<String, Object> p1 = new Hashtable<>();
+				p1.put("cdi-itests.tb8.enabled", false);
 
-			configurationA.update(p1);
+				configurationA.update(p1);
 
-			for (int i = 20; (i > 0) && (!tracker.isEmpty()); i--) {
-				Thread.sleep(20);
-			}
+				for (int i = 20; (i > 0) && (!tracker.isEmpty()); i--) {
+					Thread.sleep(20);
+				}
 
-			pojo = tracker.getService();
+				pojo = tracker.getService();
 
-			assertNull(pojo);
+				assertNull(pojo);
 
-			p1 = new Hashtable<>();
-			p1.put("containerBean.enabled", true);
+				p1 = new Hashtable<>();
+				p1.put("containerBean.enabled", true);
 
-			configurationA.update(p1);
+				configurationA.update(p1);
 
-			for (int i = 30; (i > 0) && (tracker.isEmpty()); i--) {
-				Thread.sleep(20);
-			}
+				for (int i = 30; (i > 0) && (tracker.isEmpty()); i--) {
+					Thread.sleep(20);
+				}
 
-			pojo = tracker.getService();
+				pojo = tracker.getService();
 
-			assertNotNull(pojo);
-		}
-		finally {
-			if (configurationA != null) {
-				try {
-					configurationA.delete();
-				}
-				catch (Exception e) {
-					// ignore
+				assertNotNull(pojo);
+			}
+			finally {
+				if (configurationA != null) {
+					try {
+						configurationA.delete();
+					}
+					catch (Exception e) {
+						// ignore
+					}
 				}
+				tb8Bundle.uninstall();
 			}
-			tb8Bundle.uninstall();
 		}
 	}
 
@@ -106,57 +107,58 @@ public class DisableComponentTests exten
 	public void testDisableSingleComponent() throws Exception {
 		Bundle tb8Bundle = installBundle("tb8.jar");
 
-		ServiceTracker<Pojo, Pojo> tracker = track(
+		try (CloseableTracker<Pojo, Pojo> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s)(service.bundleid=%s))",
 			Pojo.class.getName(),
 			"SingleComponentBean",
-			tb8Bundle.getBundleId());
+			tb8Bundle.getBundleId());) {
 
-		Pojo pojo = tracker.waitForService(timeout);
+			Pojo pojo = tracker.waitForService(timeout);
 
-		assertNotNull(pojo);
+			assertNotNull(pojo);
 
-		Configuration configurationA = null;
+			Configuration configurationA = null;
 
-		try {
-			configurationA = configurationAdmin.getConfiguration("osgi.cdi.cdi.itests.tb8", "?");
+			try {
+				configurationA = configurationAdmin.getConfiguration("osgi.cdi.cdi.itests.tb8", "?");
 
-			Dictionary<String, Object> p1 = new Hashtable<>();
-			p1.put("singleComponentBean.enabled", false);
+				Dictionary<String, Object> p1 = new Hashtable<>();
+				p1.put("singleComponentBean.enabled", false);
 
-			configurationA.update(p1);
+				configurationA.update(p1);
 
-			for (int i = 20; (i > 0) && (!tracker.isEmpty()); i--) {
-				Thread.sleep(20);
-			}
+				for (int i = 20; (i > 0) && (!tracker.isEmpty()); i--) {
+					Thread.sleep(20);
+				}
 
-			pojo = tracker.getService();
+				pojo = tracker.getService();
 
-			assertNull(pojo);
+				assertNull(pojo);
 
-			p1 = new Hashtable<>();
-			p1.put("singleComponentBean.enabled", true);
+				p1 = new Hashtable<>();
+				p1.put("singleComponentBean.enabled", true);
 
-			configurationA.update(p1);
+				configurationA.update(p1);
 
-			for (int i = 20; (i > 0) && (tracker.isEmpty()); i--) {
-				Thread.sleep(20);
-			}
+				for (int i = 20; (i > 0) && (tracker.isEmpty()); i--) {
+					Thread.sleep(20);
+				}
 
-			pojo = tracker.getService();
+				pojo = tracker.getService();
 
-			assertNotNull(pojo);
-		}
-		finally {
-			if (configurationA != null) {
-				try {
-					configurationA.delete();
-				}
-				catch (Exception e) {
-					// ignore
+				assertNotNull(pojo);
+			}
+			finally {
+				if (configurationA != null) {
+					try {
+						configurationA.delete();
+					}
+					catch (Exception e) {
+						// ignore
+					}
 				}
+				tb8Bundle.uninstall();
 			}
-			tb8Bundle.uninstall();
 		}
 	}
 

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/EventsTests.java Mon Sep 24 20:24:11 2018
@@ -25,7 +25,6 @@ import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.cdi.runtime.dto.ContainerDTO;
-import org.osgi.util.tracker.ServiceTracker;
 
 public class EventsTests extends AbstractTestCase {
 
@@ -44,9 +43,7 @@ public class EventsTests extends Abstrac
 	public void testContainerComponentReferenceEventHandler() throws Exception {
 		Bundle tb = installBundle("tb9.jar");
 
-		try {
-			ServiceTracker<Pojo, Pojo> tracker = track("(objectClass=%s)", Pojo.class.getName());
-
+		try (CloseableTracker<Pojo, Pojo> tracker = track("(objectClass=%s)", Pojo.class.getName())) {
 			Pojo pojo = tracker.waitForService(timeout);
 
 			assertEquals(0, pojo.getCount());
@@ -100,9 +97,7 @@ public class EventsTests extends Abstrac
 	public void testSingleComponentReferenceEventHandler() throws Exception {
 		Bundle tb = installBundle("tb10.jar");
 
-		try {
-			ServiceTracker<Pojo, Pojo> tracker = track("(objectClass=%s)", Pojo.class.getName());
-
+		try (CloseableTracker<Pojo, Pojo> tracker = track("(objectClass=%s)", Pojo.class.getName())) {
 			Pojo pojo = tracker.waitForService(timeout);
 
 			assertEquals(0, pojo.getCount());

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/FactoryComponentTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/FactoryComponentTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/FactoryComponentTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/FactoryComponentTests.java Mon Sep 24 20:24:11 2018
@@ -49,94 +49,102 @@ public class FactoryComponentTests exten
 	public void testFactoryComponent() throws Exception {
 		Bundle tb7Bundle = installBundle("tb7.jar");
 
-		ServiceTracker<BeanService, BeanService> tracker = track(
+		try (CloseableTracker<BeanService, BeanService> tracker = track(
 			"(&(objectClass=%s)(objectClass=*.%s))",
 			BeanService.class.getName(),
-			"ConfigurationBeanF");
+			"ConfigurationBeanF");) {
 
-		BeanService beanService = tracker.waitForService(timeout);
+			BeanService beanService = tracker.waitForService(timeout);
 
-		assertNull(beanService);
+			assertNull(beanService);
 
-		Configuration configurationA = null, configurationB = null;
+			Configuration configurationA = null, configurationB = null;
+			ServiceTracker<BeanService, BeanService> trackerA = null, trackerB = null;
 
-		try {
-			configurationA = configurationAdmin.getFactoryConfiguration("configurationBeanF", "one");
+			try {
+				configurationA = configurationAdmin.getFactoryConfiguration("configurationBeanF", "one");
 
-			Dictionary<String, Object> p1 = new Hashtable<>();
-			p1.put("ports", new int[] {12, 4567});
-			p1.put("instance", "A");
-			configurationA.update(p1);
+				Dictionary<String, Object> p1 = new Hashtable<>();
+				p1.put("ports", new int[] {12, 4567});
+				p1.put("instance", "A");
+				configurationA.update(p1);
 
-			ServiceTracker<BeanService, BeanService> trackerA = track(
-				"(&(objectClass=%s)(objectClass=*.%s)(instance=A))",
-				BeanService.class.getName(),
-				"ConfigurationBeanF");
+				trackerA = track(
+					"(&(objectClass=%s)(objectClass=*.%s)(instance=A))",
+					BeanService.class.getName(),
+					"ConfigurationBeanF");
 
-			BeanService beanServiceA = trackerA.waitForService(timeout);
+				BeanService beanServiceA = trackerA.waitForService(timeout);
 
-			assertNotNull(beanServiceA);
+				assertNotNull(beanServiceA);
 
-			configurationB = configurationAdmin.getFactoryConfiguration("configurationBeanF", "two");
+				configurationB = configurationAdmin.getFactoryConfiguration("configurationBeanF", "two");
 
-			p1 = new Hashtable<>();
-			p1.put("ports", new int[] {45689, 1065});
-			p1.put("instance", "B");
-			configurationB.update(p1);
+				p1 = new Hashtable<>();
+				p1.put("ports", new int[] {45689, 1065});
+				p1.put("instance", "B");
+				configurationB.update(p1);
 
-			ServiceTracker<BeanService, BeanService> trackerB = track(
-				"(&(objectClass=%s)(objectClass=*.%s)(instance=B))",
-				BeanService.class.getName(),
-				"ConfigurationBeanF");
+				trackerB = track(
+					"(&(objectClass=%s)(objectClass=*.%s)(instance=B))",
+					BeanService.class.getName(),
+					"ConfigurationBeanF");
 
-			BeanService beanServiceB = trackerB.waitForService(timeout);
+				BeanService beanServiceB = trackerB.waitForService(timeout);
 
-			assertNotNull(beanServiceB);
+				assertNotNull(beanServiceB);
 
-			assertFalse(beanServiceA == beanServiceB);
+				assertFalse(beanServiceA == beanServiceB);
 
-			int trackingCount = trackerA.getTrackingCount();
+				int trackingCount = trackerA.getTrackingCount();
 
-			configurationA.delete();
+				configurationA.delete();
 
-			for (int i = 10; (i > 0) && (trackerA.getTrackingCount() == trackingCount); i--) {
-				Thread.sleep(20);
-			}
+				for (int i = 10; (i > 0) && (trackerA.getTrackingCount() == trackingCount); i--) {
+					Thread.sleep(20);
+				}
 
-			beanServiceA = trackerA.getService();
+				beanServiceA = trackerA.getService();
 
-			assertNull(beanServiceA);
+				assertNull(beanServiceA);
 
-			trackingCount = trackerB.getTrackingCount();
+				trackingCount = trackerB.getTrackingCount();
 
-			configurationB.delete();
+				configurationB.delete();
 
-			for (int i = 10; (i > 0) && (trackerB.getTrackingCount() == trackingCount); i--) {
-				Thread.sleep(20);
-			}
+				for (int i = 10; (i > 0) && (trackerB.getTrackingCount() == trackingCount); i--) {
+					Thread.sleep(20);
+				}
 
-			beanServiceB = trackerB.getService();
+				beanServiceB = trackerB.getService();
 
-			assertNull(beanServiceB);
-		}
-		finally {
-			if (configurationA != null) {
-				try {
-					configurationA.delete();
+				assertNull(beanServiceB);
+			}
+			finally {
+				if (configurationA != null) {
+					try {
+						configurationA.delete();
+					}
+					catch (Exception e) {
+						// ignore
+					}
 				}
-				catch (Exception e) {
-					// ignore
+				if (configurationB != null) {
+					try {
+						configurationB.delete();
+					}
+					catch (Exception e) {
+						// ignore
+					}
 				}
-			}
-			if (configurationB != null) {
-				try {
-					configurationB.delete();
+				if (trackerA != null) {
+					trackerA.close();
 				}
-				catch (Exception e) {
-					// ignore
+				if (trackerB != null) {
+					trackerB.close();
 				}
+				tb7Bundle.uninstall();
 			}
-			tb7Bundle.uninstall();
 		}
 	}
 

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java Mon Sep 24 20:24:11 2018
@@ -25,7 +25,6 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.wiring.BundleWiring;
-import org.osgi.util.tracker.ServiceTracker;
 
 public class JndiExtensionTests extends AbstractTestCase {
 
@@ -52,37 +51,37 @@ public class JndiExtensionTests extends
 
 	@Test
 	public void testDisableExtensionAndCDIContainerWaits() throws Exception {
-		ServiceTracker<Extension, Extension> et = track(
-			"(&(objectClass=%s)(osgi.cdi.extension=aries.cdi.jndi))",
-			Extension.class.getName());
+		try (CloseableTracker<Extension, Extension> extensionTracker = track(
+				"(&(objectClass=%s)(osgi.cdi.extension=aries.cdi.jndi))",
+				Extension.class.getName());) {
+			assertFalse(extensionTracker.isEmpty());
 
-		assertFalse(et.isEmpty());
+			Bundle extensionBundle = extensionTracker.getServiceReference().getBundle();
 
-		Bundle extensionBundle = et.getServiceReference().getBundle();
+			try (CloseableTracker<BeanManager, BeanManager> bmTracker = trackBM(cdiBundle);) {
+				assertNotNull(bmTracker.waitForService(timeout));
 
-		ServiceTracker<BeanManager, BeanManager> bmTracker = getServiceTracker(cdiBundle);
+				int trackingCount = bmTracker.getTrackingCount();
 
-		assertNotNull(bmTracker.waitForService(timeout));
+				extensionBundle.stop();
 
-		int trackingCount = bmTracker.getTrackingCount();
+				for (int i = 100; (i > 0) && (bmTracker.getTrackingCount() == trackingCount); i--) {
+					Thread.sleep(100);
+				}
 
-		extensionBundle.stop();
+				assertTrue(bmTracker.isEmpty());
 
-		for (int i = 10; (i > 0) && (bmTracker.getTrackingCount() == trackingCount); i--) {
-			Thread.sleep(20);
-		}
-
-		assertTrue(bmTracker.isEmpty());
+				trackingCount = bmTracker.getTrackingCount();
 
-		trackingCount = bmTracker.getTrackingCount();
+				extensionBundle.start();
 
-		extensionBundle.start();
+				for (int i = 20; (i > 0) && (bmTracker.getTrackingCount() == trackingCount); i--) {
+					Thread.sleep(100);
+				}
 
-		for (int i = 20; (i > 0) && (bmTracker.getTrackingCount() == trackingCount); i--) {
-			Thread.sleep(100);
+				assertFalse(bmTracker.isEmpty());
+			}
 		}
-
-		assertFalse(bmTracker.isEmpty());
 	}
 
 }
\ No newline at end of file

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OSGiBeanDescriptorTests.java Mon Sep 24 20:24:11 2018
@@ -44,6 +44,7 @@ public class OSGiBeanDescriptorTests ext
 			assertNotNull(pojo);
 		}
 		finally {
+			st.close();
 			tb2Bundle.uninstall();
 		}
 	}

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java?rev=1841891&r1=1841890&r2=1841891&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/OptionalReluctantReferenceTests.java Mon Sep 24 20:24:11 2018
@@ -47,9 +47,7 @@ public class OptionalReluctantReferenceT
 	public void applicationScoped() throws Exception {
 		Bundle tb = installBundle("tb11.jar");
 
-		try {
-			ServiceTracker<Pojo, Pojo> tracker = track("(&(objectClass=%s)(bean.id=as))", Pojo.class.getName());
-
+		try (CloseableTracker<Pojo, Pojo> tracker = track("(&(objectClass=%s)(bean.id=as))", Pojo.class.getName());) {
 			Pojo pojo = tracker.waitForService(timeout);
 
 			assertEquals(-1, pojo.getCount());
@@ -103,9 +101,7 @@ public class OptionalReluctantReferenceT
 	public void singleComponent() throws Exception {
 		Bundle tb = installBundle("tb11.jar");
 
-		try {
-			ServiceTracker<Pojo, Pojo> tracker = track("(&(objectClass=%s)(bean.id=sc))", Pojo.class.getName());
-
+		try (CloseableTracker<Pojo, Pojo> tracker = track("(&(objectClass=%s)(bean.id=sc))", Pojo.class.getName());) {
 			Pojo pojo = tracker.waitForService(timeout);
 
 			assertEquals(-1, pojo.getCount());
@@ -163,9 +159,7 @@ public class OptionalReluctantReferenceT
 
 		Bundle tb = installBundle("tb11.jar");
 
-		try {
-			ServiceTracker<Pojo, Pojo> tracker = track("(&(objectClass=%s)(bean.id=fc))", Pojo.class.getName());
-
+		try (CloseableTracker<Pojo, Pojo> tracker = track("(&(objectClass=%s)(bean.id=fc))", Pojo.class.getName());) {
 			Pojo pojo = tracker.waitForService(timeout);
 
 			assertNull(pojo);