From 5f2380a46e6ec8e571abb2248abd90395dd7be70 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 23 Jul 2013 14:33:30 +0200 Subject: Support for schemaName and schemaVersion in Event --- src/main/java/com/c2kernel/lifecycle/instance/Activity.java | 12 +++++++++--- .../com/c2kernel/lifecycle/instance/predefined/Import.java | 2 +- .../instance/predefined/entitycreation/NewItem.java | 2 +- src/main/java/com/c2kernel/process/Bootstrap.java | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/c2kernel') 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()); -- cgit v1.2.3