You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2007/08/08 18:00:38 UTC

svn commit: r563926 - in /ode/branches/bart: ./ axis2/src/main/java/org/apache/ode/axis2/ bpel-dao/src/main/java/org/apache/ode/bpel/dao/ bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ bpel...

Author: mszefler
Date: Wed Aug  8 09:00:37 2007
New Revision: 563926

URL: http://svn.apache.org/viewvc?view=rev&rev=563926
Log:
BART: stragglers

Added:
    ode/branches/bart/distro/
      - copied from r563599, ode/trunk/distro/
Modified:
    ode/branches/bart/Rakefile
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
    ode/branches/bart/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java
    ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
    ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeCache.java
    ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
    ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
    ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
    ode/branches/bart/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
    ode/branches/bart/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
    ode/branches/bart/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java

Modified: ode/branches/bart/Rakefile
URL: http://svn.apache.org/viewvc/ode/branches/bart/Rakefile?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/Rakefile (original)
+++ ode/branches/bart/Rakefile Wed Aug  8 09:00:37 2007
@@ -15,28 +15,26 @@
 #    limitations under the License.
 #
 
-gem "buildr", "=1.1.3"
+gem "buildr", "~>1.2.4"
 require "buildr"
-# require "buildr/lib/buildr"
 require "buildr/xmlbeans.rb"
 require "buildr/openjpa"
 require "buildr/javacc"
 require "buildr/jetty"
-
+require "buildr/hibernate"
 
 # Keep this structure to allow the build system to update version numbers.
-VERSION_NUMBER = "1.1-SNAPSHOT"
-NEXT_VERSION = "1.1"
+VERSION_NUMBER = "1.1-RC1"
+NEXT_VERSION = "1.1-RC2-SNAPSHOT"
 
 ANNONGEN            = "annogen:annogen:jar:0.1.0"
 ANT                 = "ant:ant:jar:1.6.5"
-AXIOM               = group("axiom-api", "axiom-impl", "axiom-dom", :under=>"org.apache.ws.commons.axiom", :version=>"1.2.4")
-AXIS2               = "org.apache.axis2:axis2:jar:1.1.1"
-AXIS2_WAR           = "org.apache.axis2:axis2:war:1.1.1"
-AXIS2_ALL           = group("axis2-adb", "axis2-codegen", "axis2-tools",
+AXIOM               = [ group("axiom-api", "axiom-impl", "axiom-dom",
+                        :under=>"org.apache.ws.commons.axiom", :version=>"1.2.5") ]
+AXIS2_WAR           = "org.apache.axis2:axis2-webapp:war:1.3-RC3"
+AXIS2_ALL           = group("axis2-adb", "axis2-codegen", "axis2-kernel",
                         "axis2-java2wsdl", "axis2-jibx", "axis2-saaj", "axis2-xmlbeans",
-                        :under=>"org.apache.axis2", :version=>"1.1.1")
-AXIS2_PATCHED       = "org.apache.axis2:axis2-kernel-intalio:jar:1.1.1b"
+                        :under=>"org.apache.axis2", :version=>"1.3-RC3")
 BACKPORT            = "backport-util-concurrent:backport-util-concurrent:jar:3.0"
 COMMONS             = struct(
   :codec            =>"commons-codec:commons-codec:jar:1.3",
@@ -59,7 +57,6 @@
 )
 HIBERNATE           = [ "org.hibernate:hibernate:jar:3.2.4.sp1", "asm:asm:jar:1.5.3",
                         "antlr:antlr:jar:2.7.6", "cglib:cglib:jar:2.1_3", "net.sf.ehcache:ehcache:jar:1.2.3" ]
-HOWL_LOGGER         = "howl:howl-logger:jar:0.1.11"
 HSQLDB              = "hsqldb:hsqldb:jar:1.8.0.7"
 JAVAX               = struct(
   :activation       =>"javax.activation:activation:jar:1.1",
@@ -72,7 +69,7 @@
   :servlet          =>"org.apache.geronimo.specs:geronimo-servlet_2.4_spec:jar:1.0",
   :stream           =>"stax:stax-api:jar:1.0.1",
   :transaction      =>"org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:jar:1.0",
-  :resource			=>"javax.resource:connector:jar:1.0"
+  :resource         =>"org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:1.0"
 )
 JAXEN               = "jaxen:jaxen:jar:1.1-beta-8"
 JBI                 = "org.apache.servicemix:servicemix-jbi:jar:3.1-incubating"
