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 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Activity.java') 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) -- cgit v1.2.3