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

Reply via email to