From d43164830403245353080f5d6f838ed9f56d9a35 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 18 Nov 2013 09:48:03 +0100 Subject: 3.0-SNAPSHOT (Will be first open source version) New StateMachine desc IssueID #28 --- .../lifecycle/instance/predefined/Import.java | 25 +++++++++------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java') 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 cbdc33b..9b25546 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java @@ -7,9 +7,7 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.events.Event; import com.c2kernel.events.History; import com.c2kernel.lookup.AgentPath; @@ -39,17 +37,13 @@ public class Import extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + Logger.msg(8,"Import::request()"); Logger.msg(1,"Import::request() - Starting."); - checkAccessRights(agent); - String[] params = getDataList(requestData); @@ -75,22 +69,23 @@ public class Import extends PredefinedStep timestamp = Event.timeToString(Event.getGMT()); // write event, outcome and viewpoints to storage - int syskey = getItemEntityPath().getSysKey(); + TransactionManager storage = Gateway.getStorage(); Object locker = getWf(); History hist = getWf().getHistory(); - Event event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), schemaName, schemaVersion, viewpoint, getCurrentState(), timestamp); + Event event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), getName(), getPath(), getType(), schemaName, schemaVersion, getStateMachine().getName(), getStateMachine().getVersion(), getStateMachine().getTransition(transitionID), viewpoint, timestamp); try { - storage.put(syskey, new Outcome(event.getID(), requestData, schemaName, schemaVersion), locker); - storage.put(syskey, new Viewpoint(syskey, schemaName, viewpoint, schemaVersion, event.getID()), locker); + storage.put(itemSysKey, new Outcome(event.getID(), requestData, schemaName, schemaVersion), this); + storage.put(itemSysKey, new Viewpoint(itemSysKey, schemaName, viewpoint, schemaVersion, event.getID()), this); if (!"last".equals(viewpoint)) - storage.put(syskey, new Viewpoint(syskey, schemaName, "last", schemaVersion, event.getID()), locker); + storage.put(itemSysKey, new Viewpoint(itemSysKey, schemaName, "last", schemaVersion, event.getID()), this); } catch (ClusterStorageException e) { Logger.error(e); storage.abort(locker); throw new InvalidDataException("Could not store imported outcome. Rolled back."); } - storage.commit(locker); + storage.commit(this); + return requestData; } } -- cgit v1.2.3