Repository: ode Updated Branches: refs/heads/master d69681191 -> 137429a43
ODE-666: Ported remaining testcases which were on HSQL to H2 Project: http://git-wip-us.apache.org/repos/asf/ode/repo Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/137429a4 Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/137429a4 Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/137429a4 Branch: refs/heads/master Commit: 137429a43572e36334502ed3d88f6b023170a017 Parents: d696811 Author: sathwik <[email protected]> Authored: Thu Aug 6 20:28:29 2015 +0530 Committer: sathwik <[email protected]> Committed: Thu Aug 6 20:28:29 2015 +0530 ---------------------------------------------------------------------- Rakefile | 6 ++-- .../jdbc/JdbcExternalVariableEngineTest.java | 13 +++------ .../org/apache/ode/store/ProcessStoreImpl.java | 29 ++++++++++---------- .../ode/dao/jpa/test/InsertObjectTest.java | 14 ++++------ .../ode/dao/jpa/test/SelectObjectTest.java | 14 ++++------ .../ode/scheduler/simple/DelegateSupport.java | 11 ++++---- .../src/test/resources/simplesched-h2.sql | 28 +++++++++++++++++++ 7 files changed, 64 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/Rakefile ---------------------------------------------------------------------- diff --git a/Rakefile b/Rakefile index 4574e60..21be262 100644 --- a/Rakefile +++ b/Rakefile @@ -251,7 +251,7 @@ define "ode" do desc "ODE Simple Scheduler" define "scheduler-simple" do compile.with projects("bpel-api", "utils"), COMMONS.collections, JAVAX.transaction, SLF4J, LOG4J - test.compile.with HSQLDB, GERONIMO.kernel, GERONIMO.transaction + test.compile.with H2::REQUIRES, HSQLDB, GERONIMO.kernel, GERONIMO.transaction test.with H2::REQUIRES, HSQLDB, JAVAX.transaction, JAVAX.resource, JAVAX.connector, GERONIMO.kernel, GERONIMO.transaction, GERONIMO.connector, TRANQL, BACKPORT, JAVAX.ejb test.exclude('*') if Buildr.environment == 'hudson' @@ -275,7 +275,7 @@ define "ode" do define "bpel-store" do compile.with projects("bpel-api", "bpel-compiler", "bpel-dao", "bpel-nobj", "bpel-schemas", "bpel-epr", "dao-hibernate", "dao-jpa", "utils"), - JAVAX.persistence, JAVAX.stream, JAVAX.transaction, HIBERNATE, HSQLDB, XMLBEANS, XERCES, WSDL4J, OPENJPA, SPRING, SLF4J, LOG4J, JACKSON + JAVAX.persistence, JAVAX.stream, JAVAX.transaction, HIBERNATE, HSQLDB, XMLBEANS, XERCES, WSDL4J, OPENJPA, SPRING, SLF4J, LOG4J, JACKSON, H2::REQUIRES compile { open_jpa_enhance } resources hibernate_doclet(:package=>"org.apache.ode.store.hib", :excludedtags=>"@version,@author,@todo") @@ -399,7 +399,7 @@ define "ode" do test.with projects("bpel-api", "bpel-dao", "bpel-nobj", "bpel-epr", "dao-jpa", "utils"), BACKPORT, COMMONS.collections, COMMONS.lang, COMMONS.logging, GERONIMO.transaction, GERONIMO.kernel, GERONIMO.connector, HSQLDB, JAVAX.connector, JAVAX.ejb, JAVAX.persistence, - JAVAX.transaction, LOG4J, OPENJPA, XERCES, WSDL4J + JAVAX.transaction, LOG4J, OPENJPA, XERCES, WSDL4J, H2::REQUIRES build derby_db build h2_db http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/bpel-runtime/src/test/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableEngineTest.java ---------------------------------------------------------------------- diff --git a/bpel-runtime/src/test/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableEngineTest.java b/bpel-runtime/src/test/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableEngineTest.java index 4bfb2ab..f713c90 100644 --- a/bpel-runtime/src/test/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableEngineTest.java +++ b/bpel-runtime/src/test/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableEngineTest.java @@ -32,7 +32,7 @@ import org.apache.ode.utils.DOMUtils; import org.apache.ode.utils.GUID; import org.apache.ode.bpel.evar.ExternalVariableModule.Locator; import org.apache.ode.bpel.evar.ExternalVariableModule.Value; -import org.hsqldb.jdbc.JDBCDataSource; +import org.h2.jdbcx.JdbcDataSource; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -54,20 +54,15 @@ public class JdbcExternalVariableEngineTest extends TestCase { final QName _varType = new QName("foo", "foobar"); ExternalVariableConf _econf; - JDBCDataSource _ds; + JdbcDataSource _ds; JdbcExternalVariableModule _engine; Element _el1; public void setUp() throws Exception { - _ds = new org.hsqldb.jdbc.JDBCDataSource(); - _ds.setDatabase("jdbc:hsqldb:mem:" + new GUID().toString()); + _ds = new org.h2.jdbcx.JdbcDataSource(); + _ds.setURL("jdbc:h2:mem:" + new GUID().toString()+";DB_CLOSE_DELAY=-1"); _ds.setUser("sa"); - //this is to allow column names to start with underscores. - Properties prop = new Properties(); - prop.setProperty("sql.regular_names", "false"); - _ds.setProperties(prop); - Connection conn = _ds.getConnection(); Statement s = conn.createStatement(); s.execute("create table extvartable1 (" + http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java ---------------------------------------------------------------------- diff --git a/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java b/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java index 5043d73..cf7d194 100644 --- a/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java +++ b/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java @@ -29,7 +29,7 @@ import org.apache.ode.store.DeploymentUnitDir.CBPInfo; import org.apache.ode.utils.DOMUtils; import org.apache.ode.utils.GUID; import org.apache.ode.utils.msg.MessageBundle; -import org.hsqldb.jdbc.JDBCDataSource; +import org.h2.jdbcx.JdbcDataSource; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -48,7 +48,7 @@ import java.util.regex.Pattern; /** * <p> - * JDBC-based implementation of a process store. Also provides an "in-memory" store by way of HSQL database. + * JDBC-based implementation of a process store. Also provides an "in-memory" store by way of H2 database. * </p> * * <p> @@ -118,15 +118,15 @@ public class ProcessStoreImpl implements ProcessStore { _cf = new org.apache.ode.store.jpa.DbConfStoreConnectionFactory(ds, props.getProperties(), createDatamodel, props.getTxFactoryClass()); } } else { - // If the datasource is not provided, then we create a HSQL-based + // If the datasource is not provided, then we create a H2-based // in-memory database. Makes testing a bit simpler. - DataSource hsqlds = createInternalDS(new GUID().toString()); + DataSource h2 = createInternalDS(new GUID().toString()); if ("hibernate".equalsIgnoreCase(persistenceType)) { - _cf = new org.apache.ode.store.hib.DbConfStoreConnectionFactory(hsqlds, props.getProperties(), createDatamodel, props.getTxFactoryClass()); + _cf = new org.apache.ode.store.hib.DbConfStoreConnectionFactory(h2, props.getProperties(), createDatamodel, props.getTxFactoryClass()); } else { - _cf = new org.apache.ode.store.jpa.DbConfStoreConnectionFactory(hsqlds, props.getProperties(), createDatamodel, props.getTxFactoryClass()); + _cf = new org.apache.ode.store.jpa.DbConfStoreConnectionFactory(h2, props.getProperties(), createDatamodel, props.getTxFactoryClass()); } - _inMemDs = hsqlds; + _inMemDs = h2; } @@ -138,10 +138,10 @@ public class ProcessStoreImpl implements ProcessStore { */ public ProcessStoreImpl(EndpointReferenceContext eprContext, DataSource inMemDs) { this.eprContext = eprContext; - DataSource hsqlds = createInternalDS(new GUID().toString()); + DataSource h2 = createInternalDS(new GUID().toString()); //when in memory we always create the model as we are starting from scratch - _cf = new org.apache.ode.store.jpa.DbConfStoreConnectionFactory(hsqlds, true, OdeConfigProperties.DEFAULT_TX_FACTORY_CLASS_NAME); - _inMemDs = hsqlds; + _cf = new org.apache.ode.store.jpa.DbConfStoreConnectionFactory(h2, true, OdeConfigProperties.DEFAULT_TX_FACTORY_CLASS_NAME); + _inMemDs = h2; } public void shutdown() { @@ -857,11 +857,10 @@ public class ProcessStoreImpl implements ProcessStore { } public static DataSource createInternalDS(String guid) { - JDBCDataSource hsqlds = new JDBCDataSource(); - hsqlds.setDatabase("jdbc:hsqldb:mem:" + guid); - hsqlds.setUser("sa"); - hsqlds.setPassword(""); - return hsqlds; + JdbcDataSource h2 = new JdbcDataSource(); + h2.setURL("jdbc:h2:mem:" + new GUID().toString()+";DB_CLOSE_DELAY=-1"); + h2.setUser("sa"); + return h2; } public static void shutdownInternalDB(DataSource ds) { http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java ---------------------------------------------------------------------- diff --git a/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java b/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java index 20798f5..df35da0 100644 --- a/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java +++ b/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java @@ -37,7 +37,7 @@ import org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl; import org.apache.ode.il.EmbeddedGeronimoFactory; import org.apache.ode.utils.DOMUtils; import org.apache.ode.utils.GUID; -import org.hsqldb.jdbc.JDBCDataSource; +import org.h2.jdbcx.JdbcDataSource; import org.xml.sax.SAXException; import javax.sql.DataSource; @@ -62,14 +62,10 @@ public class InsertObjectTest extends TestCase { @Override protected void setUp() throws Exception { - JDBCDataSource hsqlds = new JDBCDataSource(); - hsqlds.setDatabase("jdbc:hsqldb:mem:" + new GUID().toString()); - hsqlds.setUser("sa"); - hsqlds.setPassword(""); - Properties prop = new Properties(); - prop.setProperty("sql.enforce_size", "false"); - hsqlds.setProperties(prop); - _ds = hsqlds; + JdbcDataSource h2 = new JdbcDataSource(); + h2.setURL("jdbc:h2:mem:" + new GUID().toString()+";DB_CLOSE_DELAY=-1"); + h2.setUser("sa"); + _ds = h2; _txm = new EmbeddedGeronimoFactory().getTransactionManager(); http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java ---------------------------------------------------------------------- diff --git a/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java b/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java index a54eb49..e049a4a 100644 --- a/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java +++ b/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java @@ -39,7 +39,7 @@ import org.apache.ode.bpel.dao.XmlDataDAO; import org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl; import org.apache.ode.il.EmbeddedGeronimoFactory; import org.apache.ode.utils.GUID; -import org.hsqldb.jdbc.JDBCDataSource; +import org.h2.jdbcx.JdbcDataSource; import javax.persistence.EntityManager; import javax.sql.DataSource; @@ -65,14 +65,10 @@ public class SelectObjectTest extends TestCase { @Override protected void setUp() throws Exception { - JDBCDataSource hsqlds = new JDBCDataSource(); - hsqlds.setDatabase("jdbc:hsqldb:mem:" + new GUID().toString()); - hsqlds.setUser("sa"); - hsqlds.setPassword(""); - Properties prop = new Properties(); - prop.setProperty("sql.enforce_size", "false"); - hsqlds.setProperties(prop); - _ds = hsqlds; + JdbcDataSource h2 = new JdbcDataSource(); + h2.setURL("jdbc:h2:mem:" + new GUID().toString()+";DB_CLOSE_DELAY=-1"); + h2.setUser("sa"); + _ds = h2; _txm = new EmbeddedGeronimoFactory().getTransactionManager(); http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/DelegateSupport.java ---------------------------------------------------------------------- diff --git a/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/DelegateSupport.java b/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/DelegateSupport.java index 618a8e4..dffdb5b 100644 --- a/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/DelegateSupport.java +++ b/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/DelegateSupport.java @@ -48,11 +48,10 @@ public class DelegateSupport { } protected void initialize(TransactionManager txm) throws Exception { - JdbcDataSource ds = new JdbcDataSource(); - ds.setURL("jdbc:h2:mem:" + new GUID().toString() + ";DB_CLOSE_DELAY=-1"); - ds.setUser("sa"); - ds.setPassword(""); - _ds = ds; + JdbcDataSource h2 = new JdbcDataSource(); + h2.setURL("jdbc:h2:mem:" + new GUID().toString()+";DB_CLOSE_DELAY=-1"); + h2.setUser("sa"); + _ds = h2; setup(); _del = new JdbcDelegate(_ds); @@ -68,7 +67,7 @@ public class DelegateSupport { StringBuffer sql = new StringBuffer(); { - InputStream in = getClass().getResourceAsStream("/simplesched-hsql.sql"); + InputStream in = getClass().getResourceAsStream("/simplesched-h2.sql"); int v; while ((v = in.read()) != -1) { sql.append((char) v); http://git-wip-us.apache.org/repos/asf/ode/blob/137429a4/scheduler-simple/src/test/resources/simplesched-h2.sql ---------------------------------------------------------------------- diff --git a/scheduler-simple/src/test/resources/simplesched-h2.sql b/scheduler-simple/src/test/resources/simplesched-h2.sql new file mode 100644 index 0000000..a2c0929 --- /dev/null +++ b/scheduler-simple/src/test/resources/simplesched-h2.sql @@ -0,0 +1,28 @@ +-- Apache ODE - SimpleScheduler Database Schema +-- +-- Apache H2 scripts by Maciej Szefler. +-- +-- +CREATE TABLE ODE_JOB ( + jobid CHAR(64) NOT NULL DEFAULT '', + ts BIGINT NOT NULL DEFAULT 0, + nodeid char(64) NULL, + scheduled int NOT NULL DEFAULT 0, + transacted int NOT NULL DEFAULT 0, + + instanceId BIGINT, + mexId varchar(255), + processId varchar(255), + type varchar(255), + channel varchar(255), + correlatorId varchar(255), + correlationKeySet varchar(255), + retryCount int, + inMem int, + detailsExt blob(4096), + + PRIMARY KEY(jobid) +); + +create index IDX_ODE_JOB_TS on ODE_JOB(ts); +create index IDX_ODE_JOB_NODEID on ODE_JOB(nodeid); \ No newline at end of file