@@ -90,30 +87,23 @@
 WOODSTOX            = "woodstox:wstx-asl:jar:3.2.1"
 WSDL4J              = "wsdl4j:wsdl4j:jar:1.6.1"
 XALAN               = "org.apache.ode:xalan:jar:2.7.0"
-XERCES              = "xerces:xercesImpl:jar:2.8.0"
+XERCES              = "xerces:xercesImpl:jar:2.9.0"
 XSTREAM             = "xstream:xstream:jar:1.2"
 WS_COMMONS          = struct(
   :axiom            =>AXIOM,
-  :neethi           =>"org.apache.ws.commons.neethi:neethi:jar:2.0",
-  :xml_schema       =>"org.apache.ws.commons.schema:XmlSchema:jar:1.3.1"
+  :neethi           =>"org.apache.neethi:neethi:jar:2.0.2",
+  :xml_schema       =>"org.apache.ws.commons.schema:XmlSchema:jar:1.3.2"
 )
 XBEAN               = group("xbean-classloader", "xbean-kernel", "xbean-server", "xbean-spring",
                         :under=>"org.apache.xbean", :version=>"2.8")
 XMLBEANS            = "xmlbeans:xbean:jar:2.2.0"
-JOTM				= struct(
-  :jotm				=>"jotm:jotm:jar:2.0.10",
-  :carol			=>"org.objectweb.carol:carol:jar:2.0.5",
-  :jrmp				=>"jotm:jotm_jrmp_stubs:jar:2.0.10",
-  :howl				=>"howl:howl-logger:jar:0.1.11"
-)
-
 
 repositories.remote << "http://pxe.intalio.org/public/maven2"
 repositories.remote << "http://people.apache.org/repo/m2-incubating-repository"
 repositories.remote << "http://repo1.maven.org/maven2"
 repositories.remote << "http://people.apache.org/repo/m2-snapshot-repository"
 repositories.remote << "http://download.java.net/maven/2"
-repositories.deploy_to[:url] ||= "sftp://guest@localhost/home/guest"
+repositories.release_to[:url] ||= "sftp://guest@localhost/home/guest"
 
 # Changing releases tag names
 class Release
@@ -140,7 +130,7 @@
   define "axis2" do
     compile.with projects("bpel-api", "bpel-connector", "bpel-dao", "bpel-epr", "bpel-runtime",
       "scheduler-simple", "bpel-schemas", "bpel-store", "utils"),
-      AXIOM, AXIS2, COMMONS.logging, COMMONS.collections, DERBY, GERONIMO.kernel, GERONIMO.transaction,
+      AXIOM, AXIS2_ALL, COMMONS.logging, COMMONS.collections, DERBY, GERONIMO.kernel, GERONIMO.transaction,
       JAVAX.activation, JAVAX.servlet, JAVAX.stream, JAVAX.transaction, JENCKS, WSDL4J, WS_COMMONS.xml_schema,
       XMLBEANS
 
@@ -156,7 +146,7 @@
       "bpel-epr", "bpel-obj", "bpel-ql", "bpel-runtime", "scheduler-simple",
       "bpel-schemas", "bpel-store", "dao-hibernate", "jacob", "jca-ra", "jca-server",
       "utils", "dao-jpa"),
-      AXIS2_ALL, AXIS2_PATCHED, ANNONGEN, BACKPORT, COMMONS.codec, COMMONS.collections, COMMONS.fileupload, COMMONS.httpclient,
+      AXIS2_ALL, ANNONGEN, BACKPORT, COMMONS.codec, COMMONS.collections, COMMONS.fileupload, COMMONS.httpclient,
       COMMONS.lang, COMMONS.logging, COMMONS.pool, DERBY, DERBY_TOOLS, JAXEN, JAVAX.activation, JAVAX.ejb, JAVAX.javamail,
       JAVAX.connector, JAVAX.jms, JAVAX.persistence, JAVAX.transaction, JAVAX.stream,  JIBX,
       GERONIMO.connector, GERONIMO.kernel, GERONIMO.transaction, LOG4J, OPENJPA, SAXON, TRANQL,
