You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ka...@apache.org on 2009/02/18 22:31:55 UTC
svn commit: r745666 - in /ode/branches/APACHE_ODE_1.X:
bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/
dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/
dao-jpa/src/main/java/org/apache/ode/dao/jpa/
Author: karthick
Date: Wed Feb 18 21:31:54 2009
New Revision: 745666
URL: http://svn.apache.org/viewvc?rev=745666&view=rev
Log: (empty)
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java?rev=745666&r1=745665&r2=745666&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java Wed Feb 18 21:31:54 2009
@@ -73,13 +73,19 @@
if (__log.isDebugEnabled()) {
__log.debug("findRoute: keySet=" + keySet);
}
- List<ProcessInstanceDAO> targets = new ArrayList<ProcessInstanceDAO>();
- for (MessageRouteDaoImpl we : _routes) {
- assert we._ckeySet != null;
-
- if( !targets.contains(we.getTargetInstance()) && keySet.isRoutableTo(we._ckeySet, "all".equals(we.getRoute())) ) {
- routes.add(we);
- targets.add(we.getTargetInstance());
+ boolean routed = false;
+ for (MessageRouteDaoImpl route : _routes) {
+ assert route._ckeySet != null;
+
+ if(keySet.isRoutableTo(route._ckeySet, "all".equals(route.getRoute()))) {
+ if ("all".equals(route.getRoute())) {
+ routes.add(route);
+ } else {
+ if (!routed) {
+ routes.add(route);
+ }
+ routed = true;
+ }
}
}
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java?rev=745666&r1=745665&r2=745666&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java Wed Feb 18 21:31:54 2009
@@ -30,6 +30,7 @@
import org.apache.ode.daohib.bpel.hobj.HCorrelatorMessage;
import org.apache.ode.daohib.bpel.hobj.HCorrelatorSelector;
import org.apache.ode.daohib.bpel.hobj.HMessageExchange;
+import org.apache.ode.daohib.bpel.hobj.HProcess;
import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
import org.hibernate.Hibernate;
import org.hibernate.LockMode;
@@ -127,15 +128,18 @@
HCorrelatorSelector selector;
try {
- List<HProcessInstance> targets = new ArrayList<HProcessInstance>();
+ boolean routed = false;
Iterator selectors = q.iterate();
while (selectors.hasNext()) {
selector = (HCorrelatorSelector) selectors.next();
if (selector != null) {
- if ("all".equals(selector.getRoute()) ||
- (!"all".equals(selector.getRoute()) && !targets.contains(selector.getInstance()))) {
+ if ("all".equals(selector.getRoute())) {
routes.add(new MessageRouteDaoImpl(_sm, selector));
- targets.add(selector.getInstance());
+ } else {
+ if (!routed){
+ routes.add(new MessageRouteDaoImpl(_sm, selector));
+ }
+ routed = true;
}
}
}
Modified: ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java?rev=745666&r1=745665&r2=745666&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java Wed Feb 18 21:31:54 2009
@@ -98,14 +98,24 @@
List<MessageRouteDAO> routes = (List<MessageRouteDAO>) qry.getResultList();
if (routes.size() > 0) {
- List<ProcessInstanceDAO> targets = new ArrayList<ProcessInstanceDAO>();
+ List<MessageRouteDAO> nonRoutes = new ArrayList<MessageRouteDAO>();
+ boolean routed = false;
for (int i = 0; i < routes.size(); i++) {
MessageRouteDAO route = routes.get(i);
- if ("all".equals(route.getRoute()) ||
- (!"all".equals(route.getRoute()) && !targets.contains(route.getTargetInstance()))) {
- targets.add(route.getTargetInstance());
+ if ("all".equals(route.getRoute())) {
+ // don't try to remove this route
+ } else {
+ if (routed) {
+ nonRoutes.add(route);
+ } else {
+ // don't try to remove this route
+ }
+ routed = true;
}
}
+ if (!nonRoutes.isEmpty()) {
+ routes.removeAll(nonRoutes);
+ }
return routes;
} else {
return null;