Package edu.indiana.extreme.xbaya.graph

Examples of edu.indiana.extreme.xbaya.graph.Node


    }
 
  private void handleEvent(MonitorEvent event, boolean forward, Graph graph) {
    EventType type = event.getType();
    String nodeID = event.getNodeID();
    Node node = graph.getNode(nodeID);
   
    System.out.println(nodeID);

    // logger.finest("type: " + type);
    if (type == MonitorUtil.EventType.WORKFLOW_INVOKED) {
View Full Code Here


  private void finishPredecessorNodes(Node node) {
    for (Port inputPort : node.getInputPorts()) {
      for (Edge edge : inputPort.getEdges()) {
        Port fromPort = edge.getFromPort();
        if (!(fromPort instanceof EPRPort)) {
          Node fromNode = fromPort.getNode();
          finishNode(fromNode);
          finishPredecessorNodes(fromNode);
        }
      }
    }
View Full Code Here

        Collection<Port> inputPorts = GraphUtil.getPorts(this.graph,
                Port.Kind.DATA_IN);
        for (Port inputPort : inputPorts) {
            Collection<Port> fromPorts = inputPort.getFromPorts();
            if (fromPorts.size() == 0) {
                Node node = inputPort.getNode();
                String message = node.getID() + " has an unconnected input "
                        + inputPort.getName();
                warnings.add(message);
            }
        }
View Full Code Here

        // Ports
        for (Port port : node.getInputPorts()) {
            String portName = port.getName();
            String value;
            Node fromNode = port.getFromNode();
            if (fromNode instanceof InputNode) {
                value = PROPERTIES_VARIABLE + "." + GET_PROPERTY_METHOD + "('"
                        + fromNode.getID() + "')";
            } else {
                Port fromPort = port.getFromPort();
                value = "" + fromNode.getID() + INVOKER_SUFFIX + "."
                        + GET_OUTPUT_METHOD + "('" + fromPort.getName() + "')";

                // This might try to remove a node that has been removed
                // already, but it's OK.
                this.executingNodes.remove(fromNode);
View Full Code Here

    private void writeOutput(OutputNode node, PrintWriter pw)
            throws GraphException {
        String id = node.getID();
        Port port = node.getPort();

        Node fromNode = port.getFromNode();
        if (fromNode == null) {
            throw new GraphException(
                    "Output parameter has to be connected to some node.");
        }
        Port fromPort = port.getFromPort();
        if (fromNode instanceof InputNode) {
            // The OutputNode is directly connected to an InputNode.
            pw.println(TAB + id + VALUE_SUFFIX + " = " + PROPERTIES_VARIABLE
                    + "." + GET_PROPERTY_METHOD + "('" + fromNode.getID()
                    + "')");
        } else {
            pw.println(TAB + "# Wait output " + id);
            pw.println(TAB + id + VALUE_SUFFIX + " = " + fromNode.getID()
                    + INVOKER_SUFFIX + "." + GET_OUTPUT_METHOD + "('"
                    + fromPort.getName() + "')");
        }
        pw.println(TAB + "print '" + id + " = ', " + id + VALUE_SUFFIX);
View Full Code Here

        // Adder nodes
        Component adderComp = this.componentRegistry.getComponents(
                MATH_ADDER_WSDL).get(0);

        Node adderNode1 = workflow.addNode(adderComp);
        adderNode1.setPosition(new Point(170, 50));

        Node adderNode2 = workflow.addNode(adderComp);
        adderNode2.setPosition(new Point(170, 210));

        // Multiplier node
        Component multiComp = this.componentRegistry.getComponents(
                MATH_MULTIPLIER_WSDL).get(0);

        Node multiNode = workflow.addNode(multiComp);
        multiNode.setPosition(new Point(320, 130));

        // Parameter node 1
        InputNode paramNode1 = (InputNode) workflow
                .addNode(this.inputComponent);
        paramNode1.setPosition(new Point(20, 30));
        String paramValue1 = "2";
        paramNode1.setDefaultValue(paramValue1);

        // Parameter node 2
        InputNode paramNode2 = (InputNode) workflow
                .addNode(this.inputComponent);
        paramNode2.setPosition(new Point(20, 100));
        String paramValue2 = "3";
        paramNode2.setDefaultValue(paramValue2);

        // Parameter node 3
        InputNode paramNode3 = (InputNode) workflow
                .addNode(this.inputComponent);
        paramNode3.setPosition(new Point(20, 170));
        String paramValue3 = "4";
        paramNode3.setDefaultValue(paramValue3);

        // Parameter node 4
        InputNode paramNode4 = (InputNode) workflow
                .addNode(this.inputComponent);
        paramNode4.setPosition(new Point(20, 240));
        String paramValue4 = "5";
        paramNode4.setDefaultValue(paramValue4);

        OutputNode outParamNode = (OutputNode) workflow
                .addNode(this.outputComponent);
        outParamNode.setPosition(new Point(370, 240));

        // Connect ports
        graph.addEdge(paramNode1.getOutputPort(0), adderNode1.getInputPort(0));
        graph.addEdge(paramNode2.getOutputPort(0), adderNode1.getInputPort(1));
        graph.addEdge(paramNode3.getOutputPort(0), adderNode2.getInputPort(0));
        graph.addEdge(paramNode4.getOutputPort(0), adderNode2.getInputPort(1));
        graph.addEdge(adderNode1.getOutputPort(0), multiNode.getInputPort(0));
        graph.addEdge(adderNode2.getOutputPort(0), multiNode.getInputPort(1));
        graph.addEdge(multiNode.getOutputPort(0), outParamNode.getInputPort(0));

        return workflow;
    }
View Full Code Here

  protected void edgeWasAdded(Edge edge) throws GraphException {
    super.edgeWasAdded(edge);   
       
    if (edge instanceof DataEdge){
      Port toPort = edge.getToPort();
      Node toNode = toPort.getNode();
      Port fromPort = edge.getFromPort();
      Node fromNode = fromPort.getNode();
     
       if(!(toNode instanceof ResourceNode && fromNode instanceof ResourceNode)){
         throw new GraphException("Cannot connect Resource Node to other type of nodes");   
       }
    }   
View Full Code Here

        // Remove Adder_2 and replace with Multiplier_2.
        graph.removeNode(adder2);
        repaintAndWait(1);

        Node multiplier2 = workflow.addNode(multiplierComponent);
        multiplier2.setPosition(new Point(170, 210));
        repaintAndWait(1);

        graph.addEdge(c.getOutputPort(0), multiplier2.getInputPort(0));
        repaintAndWait(1);

        graph.addEdge(d.getOutputPort(0), multiplier2.getInputPort(1));
        repaintAndWait(1);

        graph.addEdge(multiplier2.getOutputPort(0), multiplier.getInputPort(1));
        repaintAndWait(1);

        // Add one more adder and an output.
        Node adder3 = workflow.addNode(adderComponent);
        adder3.setPosition(new Point(320, 300));
        repaintAndWait(1);

        graph.addEdge(adder.getOutputPort(0), adder3.getInputPort(0));
        repaintAndWait(1);

        graph.addEdge(multiplier2.getOutputPort(0), adder3.getInputPort(1));
        repaintAndWait(1);

        Node output2 = workflow.addNode(outputComponent);
        output2.setPosition(new Point(500, 300));
        repaintAndWait(1);

        graph.addEdge(adder3.getOutputPort(0), output2.getInputPort(0));
        repaintAndWait(1);
    }
View Full Code Here

      ArrayList<Node> inputNodes = this.getInputNodesDynamically();
      Object[] values = new Object[inputNodes.size()];
      String[] keywords = new String[inputNodes.size()];
      for (int i = 0; i < inputNodes.size(); ++i) {
        Node node = inputNodes.get(i);
        node.getGUI().setBodyColor(NodeState.FINISHED.color);
        if (this.mode == GUI_MODE) {
          this.engine.getGUI().getGraphCanvas().repaint();
        }
        keywords[i] = ((InputNode) node).getConfiguredName();
        values[i] = ((InputNode) node).getDefaultValue();
      }
      this.notifier.workflowStarted(values, keywords);
      while (this.workflow.getExecutionState() != XBayaExecutionState.STOPPED) {
        if (getRemainNodesDynamically() == 0) {
          if (this.mode == GUI_MODE) {
            this.notifyPause();
          } else {
            this.workflow.setExecutionState(XBayaExecutionState.STOPPED);
          }
        }
        // ok we have paused sleep
        while (this.workflow.getExecutionState() == XBayaExecutionState.PAUSED) {
          try {
            Thread.sleep(400);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
        }
        // get task list and execute them
        ArrayList<Node> readyNodes = this.getReadyNodesDynamically();
        for (Node node : readyNodes) {
          if (node.isBreak()) {
            this.notifyPause();
            break;
          }
          if (this.workflow.getExecutionState() == XBayaExecutionState.PAUSED || this.workflow.getExecutionState() == XBayaExecutionState.STOPPED) {
            break;
View Full Code Here

    }
  }

  private Object findInputFromPort(Port inputPort) throws XBayaException {
    Object outputVal = null;
    Node fromNode = inputPort.getFromNode();
    if (fromNode instanceof InputNode) {
      outputVal = ((InputNode) fromNode).getDefaultValue();
    } else if (fromNode instanceof ConstantNode) {
      outputVal = ((ConstantNode) fromNode).getValue();
    } else if (fromNode instanceof EndifNode) {
View Full Code Here

TOP

Related Classes of edu.indiana.extreme.xbaya.graph.Node

Copyright © 2018 www.massapicom. 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.