[ARIES-1497] Update to new versions. Simpler config handling
git-svn-id: https://svn.apache.org/repos/asf/aries/trunk/jpa@1776938 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/itests/jpa-container-itest-karaf/pom.xml b/itests/jpa-container-itest-karaf/pom.xml
index 68b3485..c60c5c4 100644
--- a/itests/jpa-container-itest-karaf/pom.xml
+++ b/itests/jpa-container-itest-karaf/pom.xml
@@ -34,6 +34,7 @@
<properties>
<baseline.skip>true</baseline.skip>
+ <karaf.version>4.0.8</karaf.version>
</properties>
<dependencies>
@@ -55,7 +56,6 @@
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-atinject_1.0_spec</artifactId>
- <version>1.0</version>
<scope>test</scope>
</dependency>
@@ -82,7 +82,7 @@
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>enterprise</artifactId>
- <version>4.0.1</version>
+ <version>${karaf.version}</version>
<type>xml</type>
<classifier>features</classifier>
<scope>test</scope>
diff --git a/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java b/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java
index 3a5b875..c188e80 100644
--- a/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java
+++ b/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java
@@ -17,22 +17,21 @@
import static org.ops4j.pax.exam.CoreOptions.maven;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
import static org.ops4j.pax.exam.CoreOptions.vmOption;
import static org.ops4j.pax.exam.CoreOptions.when;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.configureSecurity;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceConfigurationFile;
import java.io.File;
-import java.io.IOException;
-import java.util.Dictionary;
-import java.util.Hashtable;
import javax.inject.Inject;
-import org.junit.Before;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.CoreOptions;
import org.ops4j.pax.exam.Option;
@@ -49,30 +48,16 @@
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.service.cm.Configuration;
-import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.jdbc.DataSourceFactory;
import org.osgi.util.tracker.ServiceTracker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
public abstract class AbstractJPAItest {
- private static Logger LOG = LoggerFactory.getLogger(AbstractJPAItest.class);
+ private static final String DS_CONFIG = "etc/org.ops4j.datasource-tasklist.cfg";
- /*
- * The @Inject annotations below currently do not work as the transaction-api/1.2 feature installs an atinject bundle that
- * confuses pax exam. As a workaround the services are set below in the @Before method
- */
-
@Inject
- BundleContext bundleContext;
-
- @Inject
- ConfigurationAdmin configAdmin;
-
- private static Configuration config;
+ private BundleContext bundleContext;
/**
* Helps to diagnose bundles that are not resolved as it will throw a detailed exception
@@ -137,7 +122,7 @@
if (localRepo == null) {
localRepo = System.getProperty("org.ops4j.pax.url.mvn.localRepository");
}
- MavenArtifactUrlReference karafUrl = maven().groupId("org.apache.karaf").artifactId("apache-karaf").version("4.0.1").type("tar.gz");
+ MavenArtifactUrlReference karafUrl = maven().groupId("org.apache.karaf").artifactId("apache-karaf").version("4.0.8").type("tar.gz");
UrlReference enterpriseFeatureUrl = maven().groupId("org.apache.karaf.features").artifactId("enterprise").versionAsInProject().type("xml").classifier("features");
UrlReference jpaFeatureUrl = maven().groupId("org.apache.aries.jpa").artifactId("jpa-features").versionAsInProject().type("xml").classifier("features");
UrlReference paxJdbcFeatureUrl = maven().groupId("org.ops4j.pax.jdbc").artifactId("pax-jdbc-features").version("0.7.0").type("xml").classifier("features");
@@ -145,50 +130,20 @@
//KarafDistributionOption.debugConfiguration("8000", true),
karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache Karaf").unpackDirectory(new File("target/exam")).useDeployFolder(false),
configureSecurity().disableKarafMBeanServerBuilder(),
+ systemProperty("pax.exam.osgi.unresolved.fail").value("true"),
keepRuntimeFolder(),
logLevel(LogLevel.INFO),
when(localRepo != null).useOptions(vmOption("-Dorg.ops4j.pax.url.mvn.localRepository=" + localRepo)),
features(paxJdbcFeatureUrl, "pax-jdbc-config", "pax-jdbc-h2", "pax-jdbc-pool-dbcp2"),
features(enterpriseFeatureUrl, "transaction", "http-whiteboard", "hibernate/4.3.6.Final", "scr"),
features(jpaFeatureUrl, "jpa"),
- mavenBundle("org.apache.aries.jpa.example", "org.apache.aries.jpa.example.tasklist.model").versionAsInProject()
+ mavenBundle("org.apache.aries.jpa.example", "org.apache.aries.jpa.example.tasklist.model").versionAsInProject(),
+ editConfigurationFilePut(DS_CONFIG, DataSourceFactory.OSGI_JDBC_DRIVER_NAME, "H2-pool-xa"),
+ editConfigurationFilePut(DS_CONFIG, DataSourceFactory.JDBC_DATABASE_NAME, "tasklist;create=true"),
+ editConfigurationFilePut(DS_CONFIG, DataSourceFactory.JDBC_DATASOURCE_NAME, "tasklist"),
+ replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", new File("src/test/resources/org.ops4j.pax.logging.cfg"))
// replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", getConfigFile("/etc/org.ops4j.pax.logging.cfg")),
);
-
- }
-
- @Before
- public void createConfigs() throws Exception {
- if (config == null) {
- bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
- configAdmin = getService(ConfigurationAdmin.class, null);
- createConfigForLogging();
- createConfigForDS();
-
- }
- }
-
- private void createConfigForDS() throws IOException {
- config = configAdmin.createFactoryConfiguration("org.ops4j.datasource", null);
- Dictionary<String, String> props = new Hashtable<String, String>();
- props.put(DataSourceFactory.OSGI_JDBC_DRIVER_NAME, "H2-pool-xa");
- props.put(DataSourceFactory.JDBC_DATABASE_NAME, "tasklist;create=true");
- props.put(DataSourceFactory.JDBC_DATASOURCE_NAME, "tasklist");
- config.update(props);
- LOG.info("Created DataSource config tasklist");
- }
-
- private void createConfigForLogging() throws IOException {
- Configuration logConfig = configAdmin.getConfiguration("org.ops4j.pax.logging", null);
- Dictionary<String, String> props = new Hashtable<String, String>();
- props.put("log4j.rootLogger", "INFO, stdout");
- props.put("log4j.logger.org.apache.aries.transaction", "DEBUG");
- props.put("log4j.logger.org.apache.aries.transaction.parsing", "DEBUG");
- props.put("log4j.logger.org.apache.aries.jpa.blueprint.impl", "DEBUG");
- props.put("log4j.appender.stdout", "org.apache.log4j.ConsoleAppender");
- props.put("log4j.appender.stdout.layout", "org.apache.log4j.PatternLayout");
- props.put("log4j.appender.stdout.layout.ConversionPattern", "%d{ISO8601} | %-5.5p | %-16.16t | %c | %m%n");
- logConfig.update(props);
}
}
diff --git a/itests/jpa-container-itest-karaf/src/test/resources/org.ops4j.pax.logging.cfg b/itests/jpa-container-itest-karaf/src/test/resources/org.ops4j.pax.logging.cfg
new file mode 100644
index 0000000..38c577f
--- /dev/null
+++ b/itests/jpa-container-itest-karaf/src/test/resources/org.ops4j.pax.logging.cfg
@@ -0,0 +1,7 @@
+log4j.rootLogger=INFO, stdout
+log4j.logger.org.apache.aries.transaction=DEBUG
+log4j.logger.org.apache.aries.transaction.parsing=DEBUG
+log4j.logger.org.apache.aries.jpa.blueprint.impl=DEBUG
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %c | %m%n
diff --git a/itests/pom.xml b/itests/pom.xml
index 657e7e8..43176ef 100644
--- a/itests/pom.xml
+++ b/itests/pom.xml
@@ -35,10 +35,10 @@
<properties>
<paxlogging.version>1.7.3</paxlogging.version>
- <exam.version>4.6.0</exam.version>
+ <exam.version>4.9.1</exam.version>
<url.version>1.6.0</url.version>
<hibernate42.version>4.2.15.Final</hibernate42.version>
- <hibernate43.version>4.2.15.Final</hibernate43.version>
+ <hibernate43.version>4.4.9</hibernate43.version>
<ant.bundle.version>1.8.2_2</ant.bundle.version>
<antlr.bundle.version>2.7.7_5</antlr.bundle.version>
<dom4j.bundle.version>1.6.1_5</dom4j.bundle.version>