private DeadlineDefinition getCompatibleDeadline(final String className, final Set<DeadlineDefinition> deadlines) { for (final DeadlineDefinition deadline : deadlines) { if (deadline.getClassName().equals(className)) { return deadline; } } return null; }
public DeadlineDefinitionImpl(final DeadlineDefinition src) { Misc.checkArgsNotNull(src); this.deadlineCondition = src.getDeadlineCondition(); this.exceptionName = src.getExceptionName(); this.execution = src.getExecution(); }
private void createDeadlines(final XmlBuilder xmlDefBuilder, final Node parentNode, final Set<DeadlineDefinition> deadlines) throws Exception { final Node deadlinesNode = xmlDefBuilder.createNode(parentNode, XmlDef.DEADLINES); for (final DeadlineDefinition deadline : deadlines) { final Node deadlineNode = xmlDefBuilder.createNode(deadlinesNode, XmlDef.DEADLINE); xmlDefBuilder.createNode(deadlineNode, XmlDef.CLASSNAME, deadline.getClassName()); xmlDefBuilder.createNode(deadlineNode, XmlDef.CONDITION, deadline.getCondition()); xmlDefBuilder.createNode(deadlineNode, XmlDef.DESCRIPTION, deadline.getDescription()); xmlDefBuilder.createNode(deadlineNode, XmlDef.IS_THROWING_EXCEPTION, deadline.isThrowingException()); final Node parametersNode = xmlDefBuilder.createNode(deadlineNode, XmlDef.PARAMETERS); final Map<String, Object[]> deadlineParameters = deadline.getParameters(); for (final Entry<String, Object[]> deadlineParameter : deadlineParameters.entrySet()) { final Map<String, Serializable> deadlineParameterAttributes = new HashMap<String, Serializable>(); deadlineParameterAttributes.put(XmlDef.NAME, deadlineParameter.getKey()); final byte[] value = Misc.serialize(deadlineParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, deadlineParameterAttributes); } } }
protected static void createTimerDefinition(NodeImpl node, DeadlineDefinition deadline) { TimerDefinitionImpl timerDefinition = node.createTimerDefinition(); timerDefinition.setSignalName(deadline.getExceptionName()); String condition = deadline.getDeadlineCondition(); try { long duration = Long.parseLong(condition); timerDefinition.setDueDateDescription(duration + " millis"); } catch (NumberFormatException e1) { try { timerDefinition.setDueDate(DateUtil.parseDate(condition)); } catch (IllegalArgumentException e2) { throw new XpdlParserException("deadline condition '" + deadline.getDeadlineCondition() + "' is neither a Long nor a formatted date", e2); } } }
protected static Set<String> createTimerDefinitions(ActivityDefinition activity, NodeImpl node) { if (activity.getDeadlines() != null) { Set<String> deadlineHooks = new HashSet<String>(); for (DeadlineDefinition deadline : activity.getDeadlines()) { deadlineHooks.add(deadline.getExceptionName()); createTimerDefinition(node, deadline); } return deadlineHooks; } return null; }
private void createDeadlines(final XmlBuilder xmlDefBuilder, final Node parentNode, final Set<DeadlineDefinition> deadlines) throws Exception { final Node deadlinesNode = xmlDefBuilder.createNode(parentNode, XmlDef.DEADLINES); for (final DeadlineDefinition deadline : deadlines) { final Node deadlineNode = xmlDefBuilder.createNode(deadlinesNode, XmlDef.DEADLINE); xmlDefBuilder.createNode(deadlineNode, XmlDef.CLASSNAME, deadline.getClassName()); xmlDefBuilder.createNode(deadlineNode, XmlDef.CONDITION, deadline.getCondition()); xmlDefBuilder.createNode(deadlineNode, XmlDef.DESCRIPTION, deadline.getDescription()); xmlDefBuilder.createNode(deadlineNode, XmlDef.IS_THROWING_EXCEPTION, deadline.isThrowingException()); final Node parametersNode = xmlDefBuilder.createNode(deadlineNode, XmlDef.PARAMETERS); final Map<String, Object[]> deadlineParameters = deadline.getParameters(); for (final Entry<String, Object[]> deadlineParameter : deadlineParameters.entrySet()) { final Map<String, Serializable> deadlineParameterAttributes = new HashMap<String, Serializable>(); deadlineParameterAttributes.put(XmlDef.NAME, deadlineParameter.getKey()); final byte[] value = Misc.serialize(deadlineParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, deadlineParameterAttributes); } } }
protected Set<String> getActivitiesDependencies(Set<ActivityDefinition> activities) { Set<String> dependencies = new HashSet<String>(); if (activities != null) { for (ActivityDefinition activity : activities) { if (activity.getPerformerAssign() != null) { dependencies.add(activity.getPerformerAssign().getClassName()); } if (activity.getHooks() != null) { for (HookDefinition hook : activity.getHooks()) { dependencies.add(hook.getClassName()); } } if (activity.getDeadlines() != null) { for (DeadlineDefinition deadline : activity.getDeadlines()) { dependencies.add(deadline.getExceptionName()); } } if (activity.getMultiInstantiationDefinition() != null) { dependencies.add(activity.getMultiInstantiationDefinition().getClassName()); } } } return dependencies; } protected Set<String> getParticipantsDependencies(Set<ParticipantDefinition> participants) {
public DeadlineDefinitionImpl(final DeadlineDefinition src) { Misc.checkArgsNotNull(src); this.deadlineCondition = src.getDeadlineCondition(); this.exceptionName = src.getExceptionName(); this.execution = src.getExecution(); }
@Override public Set<String> getClassDependencies() { final Set<String> classDependencies = new HashSet<String>(); for (final DeadlineDefinition deadline : getDeadlines()) { classDependencies.add(deadline.getClassName()); } for (final ConnectorDefinition connector : getConnectors()) { classDependencies.add(connector.getClassName()); } if (getMultiInstantiationDefinition() != null) { classDependencies.add(getMultiInstantiationDefinition().getClassName()); } if (getFilter() != null) { classDependencies.add(getFilter().getClassName()); } return classDependencies; }
@Override public Set<String> getClassDependencies() { final Set<String> classDependencies = new HashSet<String>(); for (final DeadlineDefinition deadline : getDeadlines()) { classDependencies.add(deadline.getClassName()); } for (final ConnectorDefinition connector : getConnectors()) { classDependencies.add(connector.getClassName()); } if (getMultiInstantiationDefinition() != null) { classDependencies.add(getMultiInstantiationDefinition().getClassName()); } if (getFilter() != null) { classDependencies.add(getFilter().getClassName()); } return classDependencies; }