@@ -246,13 +236,12 @@
     compile.from apt
     compile.with projects("bpel-api", "bpel-compiler", "bpel-dao", "bpel-obj", "bpel-schemas",
       "bpel-store", "jacob", "jacob-ap", "utils"),
-      COMMONS.logging, COMMONS.collections, JAXEN, JAVAX.persistence, JAVAX.stream, JAVAX.transaction, SAXON, WSDL4J, XMLBEANS
+      COMMONS.logging, COMMONS.collections, JAXEN, JAVAX.persistence, JAVAX.stream, SAXON, WSDL4J, XMLBEANS, JAVAX.transaction
 
-    test.compile.with projects("scheduler-simple", "dao-jpa", "dao-hibernate", "bpel-epr"),
+    test.with projects("scheduler-simple", "dao-jpa", "dao-hibernate", "bpel-epr"),
         BACKPORT, COMMONS.pool, COMMONS.lang, DERBY, JAVAX.connector, JAVAX.transaction,
         GERONIMO.transaction, GERONIMO.kernel, GERONIMO.connector, TRANQL, HSQLDB, JAVAX.ejb,
         LOG4J, XERCES, Buildr::OpenJPA::REQUIRES, XALAN
-    test.junit.with HIBERNATE, DOM4J
 
     package :jar
   end
@@ -260,8 +249,9 @@
   desc "ODE Simple Scheduler"
   define "scheduler-simple" do
     compile.with projects("bpel-api", "utils"), COMMONS.collections, COMMONS.logging, JAVAX.transaction
-	test.compile.with HSQLDB, JOTM.jotm
-	test.junit.with HSQLDB, JOTM.jotm, JOTM.carol, JOTM.jrmp, JAVAX.transaction, JOTM.howl, JAVAX.resource, JAVAX.connector, LOG4J
+	test.compile.with HSQLDB, GERONIMO.kernel, GERONIMO.transaction
+	test.with HSQLDB, JAVAX.transaction, JAVAX.resource, JAVAX.connector, LOG4J,
+          GERONIMO.kernel, GERONIMO.transaction, BACKPORT, JAVAX.ejb
     package :jar
   end
 
@@ -293,7 +283,7 @@
   define "bpel-test" do
     compile.with projects("bpel-api", "bpel-compiler", "bpel-dao", "bpel-runtime",
       "bpel-store", "utils", "bpel-epr", "dao-jpa"),
-      DERBY, Java::JUNIT_REQUIRES, JAVAX.persistence, OPENJPA, WSDL4J, JAVAX.transaction
+      DERBY, Java::JUnit::JUNIT_REQUIRES, JAVAX.persistence, OPENJPA, WSDL4J, JAVAX.transaction
 
     test.with projects("bpel-obj", "jacob", "bpel-schemas",
       "bpel-scripts", "scheduler-simple"),
@@ -323,13 +313,18 @@
     dao_hibernate = project("dao-hibernate").compile.target
     bpel_store = project("bpel-store").compile.target
 
-    schemaexport = Hibernate.schemaexport
+    Buildr::Hibernate::REQUIRES[:xdoclet] =  Buildr.group("xdoclet", "xdoclet-xdoclet-module", "xdoclet-hibernate-module",
+      :under=>"xdoclet", :version=>"1.2.3") + ["xdoclet:xjavadoc:jar:1.1-j5"]
     export = lambda do |properties, source, target|
       file(target=>[properties, source]) do |task|
         mkpath File.dirname(target), :verbose=>false
