You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/11/18 16:49:04 UTC

svn commit: r718634 - /ode/branches/APACHE_ODE_1.X/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java

Author: mriou
Date: Tue Nov 18 07:49:04 2008
New Revision: 718634

URL: http://svn.apache.org/viewvc?rev=718634&view=rev
Log:
ODE-427 Ability to run BPELTestAbstract without hibernate on the classpath

Modified:
    ode/branches/APACHE_ODE_1.X/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java

Modified: ode/branches/APACHE_ODE_1.X/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java?rev=718634&r1=718633&r2=718634&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java Tue Nov 18 07:49:04 2008
@@ -86,9 +86,6 @@
     /** Guards access to the _processes and _deploymentUnits */
     private final ReadWriteLock _rw = new ReentrantReadWriteLock();
 
-    /** GUID used to create a unique in-memory db. */
-    private String _guid = new GUID().toString();
-
     private ConfStoreConnectionFactory _cf;
 
     private EndpointReferenceContext eprContext;
@@ -125,7 +122,7 @@
         } else {
             // If the datasource is not provided, then we create a HSQL-based in-memory
             // database. Makes testing a bit simpler.
-            DataSource hsqlds = createInternalDS(_guid);
+            DataSource hsqlds = createInternalDS(new GUID().toString());
             if ("hibernate".equalsIgnoreCase(persistenceType))
                 _cf = new org.apache.ode.store.hib.DbConfStoreConnectionFactory(hsqlds, props.getProperties(), createDatamodel);
             else
@@ -135,6 +132,17 @@
 
     }
 
+    /**
+     * Constructor that hardwires OpenJPA on a new in-memory database. Suitable for tests.
+     */
+    public ProcessStoreImpl(EndpointReferenceContext eprContext, ConfStoreConnectionFactory cf, DataSource inMemDs) {
+        this.eprContext = eprContext;
+        DataSource hsqlds = 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);
+        _inMemDs = inMemDs;
+    }
+
     public void shutdown() {
         if (_inMemDs != null) {
             shutdownInternalDB(_inMemDs);
@@ -503,15 +511,15 @@
 
     private void fireStateChange(QName processId, ProcessState state, String duname) {
         switch (state) {
-        case ACTIVE:
-            fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.ACTVIATED, processId, duname));
-            break;
-        case DISABLED:
-            fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.DISABLED, processId, duname));
-            break;
-        case RETIRED:
-            fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.RETIRED, processId, duname));
-            break;
+            case ACTIVE:
+                fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.ACTVIATED, processId, duname));
+                break;
+            case DISABLED:
+                fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.DISABLED, processId, duname));
+                break;
+            case RETIRED:
+                fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.RETIRED, processId, duname));
+                break;
         }
 
     }