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());


Reply via email to