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);
+ }
}
/**