You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2015/06/08 14:54:50 UTC

svn commit: r1684173 - in /aries/trunk/jpa/itests/jpa-container-itest: ./ src/test/java/org/apache/aries/jpa/blueprint/aries/itest/ src/test/java/org/apache/aries/jpa/container/itest/ src/test/java/org/apache/aries/jpa/itest/

Author: cschneider
Date: Mon Jun  8 12:54:50 2015
New Revision: 1684173

URL: http://svn.apache.org/r1684173
Log:
[ARIES-1332] Cleaning up versions

Modified:
    aries/trunk/jpa/itests/jpa-container-itest/pom.xml
    aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmTest.java
    aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmfTest.java
    aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithSupplierTest.java
    aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseLinkStartupTest.java
    aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/JPAContainerDataSourceFactoryTest.java
    aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java

Modified: aries/trunk/jpa/itests/jpa-container-itest/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/pom.xml?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/pom.xml (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/pom.xml Mon Jun  8 12:54:50 2015
@@ -296,34 +296,28 @@
         <dependency>
             <groupId>org.apache.aries.jpa</groupId>
             <artifactId>org.apache.aries.jpa.container.itest.bundle</artifactId>
-            <version>1.0.1-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.jpa</groupId>
             <artifactId>org.apache.aries.jpa.container.advanced.itest.bundle</artifactId>
-            <version>1.0.1-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.jpa.itest</groupId>
             <artifactId>org.apache.aries.jpa.container.itest.bundle.blueprint</artifactId>
-            <version>2.0.0-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.jpa.itest</groupId>
             <artifactId>org.apache.aries.jpa.container.itest.bundle.blueprint</artifactId>
-            <version>2.0.0-SNAPSHOT</version>
+            <version>${project.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.aries.quiesce</groupId>
-            <artifactId>org.apache.aries.quiesce.api</artifactId>
-            <version>1.0.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.aries.transaction</groupId>
             <artifactId>org.apache.aries.transaction.manager</artifactId>
             <version>1.0.0</version>
@@ -356,13 +350,13 @@
         <dependency>
             <groupId>org.apache.aries.jpa</groupId>
             <artifactId>org.apache.aries.jpa.eclipselink.adapter</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.jpa</groupId>
             <artifactId>org.apache.aries.jpa.container.itest.bundle.eclipselink</artifactId>
-            <version>1.0.3-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -372,12 +366,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.aries.testsupport</groupId>
-            <artifactId>org.apache.aries.testsupport.unit</artifactId>
-            <version>2.0.0-SNAPSHOT</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
             <version>10.10.2.0</version>

Modified: aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmTest.java?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmTest.java (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmTest.java Mon Jun  8 12:54:50 2015
@@ -34,7 +34,7 @@ public class BlueprintWithEmTest extends
     public void testEmfAddQuery() throws Exception {
 		Map<String,String> filters = new HashMap<String,String>();
 		filters.put("type", "em");
-		carService = getServie(CarService.class, filters);
+		carService = getService(CarService.class, "(type=em)");
 		
 		resolveBundles();
         Car c = new Car();
@@ -51,9 +51,7 @@ public class BlueprintWithEmTest extends
 
 	@Test
     public void testEmAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "em");
-		carService = getServie(CarService.class, filters);
+		carService = getService(CarService.class, "(type=em)");
 		
 		resolveBundles();
         Car c = new Car();
@@ -70,9 +68,7 @@ public class BlueprintWithEmTest extends
 	
 	@Test
     public void testSupplierAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "supplier");
-		carService = getServie(CarService.class, filters);
+		carService = getService(CarService.class, "(type=supplier)");
 		
 		resolveBundles();
         Car c = new Car();

Modified: aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmfTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmfTest.java?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmfTest.java (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithEmfTest.java Mon Jun  8 12:54:50 2015
@@ -28,13 +28,9 @@ import org.ops4j.pax.exam.Option;
 
 public class BlueprintWithEmfTest extends AbstractJPAItest {
     
-	CarService carService;
-
 	@Test
     public void testEmfAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "emf");
-		carService = getServie(CarService.class, filters);
+		CarService carService = getService(CarService.class, "(type=emf)");
 		
 		resolveBundles();
         Car c = new Car();
@@ -51,9 +47,7 @@ public class BlueprintWithEmfTest extend
 
 	@Test
     public void testEmAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "em");
-		carService = getServie(CarService.class, filters);
+		CarService carService = getService(CarService.class, "(type=emf)");
 		
 		resolveBundles();
         Car c = new Car();
@@ -70,9 +64,7 @@ public class BlueprintWithEmfTest extend
 	
 	@Test
     public void testSupplierAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "supplier");
-		carService = getServie(CarService.class, filters);
+		CarService carService = getService(CarService.class, "(type=supplier)");
 		
 		resolveBundles();
         Car c = new Car();

Modified: aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithSupplierTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithSupplierTest.java?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithSupplierTest.java (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/blueprint/aries/itest/BlueprintWithSupplierTest.java Mon Jun  8 12:54:50 2015
@@ -15,9 +15,6 @@
  */
 package org.apache.aries.jpa.blueprint.aries.itest;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.aries.jpa.itest.AbstractJPAItest;
 import org.apache.aries.jpa.itest.testbundle.entities.Car;
 import org.apache.aries.jpa.itest.testbundle.service.CarService;
@@ -27,14 +24,10 @@ import org.ops4j.pax.exam.Configuration;
 import org.ops4j.pax.exam.Option;
 
 public class BlueprintWithSupplierTest extends AbstractJPAItest {
-    
-	CarService carService;
 
 	@Test
     public void testEmfAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "supplier");
-		carService = getServie(CarService.class, filters);
+		CarService carService = getService(CarService.class, "(type=supplier)");
 		
 		resolveBundles();
         Car c = new Car();
@@ -51,9 +44,7 @@ public class BlueprintWithSupplierTest e
 
 	@Test
     public void testEmAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "em");
-		carService = getServie(CarService.class, filters);
+		CarService carService = getService(CarService.class, "(type=em)");
 		
 		resolveBundles();
         Car c = new Car();
@@ -70,9 +61,7 @@ public class BlueprintWithSupplierTest e
 	
 	@Test
     public void testSupplierAddQuery() throws Exception {
-		Map<String,String> filters = new HashMap<String,String>();
-		filters.put("type", "supplier");
-		carService = getServie(CarService.class, filters);
+		CarService carService = getService(CarService.class, "(type=supplier)");
 		
 		resolveBundles();
         Car c = new Car();

Modified: aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseLinkStartupTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseLinkStartupTest.java?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseLinkStartupTest.java (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseLinkStartupTest.java Mon Jun  8 12:54:50 2015
@@ -19,16 +19,18 @@ import org.apache.aries.jpa.itest.Abstra
 import org.junit.Test;
 import org.ops4j.pax.exam.Configuration;
 import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.options.AbstractProvisionControl;
+import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
 
 public class EclipseLinkStartupTest extends AbstractJPAItest {
 
     @Test
     public void testContextCreationWithStartingBundle() throws Exception {
-        context().getBundleByName("org.apache.aries.jpa.container.itest.bundle.eclipselink").start();
+        getBundleByName("org.apache.aries.jpa.container.itest.bundle.eclipselink").start();
         getEMF("script-test-unit");
     }
 
-    @Configuration
+	@Configuration
     public Option[] configuration() {
         return new Option[] {//
             baseOptions(),//

Modified: aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/JPAContainerDataSourceFactoryTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/JPAContainerDataSourceFactoryTest.java?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/JPAContainerDataSourceFactoryTest.java (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/JPAContainerDataSourceFactoryTest.java Mon Jun  8 12:54:50 2015
@@ -41,6 +41,9 @@ public class JPAContainerDataSourceFacto
     @Filter("(osgi.unit.name=" + DSF_XA_TEST_UNIT + ")")
     EntityManagerFactory emfDSFXA;
     
+    @Inject
+    UserTransaction ut;
+    
 
     @Test
     public void testDataSourceFactoryLifecycle() throws Exception {
@@ -65,7 +68,6 @@ public class JPAContainerDataSourceFacto
         EntityManager em = emfDSFXA.createEntityManager();
 
         // Use a JTA transaction to show integration
-        UserTransaction ut = context().getService(UserTransaction.class);
         ut.begin();
         em.joinTransaction();
         Car c = createCar();

Modified: aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java?rev=1684173&r1=1684172&r2=1684173&view=diff
==============================================================================
--- aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java (original)
+++ aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java Mon Jun  8 12:54:50 2015
@@ -8,28 +8,37 @@ import static org.ops4j.pax.exam.CoreOpt
 import static org.ops4j.pax.exam.CoreOptions.vmOption;
 import static org.ops4j.pax.exam.CoreOptions.when;
 
-import java.util.Map;
-
+import javax.inject.Inject;
 import javax.persistence.EntityManagerFactory;
 
-import org.apache.aries.itest.AbstractIntegrationTest;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.options.AbstractProvisionControl;
 import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
 import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+import org.osgi.framework.Filter;
+import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
 
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
-public abstract class AbstractJPAItest extends AbstractIntegrationTest {
+public abstract class AbstractJPAItest {
     protected static final String TEST_UNIT = "test-unit";
     protected static final String BP_TEST_UNIT = "bp-test-unit";
     protected static final String BP_XA_TEST_UNIT = "bp-xa-test-unit";
     protected static final String TEST_BUNDLE_NAME = "org.apache.aries.jpa.org.apache.aries.jpa.container.itest.bundle";
     
+    @Inject
+    protected BundleContext bundleContext;
+
     /**
      * TODO check calls to this. Eventually switch to EmSupplier 
      */
@@ -38,22 +47,62 @@ public abstract class AbstractJPAItest e
     }
     
     protected EntityManagerFactory getEMF(String name) {
-        return context().getService(EntityManagerFactory.class, "osgi.unit.name=" + name);
+        return getService(EntityManagerFactory.class, "osgi.unit.name=" + name);
     }
 
-    protected <T> T getServie(Class<T> type, Map<String, String> filters) {
-		if (filters.size() > 0) {
-			String filterS = "(&";
-			for (String key : filters.keySet()) {
-				String value = filters.get(key);
-				filterS += String.format("(%s=%s)", key, value);
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+	public <T> T getService(Class<T> type, String filter) {
+        ServiceTracker tracker = null;
+        try {
+            String flt;
+            if (filter != null) {
+                if (filter.startsWith("(")) {
+                    flt = "(&(" + Constants.OBJECTCLASS + "=" + type.getName() + ")" + filter + ")";
+                } else {
+                    flt = "(&(" + Constants.OBJECTCLASS + "=" + type.getName() + ")(" + filter + "))";
+                }
+            } else {
+                flt = "(" + Constants.OBJECTCLASS + "=" + type.getName() + ")";
+            }
+            Filter osgiFilter = FrameworkUtil.createFilter(flt);
+            tracker = new ServiceTracker(bundleContext, osgiFilter, null);
+            tracker.open();
+
+            Object svc = type.cast(tracker.waitForService(10000));
+            if (svc == null) {
+                throw new RuntimeException("Gave up waiting for service " + flt);
+            }
+            return type.cast(svc);
+        } catch (InvalidSyntaxException e) {
+            throw new IllegalArgumentException("Invalid filter", e);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
+	/**
+	 * Helps to diagnose bundles that are not resolved as it will throw a detailed exception
+	 * 
+	 * @throws BundleException
+	 */
+	public void resolveBundles() throws BundleException {
+		Bundle[] bundles = bundleContext.getBundles();
+		for (Bundle bundle : bundles) {
+			if (bundle.getState() == Bundle.INSTALLED) {
+				System.out.println("Found non resolved bundle " + bundle.getBundleId() + ":" + bundle.getSymbolicName() + ":" + bundle.getVersion());
+				bundle.start();
 			}
-			filterS += ")";
-			return context().getService(type, filterS);
-		} else {
-			return context().getService(type);
 		}
 	}
+	
+    public Bundle getBundleByName(String symbolicName) {
+        for (Bundle b : bundleContext.getBundles()) {
+            if (b.getSymbolicName().equals(symbolicName)) {
+                return b;
+            }
+        }
+        return null;
+    }
 
     @SuppressWarnings("rawtypes")
     protected ServiceReference[] getEMFRefs(String name) throws InvalidSyntaxException {
@@ -73,7 +122,6 @@ public abstract class AbstractJPAItest e
         return composite(junitBundles(),
                 mavenBundle("org.ops4j.pax.logging", "pax-logging-api", "1.7.2"),
                 mavenBundle("org.ops4j.pax.logging", "pax-logging-service", "1.7.2"),
-                mvnBundle("org.apache.aries.testsupport", "org.apache.aries.testsupport.unit"),
                 // this is how you set the default log level when using pax
                 // logging (logProfile)
                 systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("INFO"),