summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-11-18 09:48:03 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-11-18 17:25:00 +0100
commitd43164830403245353080f5d6f838ed9f56d9a35 (patch)
treed880c9103fb61f5ef39f1723c4dbd634d5d83b67 /src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java
parent37a3c3867cb4c7705065ed1d079bdac4f3f52f50 (diff)
3.0-SNAPSHOT (Will be first open source version)
New StateMachine desc IssueID #28
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java25
1 files changed, 10 insertions, 15 deletions
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;
}
}