diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2013-09-20 13:39:01 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2013-09-20 13:39:01 +0200 |
| commit | 28b878fe7ff77be9441d3d8843ed355fbd7629ea (patch) | |
| tree | 9cf28587dfcc527920d35ece5ea9ab2c2813f466 /src/main/java/com/c2kernel/lifecycle/instance/Activity.java | |
| parent | dac66d0b5aac974af565b1924c472866b4956bf4 (diff) | |
Keep a History object in the Workflow to avoid recreating it on repeated
executions.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Activity.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/Activity.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java index 2384dc3..a8a2016 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java @@ -21,7 +21,6 @@ import com.c2kernel.lookup.EntityPath; import com.c2kernel.lookup.InvalidEntityPathException;
import com.c2kernel.lookup.LDAPRoleManager;
import com.c2kernel.lookup.RolePath;
-import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.persistency.TransactionManager;
import com.c2kernel.persistency.outcome.Outcome;
import com.c2kernel.persistency.outcome.Viewpoint;
@@ -523,7 +522,7 @@ public class Activity extends WfVertex String viewName = hasOutcome?(String)getProperties().get("Viewpoint"):null;
try
{
- hist = (History) Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.HISTORY, this);
+ hist = getWf().getHistory();
if (hasOutcome) {
String schemaName = isError?"Errors":(String)getProperties().get("SchemaType");
String schemaVersion = isError?"0":(String)getProperties().get("SchemaVersion");
@@ -577,17 +576,18 @@ public class Activity extends WfVertex Logger.msg(5, "Activity::storeOutcome() - type:" + schemaType + " version:" + schemaVersion);
try
{
+ Object locker = getWf();
Outcome newOutcome = new Outcome(eventID, requestData, schemaType, schemaVersion);
- Gateway.getStorage().put(entityPath.getSysKey(), newOutcome, this);
+ Gateway.getStorage().put(entityPath.getSysKey(), newOutcome, locker);
// update specific view if defined
String specificView = (String) getProperties().get("Viewpoint");
if (specificView != null && !specificView.equals(""))
{
Viewpoint currentView = new Viewpoint(entityPath.getSysKey(), schemaType, specificView, schemaVersion, eventID);
- Gateway.getStorage().put(entityPath.getSysKey(), currentView, this);
+ Gateway.getStorage().put(entityPath.getSysKey(), currentView, locker);
} // update last view
Viewpoint currentView = new Viewpoint(entityPath.getSysKey(), schemaType, "last", schemaVersion, eventID);
- Gateway.getStorage().put(entityPath.getSysKey(), currentView, this);
+ Gateway.getStorage().put(entityPath.getSysKey(), currentView, locker);
return schemaType + "/" + schemaVersion + "/" + eventID;
}
catch (Exception ex)
@@ -609,6 +609,7 @@ public class Activity extends WfVertex String schemaType = (String) getProperties().get("SchemaType");
boolean hasOutcome = (transitionID == Transitions.DONE || transitionID == Transitions.COMPLETE) && (schemaType != null && schemaType.length() > 0);
boolean hasErrorOutcome = transitionID == Transitions.SUSPEND && requestData != null && requestData.length()>0;
+ Object locker = getWf();
Event event = auditEvent(transitionID, agent, hasOutcome, hasErrorOutcome);
if (event != null)
eventID = event.getID();
@@ -618,7 +619,7 @@ public class Activity extends WfVertex TransactionManager storage = Gateway.getStorage();
if (entityPath != null)
{
- storage.commit(this);
+ storage.commit(locker);
}
}
|
