summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-12-05 12:57:16 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-12-05 12:57:16 +0100
commit37bb1907aca2a3246a7b5d759df79b7fd97c276f (patch)
tree85d4d2a5e815c799a9592c410880c132bb6cd1bb /src/main/java/com/c2kernel/lifecycle/instance/Activity.java
parentd43164830403245353080f5d6f838ed9f56d9a35 (diff)
Add itemSysKey as a variable of the workflow during initialization.
Use this for creating the shared History map. Lock event writing on the Workflow rather than the Activity to keep the History in the transaction.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Activity.java')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Activity.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
index 54df25c..42ffe79 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
@@ -177,20 +177,21 @@ public class Activity extends WfVertex
if (storeOutcome) {
Outcome newOutcome = new Outcome(newEvent.getID(), requestData, schema.docType, schema.docVersion);
- Gateway.getStorage().put(itemSysKey, newOutcome, this);
+ Gateway.getStorage().put(itemSysKey, newOutcome, getWf());
// update specific view if defined
if (viewName != null && !viewName.equals("")) {
Viewpoint currentView = new Viewpoint(itemSysKey, schema.docType, viewName, schema.docVersion, newEvent.getID());
- Gateway.getStorage().put(itemSysKey, currentView, this);
+ Gateway.getStorage().put(itemSysKey, currentView, getWf());
}
// update last view
Viewpoint currentView = new Viewpoint(itemSysKey, schema.docType, "last", schema.docVersion, newEvent.getID());
- Gateway.getStorage().put(itemSysKey, currentView, this);
+ Gateway.getStorage().put(itemSysKey, currentView, getWf());
}
- Gateway.getStorage().commit(this);
+ Gateway.getStorage().commit(getWf());
} catch (ClusterStorageException ex) {
Logger.error(ex);
+ Gateway.getStorage().abort(getWf());
throw new PersistencyException("Exception storing event data");
}