-        schemaexport.schemaexport(:properties=>properties.to_s, :quiet=>"yes", :text=>"yes", :delimiter=>";",
-          :drop=>"no", :create=>"yes", :output=>target) do
-          fileset :dir=>source.to_s, :includes=>"**/*.hbm.xml"
+        hibernate_schemaexport "" do |task, ant|
+          ant.schemaexport(:properties=>properties.to_s, :quiet=>"yes", :text=>"yes", :delimiter=>";",
+            :drop=>"no", :create=>"yes", :output=>target) do
+            task.fileset :dir=>source.to_s, :includes=>"**/*.hbm.xml" do
+              ant.fileset(:dir=>path_to(:java_src_dir)) { include :name=>"**/*.hbm.xml" }
+            end
+          end
         end
       end
     end
@@ -345,7 +340,7 @@
       build concat(_("target/#{db}.sql")=>[ predefined_for[db], partial ])
     end
 
-    package :zip, :include=>derby_db
+    package(:zip).include(derby_db)
   end
 
   desc "ODE OpenJPA DAO Implementation"
@@ -359,7 +354,7 @@
 
   desc "ODE OpenJPA Derby Database"
   define "dao-jpa-ojpa-derby" do
-    %w{ derby mysql }.each do |db|
+    %w{ derby mysql oracle }.each do |db|
       db_xml = _("src/main/descriptors/persistence.#{db}.xml")
       scheduler_sql = _("src/main/scripts/simplesched-#{db}.sql")
       partial_sql = file("target/partial.#{db}.sql"=>db_xml) do |task|
@@ -378,7 +373,7 @@
       JAVAX.transaction, LOG4J, OPENJPA, XERCES, WSDL4J
 
     build derby_db
-    package :zip, :include=>derby_db
+    package(:zip).include(derby_db)
   end
 
   desc "ODE JAva Concurrent OBjects"
@@ -427,7 +422,7 @@
       GERONIMO.transaction, JAVAX.connector, JAVAX.ejb, JAVAX.persistence, JAVAX.stream,
       JAVAX.transaction, JAXEN, JBI, OPENJPA, SAXON, SERVICEMIX, SPRING, TRANQL,
       XALAN, XBEAN, XMLBEANS, XSTREAM
-    test.junit.using :properties=>{ "jbi.install"=>_("target/smixInstallDir"),  "jbi.examples"=>_("../distro-jbi/src/examples") }
+    test.using :properties=>{ "jbi.install"=>_("target/smixInstallDir"),  "jbi.examples"=>_("../distro-jbi/src/examples") }
     test.setup unzip(_("target/smixInstallDir/install/ODE")=>project("dao-jpa-ojpa-derby").package(:zip))
 
   end
@@ -466,6 +461,7 @@
   desc "ODE Utils"
   define "utils" do
     compile.with COMMONS.logging, COMMONS.pool, LOG4J, XERCES, JAVAX.stream
+	test.exclude "*TestResources"
     package :jar
   end
 
@@ -474,10 +470,12 @@
 define "apache-ode" do
   [:version, :group, :manifest, :meta_inf].each { |prop| send "#{prop}=", project("ode").send(prop) }
 
-  def distro(project, id)
+  def distro(project, postfix)
+    id = project.parent.id + postfix
     project.package(:zip, :id=>id).path("#{id}-#{version}").tap do |zip|
       zip.include meta_inf + ["RELEASE_NOTES", "README"].map { |f| path_to(f) }
