You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2010/04/19 17:38:10 UTC

svn commit: r935626 - in /ode/branches/APACHE_ODE_1.X: bpel-api/src/main/java/org/apache/ode/bpel/evt/ bpel-dao/src/main/java/org/apache/ode/bpel/dao/ bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ bpel-runtime/src/main/java/org/apache/ode/bpel...

Author: rr
Date: Mon Apr 19 15:38:09 2010
New Revision: 935626

URL: http://svn.apache.org/viewvc?rev=935626&view=rev
Log:
ODE-811: BPEL_SCOPE table entries show only ACTIVE scope states (fix)

Modified:
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/ScopeCompletionEvent.java
    ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ScopeStateEnum.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessStatusConverter.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java

Modified: ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/ScopeCompletionEvent.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/ScopeCompletionEvent.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/ScopeCompletionEvent.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/evt/ScopeCompletionEvent.java Mon Apr 19 15:38:09 2010
@@ -26,32 +26,6 @@ import javax.xml.namespace.QName;
 public class ScopeCompletionEvent extends ScopeEvent {
   private static final long serialVersionUID = 1L;
 
-  private boolean _success;
-  private QName _fault;
-  
-  public ScopeCompletionEvent(boolean success, QName fault) {
-    _success = success;
-    _fault = fault;
+  public ScopeCompletionEvent() {
   }
-
-    /**
-     * @param fault The fault to set.
-     */
-    public void setFault(QName fault) {
-        _fault = fault;
-    }
-
-    /**
-     * @return Returns the fault.
-     */
-    public QName getFault() {
-        return _fault;
-    }
-  
-    public boolean isSuccess() {
-        return _success;
-    }
-    public void setSuccess(boolean success) {
-        _success = success;
-    }
 }

Modified: ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ScopeStateEnum.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ScopeStateEnum.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ScopeStateEnum.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ScopeStateEnum.java Mon Apr 19 15:38:09 2010
@@ -18,39 +18,6 @@
  */
 package org.apache.ode.bpel.dao;
 
-public class ScopeStateEnum {
-  /** DOCUMENTME */
-  public static final ScopeStateEnum ACTIVE = new ScopeStateEnum("ACTIVE");
-
-  /** DOCUMENTME */
-  public static final ScopeStateEnum FAULTED = new ScopeStateEnum("FAULTED");
-
-  /** DOCUMENTME */
-  public static final ScopeStateEnum FAULTHANDLER = new ScopeStateEnum("FAULTHANDLER");
-
-  /** DOCUMENTME */
-  public static final ScopeStateEnum COMPLETED = new ScopeStateEnum("COMPLETED");
-
-  /** DOCUMENTME */
-  public static final ScopeStateEnum COMPENSATING = new ScopeStateEnum("COMPENSATING");
-
-  /** DOCUMENTME */
-  public static final ScopeStateEnum COMPENSATED = new ScopeStateEnum("COMPENSATED");
-  private final String myName; // for debug only
-
-  public ScopeStateEnum(String name) {
-    myName = name;
-  }
-
-  public boolean equals(Object o) {
-    return ((ScopeStateEnum)o).myName.equals(myName);
-  }
-
-  public int hashCode() {
-    return myName.hashCode();
-  }
-
-  public String toString() {
-    return myName;
-  }
+public enum ScopeStateEnum {
+    NEW, ACTIVE, FAULT, COMPLETED
 }

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java Mon Apr 19 15:38:09 2010
@@ -48,6 +48,7 @@ import org.apache.ode.bpel.dao.PartnerLi
 import org.apache.ode.bpel.dao.ProcessDAO;
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
 import org.apache.ode.bpel.dao.ScopeDAO;
+import org.apache.ode.bpel.dao.ScopeStateEnum;
 import org.apache.ode.bpel.dao.XmlDataDAO;
 import org.apache.ode.bpel.evar.ExternalVariableModuleException;
 import org.apache.ode.bpel.evar.ExternalVariableModule.Value;
@@ -57,7 +58,10 @@ import org.apache.ode.bpel.evt.ProcessIn
 import org.apache.ode.bpel.evt.ProcessInstanceStateChangeEvent;
 import org.apache.ode.bpel.evt.ProcessMessageExchangeEvent;
 import org.apache.ode.bpel.evt.ProcessTerminationEvent;
+import org.apache.ode.bpel.evt.ScopeCompletionEvent;
 import org.apache.ode.bpel.evt.ScopeEvent;
+import org.apache.ode.bpel.evt.ScopeFaultEvent;
+import org.apache.ode.bpel.evt.ScopeStartEvent;
 import org.apache.ode.bpel.iapi.BpelEngineException;
 import org.apache.ode.bpel.iapi.ContextException;
 import org.apache.ode.bpel.iapi.Endpoint;
@@ -1119,6 +1123,11 @@ public class BpelRuntimeContextImpl impl
         sendEvent(evt);
     }
 
+    private void saveScopeState(Long scopeId, ScopeStateEnum scopeState) {
+        ScopeDAO scope = _dao.getScope(scopeId);
+        scope.setState(scopeState);
+    }
+    
     /**
      * @see BpelRuntimeContext#sendEvent(org.apache.ode.bpel.evt.ProcessInstanceEvent)
      */
@@ -1132,7 +1141,17 @@ public class BpelRuntimeContextImpl impl
         // filter scopes
         List<String> scopeNames = null;
         if (event instanceof ScopeEvent) {
-            scopeNames = ((ScopeEvent) event).getParentScopesNames();
+            ScopeEvent sevent = (ScopeEvent) event;
+            
+            scopeNames = sevent.getParentScopesNames();
+            
+            if (sevent instanceof ScopeStartEvent) {
+                saveScopeState(sevent.getScopeId(), ScopeStateEnum.ACTIVE);
+            } else if (sevent instanceof ScopeCompletionEvent) {
+                saveScopeState(sevent.getScopeId(), ScopeStateEnum.COMPLETED);
+            } else if (sevent instanceof ScopeFaultEvent) {
+                saveScopeState(sevent.getScopeId(), ScopeStateEnum.FAULT);
+            }
         }
 
         // saving

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java Mon Apr 19 15:38:09 2010
@@ -1164,8 +1164,7 @@ public class ProcessAndInstanceManagemen
             info.setMexId(((ProcessMessageExchangeEvent) event).getMessageExchangeId());
         }
         if (event instanceof ScopeCompletionEvent) {
-            info.setSuccess(((ScopeCompletionEvent) event).isSuccess());
-            info.setFault(((ScopeCompletionEvent) event).getFault());
+            info.setSuccess(true);
         }
         if (event instanceof ScopeEvent) {
             info.setScopeId(((ScopeEvent) event).getScopeId());

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessStatusConverter.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessStatusConverter.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessStatusConverter.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessStatusConverter.java Mon Apr 19 15:38:09 2010
@@ -61,11 +61,8 @@ class ProcessStatusConverter {
   	}
   
     __scopeStateMap.put(ScopeStateEnum.ACTIVE, TScopeStatus.ACTIVE);
-    __scopeStateMap.put(ScopeStateEnum.COMPENSATED,TScopeStatus.COMPENSATED);
-    __scopeStateMap.put(ScopeStateEnum.COMPENSATING,TScopeStatus.COMPENSATING);
     __scopeStateMap.put(ScopeStateEnum.COMPLETED,TScopeStatus.COMPLETED);
-    __scopeStateMap.put(ScopeStateEnum.FAULTED,TScopeStatus.FAULTED);
-    __scopeStateMap.put(ScopeStateEnum.FAULTHANDLER,TScopeStatus.FAULTED);
+    __scopeStateMap.put(ScopeStateEnum.FAULT,TScopeStatus.FAULTED);
     
   }
   

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java Mon Apr 19 15:38:09 2010
@@ -30,6 +30,7 @@ import javax.xml.namespace.QName;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.evt.ScopeCompletionEvent;
 import org.apache.ode.bpel.evt.ScopeFaultEvent;
 import org.apache.ode.bpel.evt.ScopeStartEvent;
 import org.apache.ode.bpel.evt.VariableModificationEvent;
