You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by gn...@apache.org on 2007/02/12 16:49:03 UTC

svn commit: r506503 - /incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java

Author: gnodet
Date: Mon Feb 12 07:49:02 2007
New Revision: 506503

URL: http://svn.apache.org/viewvc?view=rev&rev=506503
Log:
Rewrite the ProcessStoreImpl getProcessList method without using the du.getVersion() which does not work upon restarts.

Modified:
    incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java

Modified: incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java?view=diff&rev=506503&r1=506502&r2=506503
==============================================================================
--- incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java (original)
+++ incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java Mon Feb 12 07:49:02 2007
@@ -317,7 +317,19 @@
             DeploymentUnitDir du = _deploymentUnits.get(packageName);
             if (du == null)
                 return null;
-            return toPids(du.getProcessNames(), du.getVersion());
+            Map<QName, Long> versions = new HashMap<QName, Long>();
+            for (ProcessConfImpl p : _processes.values()) {
+                QName type = p.getType();
+                long version = p.getVersion();
+                if (versions.get(type) == null || versions.get(type) < version) {
+                    versions.put(type, version);
+                }
+            }
+            List<QName> pids = new ArrayList<QName>();
+            for (Map.Entry<QName, Long> entry : versions.entrySet()) {
+                pids.add(toPid(entry.getKey(), entry.getValue()));
+            }
+            return pids;
         } finally {
             _rw.readLock().unlock();
         }