-      zip.path("examples").include project.path_to("src/examples"), :as=>"."
+      zip.path("examples").include project.path_to("src/examples"+postfix), :as=>"."
+      # Libraries
       zip.merge project("ode:tools-bin").package(:zip)
       zip.path("lib").include artifacts(COMMONS.logging, COMMONS.codec, COMMONS.httpclient,
         COMMONS.pool, COMMONS.collections, JAXEN,
@@ -486,13 +484,33 @@
         map(&:packages).flatten.each do |pkg|
         zip.include(pkg.to_s, :as=>"#{pkg.id}.#{pkg.type}", :path=>"lib")
       end
+      # Including third party licenses
+      Dir["#{project.path_to("license")}/*LICENSE"].each { |l| zip.include(l, :path=>"lib") }
+      zip.include(project.path_to("target/LICENSE"))
+      # Include supported database schemas
+      Dir["#{project("ode:dao-jpa-ojpa-derby").path_to("target")}/*.sql"].each do |f|
+        zip.include(f, :path=>"sql") unless f =~ /partial/
+      end
       yield zip
+      project.check zip, "should contain mysql.sql" do
+        it.should contain("sql/mysql.sql")
+      end
     end
   end
 
   desc "ODE Axis2 Based Distribution"
-  define "distro-axis2" do
-    parent.distro(self, "#{parent.id}-war") { |zip| zip.include project("ode:axis2-war").package(:war), :as=>"ode.war" }
+  define "distro" do
+    parent.distro(self, "-war") { |zip| zip.include project("ode:axis2-war").package(:war), :as=>"ode.war" }
+    parent.distro(self, "-jbi") { |zip| zip.include project("ode:jbi").package(:zip) }
+
+    # Preparing third party licenses
+    build do
+      Dir.mkdir(project.path_to("target")) unless File.exist?(project.path_to("target"))
+      cp parent.path_to("LICENSE"), project.path_to("target/LICENSE")
+      File.open(project.path_to("target/LICENSE"), "a+") do |l|
+        l <<  Dir["#{project.path_to("license")}/*LICENSE"].map { |f| "lib/"+f[/[^\/]*$/] }.join("\n")
+      end
+    end
 
     project("ode:axis2-war").task("start").enhance do |task|
       target = "#{task.path}/webapp/WEB-INF/processes"
@@ -505,11 +523,6 @@
     end
   end
 
-  desc "ODE JBI Based Distribution"
-  define "distro-jbi" do
-    parent.distro(self, "#{parent.id}-jbi") { |zip| zip.include project("ode:jbi").package(:zip) }
-  end
-
   package(:zip, :id=>"#{id}-sources").path("#{id}-sources-#{version}").tap do |zip|
     if File.exist?(".svn")
       `svn status -v`.reject { |l| l[0] == ?? || l[0] == ?D }.
@@ -520,5 +533,5 @@
     end
   end
 
-  package :zip, :id=>"#{id}-docs", :include=>javadoc(project("ode").projects).target
+  package(:zip, :id=>"#{id}-docs").include(javadoc(project("ode").projects).target)
 end

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Wed Aug  8 09:00:37 2007
@@ -52,6 +52,7 @@
 import org.apache.ode.bpel.iapi.ProcessStoreEvent;
 import org.apache.ode.bpel.iapi.ProcessStoreListener;
 import org.apache.ode.bpel.iapi.Scheduler;
+import org.apache.ode.bpel.intercept.MessageExchangeInterceptor;
 import org.apache.ode.il.dbutil.Database;
 import org.apache.ode.scheduler.simple.JdbcDelegate;
 import org.apache.ode.scheduler.simple.SimpleScheduler;
@@ -446,6 +447,7 @@
         _server.setMessageExchangeContext(new MessageExchangeContextImpl(this));
         _server.setBindingContext(new BindingContextImpl(this, _store));
         _server.setScheduler(_scheduler);
+        _server.setTransactionManager(_txMgr);
         if (_odeConfig.isDehydrationEnabled()) {
             CountLRUDehydrationPolicy dehy = new CountLRUDehydrationPolicy();
             // dehy.setProcessMaxAge(10000);
@@ -481,20 +483,19 @@
     }
 
     private void registerMexInterceptors() {
-        // TODO: put back.
-//        String listenersStr = _odeConfig.getMessageExchangeInterceptors();
-//        if (listenersStr != null) {
-//            for (StringTokenizer tokenizer = new StringTokenizer(listenersStr, ",;"); tokenizer.hasMoreTokens();) {
-//                String interceptorCN = tokenizer.nextToken();
-//                try {
-//                    _server.registerMessageExchangeInterceptor((MessageExchangeInterceptor) Class.forName(interceptorCN).newInstance());
-//                    __log.info(__msgs.msgMessageExchangeInterceptorRegistered(interceptorCN));
-//                } catch (Exception e) {
-//                    __log.warn("Couldn't register the event listener " + interceptorCN + ", the class couldn't be "
-//                            + "loaded properly: " + e);
-//                }
-//            }
-//        }
+        String listenersStr = _odeConfig.getMessageExchangeInterceptors();
+        if (listenersStr != null) {
+            for (StringTokenizer tokenizer = new StringTokenizer(listenersStr, ",;"); tokenizer.hasMoreTokens();) {
+                String interceptorCN = tokenizer.nextToken();
+                try {
+                    _server.registerMessageExchangeInterceptor((MessageExchangeInterceptor) Class.forName(interceptorCN).newInstance());
+                    __log.info(__msgs.msgMessageExchangeInterceptorRegistered(interceptorCN));
+                } catch (Exception e) {
+                    __log.warn("Couldn't register the event listener " + interceptorCN + ", the class couldn't be "
+                            + "loaded properly: " + e);
+                }
+            }
+        }
     }
 
     private class ProcessStoreListenerImpl implements ProcessStoreListener {

Modified: ode/branches/bart/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java (original)
+++ ode/branches/bart/bpel-dao/src/main/java/org/apache/ode/bpel/dao/MessageExchangeDAO.java Wed Aug  8 09:00:37 2007
@@ -148,11 +148,13 @@
     void setPartnerLinkModelId(int modelId);
 
     /**
-     * Get the correlation identifier/client id
+     * Get the the partner's identifier for this message exchange. Generally, the partner will have a different 
+     * identifier for each exchange. This key is used in sistuations when the partner needs to find the mex, 
+     * but only has their own identifier. 
      *
      * @return correlation identifier
      */
-    String getCorrelationId();
+    String getPartnersKey();
 
     /**
      * Set the correlation identifier/client id
@@ -160,7 +162,7 @@
      * @param correlationId
      *          identifier
      */
-    void setCorrelationId(String correlationId);
+    void setPartnersKey(String correlationId);
 
     void setPattern(String string);
 

Modified: ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original)
+++ ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Wed Aug  8 09:00:37 2007
@@ -186,8 +186,9 @@
      * @param listener
      */
     public void registerBpelEventListener(BpelEventListener listener) {
-        // Do not synchronize, eventListeners is copy-on-write array.
         listener.startup(_configProperties);
+
+        // Do not synchronize, eventListeners is copy-on-write array.
         _contexts.eventListeners.add(listener);
     }
 
@@ -198,13 +199,13 @@
      */
     public void unregisterBpelEventListener(BpelEventListener listener) {
         // Do not synchronize, eventListeners is copy-on-write array.
-        try {
-            listener.shutdown();
-        } catch (Exception e) {
-            __log.warn("Stopping BPEL event listener " + listener.getClass().getName()
-                    + " failed, nevertheless it has been unregistered.", e);
-        } finally {
-            _contexts.eventListeners.remove(listener);
+        if (_contexts.eventListeners.remove(listener)) {
+            try {
+                listener.shutdown();
+            } catch (Exception e) {
+                __log.warn("Stopping BPEL event listener " + listener.getClass().getName()
+                        + " failed, nevertheless it has been unregistered.", e);
+            }
         }
     }
 

Modified: ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeCache.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeCache.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeCache.java (original)
+++ ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeCache.java Wed Aug  8 09:00:37 2007
@@ -14,7 +14,7 @@
     
     private static final int CLEANUP_PERIOD = 20;
 
-    private HashMap<String, WeakReference<MyRoleMessageExchangeImpl>> _cache;
+    private HashMap<String, WeakReference<MyRoleMessageExchangeImpl>> _cache = new HashMap<String, WeakReference<MyRoleMessageExchangeImpl>>();
 
     private int _inserts = 0;
     

Modified: ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java (original)
+++ ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java Wed Aug  8 09:00:37 2007
@@ -46,14 +46,14 @@
     void load(MessageExchangeDAO dao) {
         super.load(dao);
         _cstatus = dao.getCorrelationStatus() == null ? null : CorrelationStatus.valueOf(dao.getCorrelationStatus());
-        _clientId = dao.getCorrelationId();
+        _clientId = dao.getPartnersKey();
     }
 
     @Override
     public void save(MessageExchangeDAO dao) {
         super.save(dao);
         dao.setCorrelationStatus(_cstatus == null ? null : _cstatus.toString());
-        dao.setCorrelationId(_clientId);
+        dao.setPartnersKey(_clientId);
         dao.setCallee(_callee);
         
         if (_changes.contains(Change.REQUEST)) {

Modified: ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java (original)
+++ ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java Wed Aug  8 09:00:37 2007
@@ -101,6 +101,7 @@
     void save(MessageExchangeDAO dao) {
         super.save(dao);
         
+        dao.setPartnersKey(_foreignKey);
         if (_changes.contains(Change.ACK)) {
             _changes.remove(Change.ACK);
             MessageDAO responseDao = dao.createMessage(_response.getType());

Modified: ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java (original)
+++ ode/branches/bart/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java Wed Aug  8 09:00:37 2007
@@ -132,11 +132,11 @@
 
 	}
 
-	public String getCorrelationId() {
+	public String getPartnersKey() {
 		return correlationId;
 	}
 
-	public void setCorrelationId(String correlationId) {
+	public void setPartnersKey(String correlationId) {
 		this.correlationId = correlationId;
 
 	}

Modified: ode/branches/bart/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java (original)
+++ ode/branches/bart/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java Wed Aug  8 09:00:37 2007
@@ -35,7 +35,6 @@
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
 import javax.xml.namespace.QName;
 
 import org.apache.ode.bpel.dao.BpelDAOConnectionFactory;
@@ -51,6 +50,7 @@
 import org.apache.ode.bpel.iapi.MessageExchange.Status;
 import org.apache.ode.bpel.iapi.MyRoleMessageExchange.CorrelationStatus;
 import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl;
+import org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl;
 import org.apache.ode.il.MockScheduler;
 import org.apache.ode.store.ProcessConfImpl;
 import org.apache.ode.store.ProcessStoreImpl;
@@ -103,29 +103,13 @@
         _deployed = new ArrayList<Deployment>();
 
         if (Boolean.getBoolean("org.apache.ode.test.persistent")) {
-            emf = Persistence.createEntityManagerFactory("ode-unit-test-embedded");
-            em = emf.createEntityManager();
-            _cf = new BpelDAOConnectionFactoryImpl(_txm);
-            _server.setDaoConnectionFactory(_cf);
-            _txm = new MockTransactionManager() {
 
-                @Override
-                protected void doBegin(TX tx) {
-                    // TODO Auto-generated method stub
-                    super.doBegin(tx);
-                }
-
-                @Override
-                protected void doCommit(TX tx) {
-                    em.getTransaction().commit();
-                }
-
-                @Override
-                protected void doRollback(TX tx) {
-                    em.getTransaction().rollback();
-                }
+            _server.setDaoConnectionFactory(_cf);
+            _txm = new MockTransactionManager();
 
-            };
+            BPELDAOConnectionFactoryImpl cf = new BPELDAOConnectionFactoryImpl();
+            cf.setTransactionManager(_txm);
+            // cf.setDataSource(datasource);
             scheduler = new MockScheduler(_txm);
         } else {
             _txm = new MockTransactionManager();

Modified: ode/branches/bart/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java (original)
+++ ode/branches/bart/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java Wed Aug  8 09:00:37 2007
@@ -122,11 +122,11 @@
         update();
     }
 
-    public String getCorrelationId() {
+    public String getPartnersKey() {
         return _hself.getClientKey();
     }
 
-    public void setCorrelationId(String clientKey) {
+    public void setPartnersKey(String clientKey) {
         _hself.setClientKey(clientKey);
         update();
     }

Modified: ode/branches/bart/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java?view=diff&rev=563926&r1=563925&r2=563926
==============================================================================
--- ode/branches/bart/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java (original)
+++ ode/branches/bart/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java Wed Aug  8 09:00:37 2007
@@ -145,7 +145,7 @@
 		return _channel;
 	}
 
-	public String getCorrelationId() {
+	public String getPartnersKey() {
 		return _correlationId;
 	}
 
@@ -252,7 +252,7 @@
 		_channel = channel;
 	}
 
-	public void setCorrelationId(String correlationId) {
+	public void setPartnersKey(String correlationId) {
 		_correlationId = correlationId;
 	}