Examples of ForEachNode


Examples of org.jbpm.workflow.core.node.ForEachNode

  public Class generateNodeFor() {
        return ForEachNode.class;
    }

    public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
      ForEachNode forEachNode = (ForEachNode) node;
      writeNode("subProcess", forEachNode, xmlDump, metaDataType);
    xmlDump.append(" >" + EOL);
    // ioSpecification and dataInputAssociation
        xmlDump.append(
            "      <ioSpecification>" + EOL);
        String parameterName = forEachNode.getVariableName();
        if (parameterName != null) {
          xmlDump.append(
          "        <dataInput id=\"" + XmlBPMNProcessDumper.getUniqueNodeId(forEachNode) + "_input\" name=\"MultiInstanceInput\" />" + EOL);
        }
        xmlDump.append(
        "        <inputSet/>" + EOL +
            "        <outputSet/>" + EOL +
            "      </ioSpecification>" + EOL);
        String collectionExpression = forEachNode.getCollectionExpression();
        if (collectionExpression != null) {
            xmlDump.append(
                "      <dataInputAssociation>" + EOL +
                "        <sourceRef>" + XmlDumper.replaceIllegalChars(collectionExpression) + "</sourceRef>" + EOL +
                "        <targetRef>" + XmlBPMNProcessDumper.getUniqueNodeId(forEachNode) + "_input</targetRef>" + EOL +
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

    org.w3c.dom.Node xmlNode = element.getFirstChild();
    while (xmlNode != null) {
      String nodeName = xmlNode.getNodeName();
      if ("multiInstanceLoopCharacteristics".equals(nodeName)) {
        // create new timerNode
        ForEachNode forEachNode = new ForEachNode();
        forEachNode.setId(node.getId());
        forEachNode.setName(node.getName());
        for (org.drools.definition.process.Node subNode: ((CompositeContextNode) node).getNodes()) {
          forEachNode.addNode(subNode);
        }
        forEachNode.setMetaData("UniqueId", ((CompositeContextNode) node).getMetaData("UniqueId"));
        forEachNode.setMetaData(ProcessHandler.CONNECTIONS, ((CompositeContextNode) node).getMetaData(ProcessHandler.CONNECTIONS));
        VariableScope v = (VariableScope) ((CompositeContextNode) node).getDefaultContext(VariableScope.VARIABLE_SCOPE);
        ((VariableScope) ((CompositeContextNode) forEachNode.internalGetNode(2)).getDefaultContext(VariableScope.VARIABLE_SCOPE)).setVariables(v.getVariables());
        node = forEachNode;
        handleForEachNode(node, element, uri, localName, parser);
        found = true;
        break;
      }
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

   
    @SuppressWarnings("unchecked")
  protected void handleForEachNode(final Node node, final Element element, final String uri,
            final String localName, final ExtensibleXmlParser parser) throws SAXException {
      super.handleNode(node, element, uri, localName, parser);
      ForEachNode forEachNode = (ForEachNode) node;
      org.w3c.dom.Node xmlNode = element.getFirstChild();
        while (xmlNode != null) {
            String nodeName = xmlNode.getNodeName();
            if ("dataInputAssociation".equals(nodeName)) {
                readDataInputAssociation(xmlNode, forEachNode);
            } else if ("multiInstanceLoopCharacteristics".equals(nodeName)) {
              readMultiInstanceLoopCharacteristics(xmlNode, forEachNode, parser);
            }
            xmlNode = xmlNode.getNextSibling();
        }
      List<SequenceFlow> connections = (List<SequenceFlow>)
      forEachNode.getMetaData(ProcessHandler.CONNECTIONS);
      ProcessHandler.linkConnections(forEachNode, connections);
      ProcessHandler.linkBoundaryEvents(forEachNode);
    }
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

    org.w3c.dom.Node xmlNode = element.getFirstChild();
    while (xmlNode != null) {
      String nodeName = xmlNode.getNodeName();
      if ("multiInstanceLoopCharacteristics".equals(nodeName)) {
        // create new timerNode
        ForEachNode forEachNode = new ForEachNode();
        forEachNode.setId(node.getId());
        forEachNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
        node.setMetaData("UniqueId", null);
        node.setMetaData("hidden", true);
        forEachNode.addNode(node);
        forEachNode.linkIncomingConnections(NodeImpl.CONNECTION_DEFAULT_TYPE, node.getId(), NodeImpl.CONNECTION_DEFAULT_TYPE);
        forEachNode.linkOutgoingConnections(node.getId(), NodeImpl.CONNECTION_DEFAULT_TYPE, NodeImpl.CONNECTION_DEFAULT_TYPE);
        node = forEachNode;
        handleForEachNode(node, element, uri, localName, parser);
        break;
      }
      xmlNode = xmlNode.getNextSibling();
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

        }
    }
   
  protected void handleForEachNode(final Node node, final Element element, final String uri,
            final String localName, final ExtensibleXmlParser parser) throws SAXException {
      ForEachNode forEachNode = (ForEachNode) node;
      org.w3c.dom.Node xmlNode = element.getFirstChild();
        while (xmlNode != null) {
            String nodeName = xmlNode.getNodeName();
            if ("dataInputAssociation".equals(nodeName)) {
                readDataInputAssociation(xmlNode, forEachNode);
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

                                "  <message id=\"" + XmlBPMNProcessDumper.replaceIllegalCharsAttribute(eventType) + "\" itemRef=\"" + XmlBPMNProcessDumper.replaceIllegalCharsAttribute(eventType) + "Type\" />" + EOL + EOL);
                        }
                    }
                }
            } else if (node instanceof ForEachNode) {
              ForEachNode forEachNode = (ForEachNode) node;
              String type = null;
              if (forEachNode.getVariableType() instanceof ObjectDataType) {
                type = ((ObjectDataType) forEachNode.getVariableType()).getClassName();
              }
                xmlDump.append(
                    "  <itemDefinition id=\"" + XmlBPMNProcessDumper.getUniqueNodeId(forEachNode) + "_multiInstanceItemType\" " +
                      (type == null || "java.lang.Object".equals(type) ? "" : "structureRef=\"" + XmlBPMNProcessDumper.replaceIllegalCharsAttribute(type) + "\" ") + "/>" + EOL + EOL);
            }
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

                  for (Timer timer: workItemNode.getTimers().keySet()) {
                    validateTimer(timer, node, process, errors);
                  }
                }
            } else if (node instanceof ForEachNode) {
                final ForEachNode forEachNode = (ForEachNode) node;
                String variableName = forEachNode.getVariableName();
                if (variableName == null || "".equals(variableName)) {
                    errors.add(new ProcessValidationErrorImpl(process,
                        "ForEach node '" + node.getName() + "' [" + node.getId() + "] has no variable name"));
                }
                String collectionExpression = forEachNode.getCollectionExpression();
                if (collectionExpression == null || "".equals(collectionExpression)) {
                    errors.add(new ProcessValidationErrorImpl(process,
                        "ForEach node '" + node.getName() + "' [" + node.getId() + "] has no collection expression"));
                }
                if (forEachNode.getDefaultIncomingConnections().size() == 0 && !acceptsNoIncomingConnections(node)) {
                    errors.add(new ProcessValidationErrorImpl(process,
                        "ForEach node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection"));
                }
                if (forEachNode.getDefaultOutgoingConnections().size() == 0 && !acceptsNoOutgoingConnections(node)) {
                    errors.add(new ProcessValidationErrorImpl(process,
                        "ForEach node '" + node.getName() + "' [" + node.getId() + "] has no outgoing connection"));
                }
                // TODO: check, if no linked connections, for start and end node(s)
//                if (forEachNode.getLinkedIncomingNode(org.drools.workflow.core.Node.CONNECTION_DEFAULT_TYPE) == null) {
//                    errors.add(new ProcessValidationErrorImpl(process,
//                        "ForEach node '" + node.getName() + "' [" + node.getId() + "] has no linked start node"));
//                }
//                if (forEachNode.getLinkedOutgoingNode(org.drools.workflow.core.Node.CONNECTION_DEFAULT_TYPE) == null) {
//                    errors.add(new ProcessValidationErrorImpl(process,
//                        "ForEach node '" + node.getName() + "' [" + node.getId() + "] has no linked end node"));
//                }
                validateNodes(forEachNode.getNodes(), errors, process);
            } else if (node instanceof DynamicNode) {
                final DynamicNode dynamicNode = (DynamicNode) node;
                if (dynamicNode.getDefaultIncomingConnections().size() == 0) {
                    errors.add(new ProcessValidationErrorImpl(process,
                        "Dynamic node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection"));
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

  private long linkedOutgoingNodeId = -1;

    public ForEachNodeFactory(RuleFlowNodeContainerFactory nodeContainerFactory, NodeContainer nodeContainer, long id) {
      this.nodeContainerFactory = nodeContainerFactory;
      this.nodeContainer = nodeContainer;
      ForEachNode forEachNode = new ForEachNode();
        forEachNode.setId(id);
        setNodeContainer(forEachNode);
    }
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

        descriptors[descriptors.length - 1] =
            new TextPropertyDescriptor(END_NODE, "EndNodeId");
    }
   
    public ForEachNodeWrapper() {
        setNode(new ForEachNode());
        getForEachNode().setName("ForEach");
    }
View Full Code Here

Examples of org.jbpm.workflow.core.node.ForEachNode

//        descriptors[descriptors.length - 1] =
//            new TextPropertyDescriptor(END_NODE, "EndNodeId");
    }
   
    public ForEachNodeWrapper() {
        setNode(new ForEachNode());
        getForEachNode().setName("ForEach");
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.