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 2007/02/24 03:08:03 UTC

svn commit: r511189 - in /incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel: engine/BpelEngineImpl.java memdao/BpelDAOConnectionImpl.java memdao/XmlDataDaoImpl.java

Author: mriou
Date: Fri Feb 23 18:08:03 2007
New Revision: 511189

URL: http://svn.apache.org/viewvc?view=rev&rev=511189
Log:
Various fixes for in memory processes.

Modified:
    incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
    incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
    incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/XmlDataDaoImpl.java

Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java?view=diff&rev=511189&r1=511188&r2=511189
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java (original)
+++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java Fri Feb 23 18:08:03 2007
@@ -126,7 +126,8 @@
     }
 
     public MessageExchange getMessageExchange(String mexId) throws BpelEngineException {
-        MessageExchangeDAO mexdao = _contexts.dao.getConnection().getMessageExchange(mexId);
+        MessageExchangeDAO mexdao = _contexts.inMemDao.getConnection().getMessageExchange(mexId);
+        if (mexdao == null) mexdao = _contexts.dao.getConnection().getMessageExchange(mexId);
         if (mexdao == null)
             return null;
 

Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java?view=diff&rev=511189&r1=511188&r2=511189
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java (original)
+++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java Fri Feb 23 18:08:03 2007
@@ -27,7 +27,7 @@
     private Map<QName, ProcessDaoImpl> _store;
     private List<BpelEvent> _events = new LinkedList<BpelEvent>();
     private static Map<String,MessageExchangeDAO> _mexStore = Collections.synchronizedMap(new HashMap<String,MessageExchangeDAO>());
-    private static AtomicLong counter = new AtomicLong(0);
+    private static AtomicLong counter = new AtomicLong(Long.MAX_VALUE / 2);
 
 
     BpelDAOConnectionImpl(Map<QName, ProcessDaoImpl> store) {

Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/XmlDataDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/XmlDataDaoImpl.java?view=diff&rev=511189&r1=511188&r2=511189
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/XmlDataDaoImpl.java (original)
+++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/XmlDataDaoImpl.java Fri Feb 23 18:08:03 2007
@@ -7,9 +7,13 @@
 
 import org.apache.ode.bpel.dao.ScopeDAO;
 import org.apache.ode.bpel.dao.XmlDataDAO;
+import org.apache.ode.utils.DOMUtils;
 import org.w3c.dom.Node;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
 
 import java.util.Properties;
+import java.io.IOException;
 
 
 /**
@@ -52,7 +56,19 @@
    * @see XmlDataDAO#set(org.w3c.dom.Node)
    */
   public void set(Node val) {
-    _data = val;
+      if (!(val instanceof Element)) _data = val;
+      // For some reason we're getting some weird DOM trees from ServiceMix. Until we
+      // spot where it exactly comes from, this fixes it.
+      // The weirdness lies in elements being in xmlns="" when printed with a DOMWriter
+      // but having a ns when the elements are queried directly.
+      try {
+          _data = DOMUtils.stringToDOM(DOMUtils.domToString(_data));
+      } catch (SAXException e) {
+          // Should never happen but life is full of surprises
+          throw new RuntimeException("Couldn't reread!", e);
+      } catch (IOException e) {
+          throw new RuntimeException("Couldn't reread!", e);
+      }
   }
 
 	/**