@@ -352,6 +353,8 @@ class SCOPE extends ACTIVITY {
                         });
                     }
                 } else /* completed ok */ {
+                    sendEvent(new ScopeCompletionEvent());
+                    
                     if (_oscope.compensationHandler != null) {
                         CompensationHandler compensationHandler = new CompensationHandler(
                             _scopeFrame,

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java Mon Apr 19 15:38:09 2010
@@ -220,7 +220,7 @@ public class ProcessInstanceDaoImpl exte
         : null);
     scope.setName(name);
     scope.setScopeModelId(scopeModelId);
-    scope.setState(ScopeStateEnum.ACTIVE.toString());
+    scope.setState(ScopeStateEnum.NEW.toString());
     scope.setInstance(_instance);
     scope.setCreated(new Date());
 //    _instance.addScope(scope);

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java Mon Apr 19 15:38:09 2010
@@ -121,7 +121,7 @@ public class ScopeDaoImpl extends Hibern
      * @see org.apache.ode.bpel.dao.ScopeDAO#getState()
      */
     public ScopeStateEnum getState() {
-        return new ScopeStateEnum(_scope.getState());
+        return ScopeStateEnum.valueOf(_scope.getState());
     }
     /**
      * @see org.apache.ode.bpel.dao.ScopeDAO#getName()

Modified: ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java?rev=935626&r1=935625&r2=935626&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java Mon Apr 19 15:38:09 2010
@@ -163,7 +163,7 @@ public class ScopeDAOImpl extends OpenJP
 	}
 
 	public ScopeStateEnum getState() {
-		return new ScopeStateEnum(_scopeState);
+		return ScopeStateEnum.valueOf(_scopeState);
 	}
 
 	public XmlDataDAO getVariable(String varName) {