Author: mriou
Date: Wed Aug 16 09:52:42 2006
New Revision: 431943

URL: http://svn.apache.org/viewvc?rev=431943&view=rev
Log:
Fixed a bug in routing.

Modified:
    
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.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?rev=431943&r1=431942&r2=431943&view=diff
==============================================================================
--- 
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
 Wed Aug 16 09:52:42 2006
@@ -19,15 +19,6 @@
 
 package org.apache.ode.bpel.engine;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.dao.MessageExchangeDAO;
@@ -38,15 +29,23 @@
 import org.apache.ode.bpel.iapi.Endpoint;
 import org.apache.ode.bpel.iapi.Message;
 import org.apache.ode.bpel.iapi.MessageExchange;
-import org.apache.ode.bpel.iapi.MessageExchangeInterceptor;
-import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
 import org.apache.ode.bpel.iapi.MessageExchange.MessageExchangePattern;
 import org.apache.ode.bpel.iapi.MessageExchange.Status;
+import org.apache.ode.bpel.iapi.MessageExchangeInterceptor;
+import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
 import org.apache.ode.bpel.iapi.MyRoleMessageExchange.CorrelationStatus;
 import org.apache.ode.bpel.o.OPartnerLink;
 import org.apache.ode.bpel.o.OProcess;
 import org.apache.ode.utils.msg.MessageBundle;
 
+import javax.wsdl.Operation;
+import javax.wsdl.PortType;
+import javax.xml.namespace.QName;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Implementation of the [EMAIL PROTECTED] BpelEngine} interface: provides the 
server
  * methods that should be invoked in the context of a transaction.
@@ -158,7 +157,6 @@
      *            the process to register
      */
     void registerProcess(BpelProcess process) {
-
         _activeProcesses.put(process.getPID(), process);
         for (Endpoint e : process.getServiceNames()) {
             __log.debug("Register process: serviceId=" + e + ", process=" + 
process);
@@ -181,10 +179,13 @@
      */
     BpelProcess route(QName service, Message request) {
         // TODO: use the message to route to the correct service if more than
-        // one
-        // service is listening on the same endpoint.
+        // one service is listening on the same endpoint.
 
-        BpelProcess routed = _serviceMap.get(service);
+        BpelProcess routed = null;
+        for (Endpoint endpoint : _serviceMap.keySet()) {
+            if (endpoint.serviceName.equals(service))
+                routed = _serviceMap.get(endpoint);
+        }
         if (__log.isDebugEnabled())
             __log.debug("Routed: svcQname " + service + " --> " + routed);
         return routed;


Reply via email to