You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mi...@apache.org on 2009/11/04 04:30:16 UTC

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

Author: midon
Date: Wed Nov  4 03:30:15 2009
New Revision: 832656

URL: http://svn.apache.org/viewvc?rev=832656&view=rev
Log:
load RETIRED first

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

Modified: ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java?rev=832656&r1=832655&r2=832656&view=diff
==============================================================================
--- ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java (original)
+++ ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java Wed Nov  4 03:30:15 2009
@@ -483,6 +483,18 @@
             }
         });
 
+        // Dispatch DISABLED, RETIRED and ACTIVE events in that order
+        Collections.sort(loaded, new Comparator<ProcessConf>() {
+            public int compare(ProcessConf o1, ProcessConf o2) {
+                return stateValue(o1.getState()) - stateValue(o2.getState());
+            }
+            int stateValue(ProcessState state) {
+                if (ProcessState.DISABLED.equals(state)) return 0;
+                if (ProcessState.RETIRED.equals(state)) return 1;
+                if (ProcessState.ACTIVE.equals(state)) return 2;
+                throw new IllegalStateException("Unexpected process state: "+state);
+            }
+        });
         for (ProcessConfImpl p : loaded) {
             try {
                 fireStateChange(p.getProcessId(), p.getState(), p.getDeploymentUnit().getName());