From c543e99e6b02a25c6dc745081f3915897420b225 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 20 Sep 2013 13:39:01 +0200 Subject: Keep a History object in the Workflow to avoid recreating it on repeated executions. --- .../com/c2kernel/lifecycle/instance/predefined/Import.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java index 8bcaa45..cbdc33b 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java @@ -77,20 +77,20 @@ public class Import extends PredefinedStep // write event, outcome and viewpoints to storage int syskey = getItemEntityPath().getSysKey(); TransactionManager storage = Gateway.getStorage(); - - History hist = new History(syskey, this); + Object locker = getWf(); + History hist = getWf().getHistory(); Event event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), schemaName, schemaVersion, viewpoint, getCurrentState(), timestamp); try { - storage.put(syskey, new Outcome(event.getID(), requestData, schemaName, schemaVersion), this); - storage.put(syskey, new Viewpoint(syskey, schemaName, viewpoint, schemaVersion, event.getID()), this); + storage.put(syskey, new Outcome(event.getID(), requestData, schemaName, schemaVersion), locker); + storage.put(syskey, new Viewpoint(syskey, schemaName, viewpoint, schemaVersion, event.getID()), locker); if (!"last".equals(viewpoint)) - storage.put(syskey, new Viewpoint(syskey, schemaName, "last", schemaVersion, event.getID()), this); + storage.put(syskey, new Viewpoint(syskey, schemaName, "last", schemaVersion, event.getID()), locker); } catch (ClusterStorageException e) { Logger.error(e); - storage.abort(this); + storage.abort(locker); throw new InvalidDataException("Could not store imported outcome. Rolled back."); } - storage.commit(this); + storage.commit(locker); } } -- cgit v1.2.3