Exemplo n.º 1
0
  protected 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);
    ActionNode actionNode = (ActionNode) node;
    node.setMetaData("NodeType", "ScriptTask");
    DroolsConsequenceAction action = (DroolsConsequenceAction) actionNode.getAction();
    if (action == null) {
      action = new DroolsConsequenceAction();
      actionNode.setAction(action);
    }
    String language = element.getAttribute("scriptFormat");
    if (XmlBPMNProcessDumper.JAVA_LANGUAGE.equals(language)) {
      action.setDialect(JavaDialect.ID);
    } else if (XmlBPMNProcessDumper.JAVASCRIPT_LANGUAGE.equals(language)) {
      action.setDialect("JavaScript");
    }
    action.setConsequence("");
    org.w3c.dom.Node xmlNode = element.getFirstChild();
    while (xmlNode != null) {
      if (xmlNode instanceof Element && "script".equals(xmlNode.getNodeName())) {
        action.setConsequence(xmlNode.getTextContent());
      }
      xmlNode = xmlNode.getNextSibling();
    }

    String compensation = element.getAttribute("isForCompensation");
    if (compensation != null) {
      boolean isForCompensation = Boolean.parseBoolean(compensation);
      if (isForCompensation) {
        actionNode.setMetaData("isForCompensation", isForCompensation);
      }
    }
  }