private StringBuffer generateFlowTriggerRule(Event event, String... flowIds) throws WorkflowException { StringBuffer ruleCode = new StringBuffer(); ruleCode.append(String.format(FLOW_TRIGGER_RULE_TEMPLATE_START, event.getClass().getName(), event.getName())); addOtherPropertyChecks(event, ruleCode); for (String flowId : flowIds) { ruleCode.append(String.format(START_FLOW_CONSEQUENCE_LINE, flowId)); } return ruleCode; }
private StringBuffer generateFlowTriggerRule(Event event, String... flowIds) throws WorkflowException { StringBuffer ruleCode = new StringBuffer(); ruleCode.append(String.format(FLOW_TRIGGER_RULE_TEMPLATE_START, event.getClass().getName(), event.getName())); addOtherPropertyChecks(event, ruleCode); for (String flowId : flowIds) { ruleCode.append(String.format(START_FLOW_CONSEQUENCE_LINE, flowId)); } return ruleCode; }
@Override public void registerFlowTriggerEvent(Event event, String... flowIds) throws WorkflowException { String eventName = event.getName(); String ruleName = String.format("_generated_ trigger %s on %s", Arrays.asList(flowIds), eventName); StringBuffer ruleCode = generateFlowTriggerRule(event, flowIds); LOGGER.info("adding new rule with id: {}", ruleName); try { rulemanager.add(new RuleBaseElementId(RuleBaseElementType.Rule, ruleName), ruleCode.toString()); } catch (RuleBaseException e) { throw new WorkflowException(e); } }
@Override public void registerFlowTriggerEvent(Event event, String... flowIds) throws WorkflowException { String eventName = event.getName(); String ruleName = String.format("_generated_ trigger %s on %s", Arrays.asList(flowIds), eventName); StringBuffer ruleCode = generateFlowTriggerRule(event, flowIds); LOGGER.info("adding new rule with id: {}", ruleName); try { rulemanager.add(new RuleBaseElementId(RuleBaseElementType.Rule, ruleName), ruleCode.toString()); } catch (RuleBaseException e) { throw new WorkflowException(e); } }
@Override public AuditTrailEntry transform(Event e) { if (e == null) { return null; } AuditTrailEntry aent = new AuditTrailEntry(); Data data = new Data(); for (Data.Attribute a : getData(e)) { data.getAttribute().add(a); } aent.setData(data); if (e.getName() == null) { aent.setWorkflowModelElement("unknown"); } else { aent.setWorkflowModelElement(e.getName()); } aent.setEventType(guessEventType(e)); if (dataTypeFactory != null) { AuditTrailEntry.Timestamp timestamp = new AuditTrailEntry.Timestamp(); timestamp.setValue(getCalendar()); aent.setTimestamp(timestamp); } return aent; }