}
protected void handleTimerNode(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;
org.w3c.dom.Node xmlNode = element.getFirstChild();
while (xmlNode != null) {
String nodeName = xmlNode.getNodeName();
if ("timerEventDefinition".equals(nodeName)) {
Timer timer = new Timer();
org.w3c.dom.Node subNode = xmlNode.getFirstChild();
while (subNode instanceof Element) {
String subNodeName = subNode.getNodeName();
if ("timeCycle".equals(subNodeName)) {
String delay = subNode.getTextContent();
int index = delay.indexOf("###");
if (index != -1) {
String period = delay.substring(index + 3);
delay = delay.substring(0, index);
timer.setPeriod(period);
}
timer.setDelay(delay);
break;
} else if ("timeDuration".equals(subNodeName)) {
String delay = subNode.getTextContent();
timer.setDelay(delay);
break;
}
subNode = subNode.getNextSibling();
}
timerNode.setTimer(timer);
}
xmlNode = xmlNode.getNextSibling();
}
}