summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-07-23 14:33:30 +0200
committerAndrew Branson <andrew.branson@cern.ch>2013-07-23 14:33:30 +0200
commit5f2380a46e6ec8e571abb2248abd90395dd7be70 (patch)
tree451cc870fee3afa4ded4ab4f606d14f2de4cf9a0
parenta56bacfa9dbf4195dc1a5fc213af2c1f892212b5 (diff)
Support for schemaName and schemaVersion in Event
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Activity.java12
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java2
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java2
-rw-r--r--src/main/java/com/c2kernel/process/Bootstrap.java2
-rw-r--r--src/main/resources/mapFiles/HistoryMap.xml2
5 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
index 952a4dd..b67b472 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
@@ -513,7 +513,7 @@ public class Activity extends WfVertex
/** Adds an event to the AuditTrail of the Item if any */
- private Event auditEvent(int transitionID, AgentPath agent, boolean hasOutcome)
+ private Event auditEvent(int transitionID, AgentPath agent, boolean hasOutcome, boolean isError)
{
EntityPath entityPath = getItemEntityPath();
if (entityPath != null)
@@ -524,7 +524,13 @@ public class Activity extends WfVertex
try
{
hist = (History) Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.HISTORY, this);
- event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), viewName, getCurrentState());
+ if (hasOutcome) {
+ String schemaName = isError?"Errors":(String)getProperties().get("SchemaType");
+ Integer schemaVersion = isError?0:(Integer)getProperties().get("SchemaVersion");
+ event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), schemaName, schemaVersion, viewName, getCurrentState());
+ }
+ else
+ event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), getCurrentState());
Logger.msg(7, "Activity::auditEvent() - Event:" + event.getName() + " was added to the AuditTrail");
}
catch (Exception ex)
@@ -603,7 +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;
- Event event = auditEvent(transitionID, agent, hasOutcome);
+ Event event = auditEvent(transitionID, agent, hasOutcome, hasErrorOutcome);
if (event != null)
eventID = event.getID();
if (hasOutcome || hasErrorOutcome)
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 949ee44..8bcaa45 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java
@@ -79,7 +79,7 @@ public class Import extends PredefinedStep
TransactionManager storage = Gateway.getStorage();
History hist = new History(syskey, this);
- Event event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), viewpoint, getCurrentState(), timestamp);
+ 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);
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
index 11a4f1b..ed6fd20 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
@@ -130,7 +130,7 @@ public class NewItem extends ModuleImport {
}
// write new view/outcome/event
- Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Import", "Import", "Import", thisOutcome.viewname, States.FINISHED);
+ Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Import", "Import", "Import", thisOutcome.schema, thisOutcome.version, thisOutcome.viewname, States.FINISHED);
newOutcome.setID(newEvent.getID());
impView.setEventId(newEvent.getID());
try {
diff --git a/src/main/java/com/c2kernel/process/Bootstrap.java b/src/main/java/com/c2kernel/process/Bootstrap.java
index 6a87d34..a4fc6a9 100644
--- a/src/main/java/com/c2kernel/process/Bootstrap.java
+++ b/src/main/java/com/c2kernel/process/Bootstrap.java
@@ -150,7 +150,7 @@ public class Bootstrap
// data was missing or doesn't match
Logger.msg("Bootstrap.verifyResource() - Writing new data to "+getDataType(itemType)+" "+itemName);
History hist = new History(thisProxy.getSystemKey(), thisProxy);
- Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Bootstrap", "Bootstrap", "Bootstrap", null, States.FINISHED);
+ Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Bootstrap", "Bootstrap", "Bootstrap", getDataType(itemType), 0, "0", States.FINISHED);
newOutcome.setID(newEvent.getID());
Viewpoint newLastView = new Viewpoint(thisProxy.getSystemKey(), getDataType(itemType), "last", 0, newEvent.getID());
Viewpoint newZeroView = new Viewpoint(thisProxy.getSystemKey(), getDataType(itemType), "0", 0, newEvent.getID());
diff --git a/src/main/resources/mapFiles/HistoryMap.xml b/src/main/resources/mapFiles/HistoryMap.xml
index cb08da9..85a2afa 100644
--- a/src/main/resources/mapFiles/HistoryMap.xml
+++ b/src/main/resources/mapFiles/HistoryMap.xml
@@ -22,7 +22,7 @@
<bind-xml name="SchemaName" node="attribute"/>
</field>
<field name="mSchemaVersion" type="integer" direct="false" get-method="getSchemaVersion" set-method="setSchemaVersion">
- <bind-xml name="SchemaName" node="attribute"/>
+ <bind-xml name="SchemaVersion" node="attribute"/>
</field>
<field name="mViewName" type="string" direct="false" get-method="getViewName" set-method="setViewName">
<bind-xml name="ViewName" node="attribute"/>