pax-exam 3.0.0 migration

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1532131 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/CompositeAnnotations.java b/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/CompositeAnnotations.java
index 1f3c4f6..15e61b9 100644
--- a/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/CompositeAnnotations.java
+++ b/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/CompositeAnnotations.java
@@ -35,6 +35,9 @@
 public class CompositeAnnotations {
     public interface C1Service {
     }
+    
+    public interface Dependency extends Runnable {        
+    }
 
     /**
      * This service is also composed of the Component object.
@@ -48,7 +51,7 @@
 
         /* This dependency filter will be configured from our init method */
         @ServiceDependency(name = "D")
-        public volatile Runnable m_runnable;
+        public volatile Dependency m_runnable;
 
         /* Object used to check that methods are called in the proper sequence */
         @ServiceDependency(filter = "(name=" + ENSURE + ")")
@@ -120,7 +123,7 @@
         private volatile Ensure m_sequencer;
 
         // Injected dependency (from CompositeService)
-        public volatile Runnable m_runnable;
+        public volatile Dependency m_runnable;
 
         // lifecycle callback (same method as the one from CompositeService)
         void init() {
@@ -152,7 +155,7 @@
     }
 
     @Component(properties = @Property(name = "foo", value = "bar1"))
-    public static class Dependency1 implements Runnable {
+    public static class Dependency1 implements Dependency {
         public final static String ENSURE = "CompositeAnnotations.Dependency1";
 
         @ServiceDependency(filter = "(name=" + ENSURE + ")")
@@ -169,7 +172,7 @@
     }
 
     @Component(properties = @Property(name = "foo", value = "bar2"))
-    public static class Dependency2 implements Runnable {
+    public static class Dependency2 implements Dependency {
         public final static String ENSURE = "CompositeAnnotations.Dependency2";
 
         @ServiceDependency(filter = "(name=" + ENSURE + ")")
diff --git a/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/SimpleAnnotations.java b/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/SimpleAnnotations.java
index 02d6250..45287d2 100644
--- a/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/SimpleAnnotations.java
+++ b/dependencymanager/test2/src/main/java/org/apache/felix/dependencymanager/test2/components/SimpleAnnotations.java
@@ -38,7 +38,7 @@
      * Provides a <code>Runnable</code> service, which is required by the
      * {@link Consumer} class.
      */
-    @Component(properties = {@Property(name = "foo", value = "bar")})
+    @Component(properties = {@Property(name = "foo", value = "bar"), @Property(name="type", value="SimpleAnnotations")})
     public static class Producer implements Runnable {
         public final static String ENSURE = "SimpleAnnotations.Producer";
         
@@ -111,7 +111,7 @@
         @ServiceDependency
         volatile LogService _logService;
 
-        @ServiceDependency
+        @ServiceDependency(filter="(type=SimpleAnnotations)")
         volatile Runnable _runnable;
 
         @ServiceDependency(filter = "(name=" + ENSURE + ")")
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AdapterAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AdapterAnnotationTest.java
index befe127..43d4d81 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AdapterAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AdapterAnnotationTest.java
@@ -34,7 +34,7 @@
  * Use case: Verify Aspect Annotations usage.
  */
 @RunWith(PaxExam.class)
-public class AdapterAnnotationTest extends TestBase {
+public class AdapterAnnotationTest extends AnnotationBase {
     /**
      * Check if an adapter gets injected with its adaptee using default auto config mode.
      * @throws Throwable 
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AnnotationBase.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AnnotationBase.java
new file mode 100644
index 0000000..a3657d9
--- /dev/null
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AnnotationBase.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+package org.apache.felix.dependencymanager.test2.integration.annotations;
+
+import org.apache.felix.dependencymanager.test2.integration.common.TestBase;
+
+public class AnnotationBase extends TestBase {
+    protected boolean startComponents() {
+        return true;
+    }
+}
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectAnnotationTest.java
index c71ea8e..7309964 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectAnnotationTest.java
@@ -34,7 +34,7 @@
  * Use case: Verify Aspect Annotations usage.
  */
 @RunWith(PaxExam.class)
-public class AspectAnnotationTest extends TestBase {
+public class AspectAnnotationTest extends AnnotationBase {
     @Test
     public void testAspectChain() throws Throwable {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java
index 4c219e3..750c1f1 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleAnnotationTest.java
@@ -32,7 +32,7 @@
  * (init/start/stop/destroy methods).
  */
 @RunWith(PaxExam.class)
-public class AspectLifecycleAnnotationTest extends TestBase {
+public class AspectLifecycleAnnotationTest extends AnnotationBase {
     @Test
     public void testAnnotatedAspect() {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleWithDynamicProxyAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleWithDynamicProxyAnnotationTest.java
index f39610b..e5302d6 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleWithDynamicProxyAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/AspectLifecycleWithDynamicProxyAnnotationTest.java
@@ -32,7 +32,7 @@
  * (init/start/stop/destroy methods).
  */
 @RunWith(PaxExam.class)
-public class AspectLifecycleWithDynamicProxyAnnotationTest extends TestBase {
+public class AspectLifecycleWithDynamicProxyAnnotationTest extends AnnotationBase {
     @Test
     public void testAnnotatedAspect() {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/BundleDependencyAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/BundleDependencyAnnotationTest.java
index ccd8fe6..0d2b5d6 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/BundleDependencyAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/BundleDependencyAnnotationTest.java
@@ -30,7 +30,7 @@
  * Use case: Verify Bundle Dependency annotations usage.
  */
 @RunWith(PaxExam.class)
-public class BundleDependencyAnnotationTest extends TestBase {
+public class BundleDependencyAnnotationTest extends AnnotationBase {
     /**
      * Tests a simple Consumer, which has a BundleDependency over the dependency manager bundle.
      */
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/CompositeAnnotationsTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/CompositeAnnotationsTest.java
index 4b45429..90eaa01 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/CompositeAnnotationsTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/CompositeAnnotationsTest.java
@@ -32,7 +32,7 @@
  * Use case: Verify Composite annotated services.
  */
 @RunWith(PaxExam.class)
-public class CompositeAnnotationsTest extends TestBase {
+public class CompositeAnnotationsTest extends AnnotationBase {
     @Test
     public void testComposite() {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ExtraServicePropertiesTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ExtraServicePropertiesTest.java
index 1707d0a..301cb26 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ExtraServicePropertiesTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ExtraServicePropertiesTest.java
@@ -33,7 +33,7 @@
  * Use case: Verify the a Service may provide its service properties dynamically from its start method.
  */
 @RunWith(PaxExam.class)
-public class ExtraServicePropertiesTest extends TestBase {
+public class ExtraServicePropertiesTest extends AnnotationBase {
     /**
      * Tests if a Service can provide its service properties from its start method.
      */
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/FactoryConfigurationAdapterAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/FactoryConfigurationAdapterAnnotationTest.java
index f094da0..c934258 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/FactoryConfigurationAdapterAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/FactoryConfigurationAdapterAnnotationTest.java
@@ -37,7 +37,7 @@
  * is created from Config Admin.
  */
 @RunWith(PaxExam.class)
-public class FactoryConfigurationAdapterAnnotationTest extends TestBase {
+public class FactoryConfigurationAdapterAnnotationTest extends AnnotationBase {
     @Test
     public void testFactoryConfigurationAdapterAnnotation() throws Throwable {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/Felix4050Test.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/Felix4050Test.java
index 633218c..1d94357 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/Felix4050Test.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/Felix4050Test.java
@@ -32,7 +32,7 @@
  * configuring a named dependency.
  */
 @RunWith(PaxExam.class)
-public class Felix4050Test extends TestBase {
+public class Felix4050Test extends AnnotationBase {
     @Test
     public void testFelix4050() {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/MultipleAnnotationsTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/MultipleAnnotationsTest.java
index 121f950..c971ab8 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/MultipleAnnotationsTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/MultipleAnnotationsTest.java
@@ -30,7 +30,7 @@
  * Use case: Verify complex Annotation usage.
  */
 @RunWith(PaxExam.class)
-public class MultipleAnnotationsTest extends TestBase {
+public class MultipleAnnotationsTest extends AnnotationBase {
     @Test
     public void testMultipleAnnotations() {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PropagateAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PropagateAnnotationTest.java
index e54e5c0..9439ecc 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PropagateAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PropagateAnnotationTest.java
@@ -30,7 +30,7 @@
  * Use case: Verify that dependency "propagate" option is properly propagating properties to provided service.
  */
 @RunWith(PaxExam.class)
-public class PropagateAnnotationTest extends TestBase {
+public class PropagateAnnotationTest extends AnnotationBase {
     @Test
     public void testServiceDependencyPropagate() {
         Ensure e = new Ensure();
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PublisherAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PublisherAnnotationTest.java
index 84c0685..8ac6dda 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PublisherAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/PublisherAnnotationTest.java
@@ -32,7 +32,7 @@
 import org.osgi.framework.ServiceRegistration;
 
 @RunWith(PaxExam.class)
-public class PublisherAnnotationTest extends TestBase {
+public class PublisherAnnotationTest extends AnnotationBase {
     /**
      * A Service that just registers/unregisters its service, using the @ServiceLifecycle annotation.
      */
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ResourceAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ResourceAnnotationTest.java
index e8c80d8..d03f168 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ResourceAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ResourceAnnotationTest.java
@@ -30,7 +30,7 @@
  * Use case: Verify Bundle Dependency annotations usage.
  */
 @RunWith(PaxExam.class)
-public class ResourceAnnotationTest extends TestBase {
+public class ResourceAnnotationTest extends AnnotationBase {
     /**
      * Tests a simple ResourceConsumer
      * @param context
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ServiceFactoryAnnotationTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ServiceFactoryAnnotationTest.java
index 62a0ac2..4fa1635 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ServiceFactoryAnnotationTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/ServiceFactoryAnnotationTest.java
@@ -34,7 +34,7 @@
 import org.osgi.framework.ServiceRegistration;
 
 @RunWith(PaxExam.class)
-public class ServiceFactoryAnnotationTest extends TestBase {
+public class ServiceFactoryAnnotationTest extends AnnotationBase {
     private final Ensure m_ensure = new Ensure();
     @Test
     public void testServiceFactory() {
@@ -70,4 +70,4 @@
         // remove instance
         Assert.assertTrue(factory.remove(conf));
     }
-}
\ No newline at end of file
+}
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/SimpleAnnotationsTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/SimpleAnnotationsTest.java
index 4b5fd83..df42abd 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/SimpleAnnotationsTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/SimpleAnnotationsTest.java
@@ -32,7 +32,7 @@
  * Use case: Ensure that a Provider can be injected into a Consumer, using simple DM annotations.
  */
 @RunWith(PaxExam.class)
-public class SimpleAnnotationsTest extends TestBase
+public class SimpleAnnotationsTest extends AnnotationBase
 {    
 	@Test
 	public void testSimpleAnnotations() throws Throwable
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/TemporalAnnotationsTest.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/TemporalAnnotationsTest.java
index 463248e..2a09ae5 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/TemporalAnnotationsTest.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/annotations/TemporalAnnotationsTest.java
@@ -33,7 +33,7 @@
  * Use case: Verify Temporal Service dependency Annotations usage.
  */
 @RunWith(PaxExam.class)
-public class TemporalAnnotationsTest extends TestBase
+public class TemporalAnnotationsTest extends AnnotationBase
 {
     @Test
     public void testTemporalServiceDependency()
diff --git a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/common/TestBase.java b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/common/TestBase.java
index 8802c9c..43f535f 100644
--- a/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/common/TestBase.java
+++ b/dependencymanager/test2/src/test/java/org/apache/felix/dependencymanager/test2/integration/common/TestBase.java
@@ -81,9 +81,13 @@
     protected BundleContext context;
 
     protected ServiceRegistration logService;
+    
+    protected boolean startComponents() {
+        return false; 
+    }
 
     @Configuration
-    public static Option[] configuration() {
+    public Option[] configuration() {
         final String bundleFileName = System.getProperty(BUNDLE_JAR_SYS_PROP, BUNDLE_JAR_DEFAULT);
         final File bundleFile = new File(bundleFileName);
         if (!bundleFile.canRead()) {
@@ -110,7 +114,7 @@
                 mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager","3.1.1-SNAPSHOT"),
                 mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager.shell", "3.0.2-SNAPSHOT"),
                 mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager.runtime", "3.1.1-SNAPSHOT"),
-                bundle(bundleFile.toURI().toString()));
+                bundle(bundleFile.toURI().toString()).start(startComponents()));
         final Option option = (paxRunnerVmOption != null) ? vmOption(paxRunnerVmOption) : null;
         return OptionUtils.combine(base, option);
     }