public void handleNode(final Node node, final Element element, final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { super.handleNode(node, element, uri, localName, parser); TimerNode timerNode = (TimerNode) node; String delay = element.getAttribute("delay"); String period = element.getAttribute("period"); if ((delay != null && delay.length() > 0) || (period != null && period.length() > 0)) { Timer timer = timerNode.getTimer(); if (timer == null) { timer = new Timer(); timerNode.setTimer(timer); } if (delay != null && delay.length() != 0 ) { timer.setDelay(delay); } if (period != null && period.length() != 0 ) { timer.setPeriod(period); } } }
public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) { TimerNode timerNode = (TimerNode) node; writeNode("timerNode", timerNode, xmlDump, includeMeta); Timer timer = timerNode.getTimer(); if (timer != null) { xmlDump.append("delay=\"" + timer.getDelay() + "\" "); if (timer.getPeriod() != null) { xmlDump.append(" period=\"" + timer.getPeriod() + "\" "); } } if (includeMeta && containsMetaData(timerNode)) { xmlDump.append(">" + EOL); writeMetaData(timerNode, xmlDump); endNode("timerNode", xmlDump); } else { endNode(xmlDump); } }
public TimerNodeFactory delay(String delay) { Timer timer = getTimerNode().getTimer(); if (timer == null) { timer = new Timer(); getTimerNode().setTimer(timer); } timer.setDelay(delay); return this; }
public TimerNodeFactory period(String period) { Timer timer = getTimerNode().getTimer(); if (timer == null) { timer = new Timer(); getTimerNode().setTimer(timer); } timer.setPeriod(period); return this; }
public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) { TimerNode timerNode = (TimerNode) node; writeNode("intermediateCatchEvent", timerNode, xmlDump, metaDataType); xmlDump.append(">" + EOL); writeExtensionElements(node, xmlDump); xmlDump.append(" <timerEventDefinition>" + EOL); Timer timer = timerNode.getTimer(); if (timer != null && (timer.getDelay() != null || timer.getDate() != null)) { if (timer.getTimeType() == Timer.TIME_DURATION) { xmlDump.append(" <timeDuration xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "</timeDuration>" + EOL); } else if (timer.getTimeType() == Timer.TIME_CYCLE) { if (timer.getPeriod() != null) { xmlDump.append(" <timeCycle xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "###" + XmlDumper.replaceIllegalChars(timer.getPeriod()) + "</timeCycle>" + EOL); } else { xmlDump.append(" <timeCycle xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "</timeCycle>" + EOL); } } else if (timer.getTimeType() == Timer.TIME_DATE) { xmlDump.append(" <timeDate xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "</timeDate>" + EOL); } } xmlDump.append(" </timerEventDefinition>" + EOL); endNode("intermediateCatchEvent", xmlDump); }
protected TimerInstance createTimerInstance(InternalKnowledgeRuntime kruntime) { Timer timer = getTimerNode().getTimer(); TimerInstance timerInstance = new TimerInstance(); if (kruntime != null && kruntime.getEnvironment().get("jbpm.business.calendar") != null){ BusinessCalendar businessCalendar = (BusinessCalendar) kruntime.getEnvironment().get("jbpm.business.calendar"); String delay = resolveVariable(timer.getDelay()); timerInstance.setDelay(businessCalendar.calculateBusinessTimeAsDuration(delay)); if (timer.getPeriod() == null) { timerInstance.setPeriod(0); } else { String period = resolveVariable(timer.getPeriod()); timerInstance.setPeriod(businessCalendar.calculateBusinessTimeAsDuration(period)); } } else { configureTimerInstance(timer, timerInstance); } timerInstance.setTimerId(timer.getId()); return timerInstance; }
public void handleNode(final Node node, final Element element, final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { super.handleNode(node, element, uri, localName, parser); TimerNode timerNode = (TimerNode) node; String delay = element.getAttribute("delay"); String period = element.getAttribute("period"); if ((delay != null && delay.length() > 0) || (period != null && period.length() > 0)) { Timer timer = timerNode.getTimer(); if (timer == null) { timer = new Timer(); timerNode.setTimer(timer); } if (delay != null && delay.length() != 0 ) { timer.setDelay(delay); } if (period != null && period.length() != 0 ) { timer.setPeriod(period); } } }
public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) { TimerNode timerNode = (TimerNode) node; writeNode("timerNode", timerNode, xmlDump, includeMeta); Timer timer = timerNode.getTimer(); if (timer != null) { xmlDump.append("delay=\"" + timer.getDelay() + "\" "); if (timer.getPeriod() != null) { xmlDump.append(" period=\"" + timer.getPeriod() + "\" "); } } if (includeMeta && containsMetaData(timerNode)) { xmlDump.append(">" + EOL); writeMetaData(timerNode, xmlDump); endNode("timerNode", xmlDump); } else { endNode(xmlDump); } }
public TimerNodeFactory delay(String delay) { Timer timer = getTimerNode().getTimer(); if (timer == null) { timer = new Timer(); getTimerNode().setTimer(timer); } timer.setDelay(delay); return this; }
public TimerNodeFactory period(String period) { Timer timer = getTimerNode().getTimer(); if (timer == null) { timer = new Timer(); getTimerNode().setTimer(timer); } timer.setPeriod(period); return this; }
public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) { TimerNode timerNode = (TimerNode) node; writeNode("intermediateCatchEvent", timerNode, xmlDump, metaDataType); xmlDump.append(">" + EOL); writeExtensionElements(node, xmlDump); xmlDump.append(" <timerEventDefinition>" + EOL); Timer timer = timerNode.getTimer(); if (timer != null && (timer.getDelay() != null || timer.getDate() != null)) { if (timer.getTimeType() == Timer.TIME_DURATION) { xmlDump.append(" <timeDuration xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "</timeDuration>" + EOL); } else if (timer.getTimeType() == Timer.TIME_CYCLE) { if (timer.getPeriod() != null) { xmlDump.append(" <timeCycle xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "###" + XmlDumper.replaceIllegalChars(timer.getPeriod()) + "</timeCycle>" + EOL); } else { xmlDump.append(" <timeCycle xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "</timeCycle>" + EOL); } } else if (timer.getTimeType() == Timer.TIME_DATE) { xmlDump.append(" <timeDate xsi:type=\"tFormalExpression\">" + XmlDumper.replaceIllegalChars(timer.getDelay()) + "</timeDate>" + EOL); } } xmlDump.append(" </timerEventDefinition>" + EOL); endNode("intermediateCatchEvent", xmlDump); }
protected TimerInstance createTimerInstance(InternalKnowledgeRuntime kruntime) { Timer timer = getTimerNode().getTimer(); TimerInstance timerInstance = new TimerInstance(); if (kruntime != null && kruntime.getEnvironment().get("jbpm.business.calendar") != null){ BusinessCalendar businessCalendar = (BusinessCalendar) kruntime.getEnvironment().get("jbpm.business.calendar"); String delay = resolveVariable(timer.getDelay()); timerInstance.setDelay(businessCalendar.calculateBusinessTimeAsDuration(delay)); if (timer.getPeriod() == null) { timerInstance.setPeriod(0); } else { String period = resolveVariable(timer.getPeriod()); timerInstance.setPeriod(businessCalendar.calculateBusinessTimeAsDuration(period)); } } else { configureTimerInstance(timer, timerInstance); } timerInstance.setTimerId(timer.getId()); return timerInstance; }