/** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ ///* // * // * Licensed to the Apache Software Foundation (ASF) under one // * or more contributor license agreements. See the NOTICE file // * distributed with this work for additional information // * regarding copyright ownership. The ASF licenses this file // * to you under the Apache License, Version 2.0 (the // * "License"); you may not use this file except in compliance // * with the License. You may obtain a copy of the License at // * // * http://www.apache.org/licenses/LICENSE-2.0 // * // * Unless required by applicable law or agreed to in writing, // * software distributed under the License is distributed on an // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // * KIND, either express or implied. See the License for the // * specific language governing permissions and limitations // * under the License. // * // */ // //package org.apache.airavata.xbaya.test.util; // //import java.awt.Point; // //import org.apache.airavata.workflow.model.component.Component; //import org.apache.airavata.workflow.model.component.ComponentException; //import org.apache.airavata.workflow.model.component.ComponentRegistryException; //import org.apache.airavata.workflow.model.component.local.LocalComponentRegistry; //import org.apache.airavata.workflow.model.component.system.ConstantComponent; //import org.apache.airavata.workflow.model.component.system.DoWhileComponent; //import org.apache.airavata.workflow.model.component.system.EndDoWhileComponent; //import org.apache.airavata.workflow.model.component.system.EndForEachComponent; //import org.apache.airavata.workflow.model.component.system.EndifComponent; //import org.apache.airavata.workflow.model.component.system.ForEachComponent; //import org.apache.airavata.workflow.model.component.system.IfComponent; //import org.apache.airavata.workflow.model.component.system.InputComponent; //import org.apache.airavata.workflow.model.component.system.OutputComponent; //import org.apache.airavata.workflow.model.component.system.ReceiveComponent; //import org.apache.airavata.workflow.model.graph.Graph; //import org.apache.airavata.workflow.model.graph.GraphException; //import org.apache.airavata.workflow.model.graph.Node; //import org.apache.airavata.workflow.model.graph.system.ConstantNode; //import org.apache.airavata.workflow.model.graph.system.DoWhileNode; //import org.apache.airavata.workflow.model.graph.system.IfNode; //import org.apache.airavata.workflow.model.graph.system.InputNode; //import org.apache.airavata.workflow.model.graph.system.OutputNode; //import org.apache.airavata.workflow.model.graph.system.ReceiveNode; //import org.apache.airavata.workflow.model.wf.Workflow; //import org.apache.airavata.xbaya.file.XBayaPathConstants; //import org.apache.airavata.xbaya.test.service.adder.Adder; //import org.apache.airavata.xbaya.test.service.approver.Approver; //import org.apache.airavata.xbaya.test.service.arrayadder.ArrayAdder; //import org.apache.airavata.xbaya.test.service.arraygen.ArrayGenerator; //import org.apache.airavata.xbaya.test.service.echo.Echo; //import org.apache.airavata.xbaya.test.service.multiplier.Multiplier; // //public class WorkflowCreator { // // /** // * GFAC_TEST_AWSDL // */ // public static final String GFAC_TEST_AWSDL = "TestCMD_Example1_AWSDL.xml"; // // private Component inputComponent; // // private Component outputComponent; // // private LocalComponentRegistry componentRegistry; // // private ConstantComponent constantComponent; // // private ForEachComponent splitComponent; // // private EndForEachComponent mergeComponent; // // private IfComponent ifComponent; // // private EndifComponent endifComponent; // // private ReceiveComponent receiveComponent; // // private DoWhileComponent doWhileComponent; // // private EndDoWhileComponent endDoWhileComponent; // // /** // * Constructs a WorkflowCreator. // */ // public WorkflowCreator() { // this.componentRegistry = new LocalComponentRegistry(XBayaPathConstants.WSDL_DIRECTORY); // this.inputComponent = new InputComponent(); // this.outputComponent = new OutputComponent(); // this.constantComponent = new ConstantComponent(); // this.splitComponent = new ForEachComponent(); // this.mergeComponent = new EndForEachComponent(); // this.ifComponent = new IfComponent(); // this.endifComponent = new EndifComponent(); // this.receiveComponent = new ReceiveComponent(); // this.doWhileComponent = new DoWhileComponent(); // this.endDoWhileComponent = new EndDoWhileComponent(); // } // // /** // * @return The graph // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createSimpleMathWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Simple math workflow"); // workflow.setDescription("Simple math workflow"); // // Graph graph = workflow.getGraph(); // // // Adder node // Component adderComp = this.componentRegistry.getComponent(Adder.WSDL_PATH); // Node adderNode = workflow.addNode(adderComp); // adderNode.setPosition(new Point(250, 100)); // // // Input parameter node 1 // InputNode paramNode1 = (InputNode) workflow.addNode(this.inputComponent); // paramNode1.setPosition(new Point(50, 50)); // // // Input parameter node 2 // InputNode paramNode2 = (InputNode) workflow.addNode(this.inputComponent); // paramNode2.setPosition(new Point(50, 120)); // // // Output parameter // OutputNode outParamNode = (OutputNode) workflow.addNode(this.outputComponent); // outParamNode.setPosition(new Point(300, 220)); // // // Connect ports // graph.addEdge(paramNode1.getOutputPort(0), adderNode.getInputPort(0)); // graph.addEdge(paramNode2.getOutputPort(0), adderNode.getInputPort(1)); // graph.addEdge(adderNode.getOutputPort(0), outParamNode.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // String paramValue1 = "2"; // paramNode1.setDefaultValue(paramValue1); // String paramValue2 = "3"; // paramNode2.setDefaultValue(paramValue2); // return workflow; // } // // /** // * @return The graph // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createMathWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Math workflow"); // workflow.setDescription("A workflow that calculates (a + b) * c."); // // Graph graph = workflow.getGraph(); // // // Adder node // Component adderComp = this.componentRegistry.getComponent(Adder.WSDL_PATH); // // Node adderNode1 = workflow.addNode(adderComp); // adderNode1.setPosition(new Point(170, 50)); // // // Multiplier node // Component multiComp = this.componentRegistry.getComponent(Multiplier.WSDL_PATH); // // Node multiNode = workflow.addNode(multiComp); // multiNode.setPosition(new Point(320, 130)); // // // Input node 1 // InputNode inputNode1 = (InputNode) workflow.addNode(this.inputComponent); // inputNode1.setPosition(new Point(20, 30)); // // // Input node 2 // InputNode inputNode2 = (InputNode) workflow.addNode(this.inputComponent); // inputNode2.setPosition(new Point(20, 100)); // // // Input node 3 // InputNode inputNode3 = (InputNode) workflow.addNode(this.inputComponent); // inputNode3.setPosition(new Point(20, 170)); // // // Output // OutputNode outputNode = (OutputNode) workflow.addNode(this.outputComponent); // outputNode.setPosition(new Point(500, 130)); // // // Connect ports // graph.addEdge(inputNode1.getOutputPort(0), adderNode1.getInputPort(0)); // graph.addEdge(inputNode2.getOutputPort(0), adderNode1.getInputPort(1)); // graph.addEdge(adderNode1.getOutputPort(0), multiNode.getInputPort(0)); // graph.addEdge(inputNode3.getOutputPort(0), multiNode.getInputPort(1)); // graph.addEdge(multiNode.getOutputPort(0), outputNode.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // inputNode1.setConfiguredName("a"); // inputNode2.setConfiguredName("b"); // inputNode3.setConfiguredName("c"); // inputNode1.setConfigured(true); // inputNode2.setConfigured(true); // inputNode3.setConfigured(true); // inputNode1.setDefaultValue("2"); // inputNode2.setDefaultValue("3"); // inputNode3.setDefaultValue("4"); // outputNode.setConfiguredName("z"); // outputNode.setConfigured(true); // // return workflow; // } // // /** // * @return The graph // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createComplexMathWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Complex math workflow"); // workflow.setDescription("Complex math workflow"); // // Graph graph = workflow.getGraph(); // // // Adder nodes // Component adderComp = this.componentRegistry.getComponent(Adder.WSDL_PATH); // // 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.getComponent(Multiplier.WSDL_PATH); // // Node multiNode = workflow.addNode(multiComp); // multiNode.setPosition(new Point(320, 130)); // // // Input node 1 // InputNode inputNode1 = (InputNode) workflow.addNode(this.inputComponent); // inputNode1.setPosition(new Point(20, 30)); // // // Input node 2 // InputNode inputNode2 = (InputNode) workflow.addNode(this.inputComponent); // inputNode2.setPosition(new Point(20, 100)); // // // Input node 3 // InputNode inputNode3 = (InputNode) workflow.addNode(this.inputComponent); // inputNode3.setPosition(new Point(20, 170)); // // // Input node 4 // InputNode inputNode4 = (InputNode) workflow.addNode(this.inputComponent); // inputNode4.setPosition(new Point(20, 240)); // // // Output // OutputNode outputNode = (OutputNode) workflow.addNode(this.outputComponent); // outputNode.setPosition(new Point(500, 130)); // // // Connect ports // graph.addEdge(inputNode1.getOutputPort(0), adderNode1.getInputPort(0)); // graph.addEdge(inputNode2.getOutputPort(0), adderNode1.getInputPort(1)); // graph.addEdge(inputNode3.getOutputPort(0), adderNode2.getInputPort(0)); // graph.addEdge(inputNode4.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), outputNode.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // inputNode1.setConfiguredName("a"); // inputNode2.setConfiguredName("b"); // inputNode3.setConfiguredName("c"); // inputNode4.setConfiguredName("d"); // inputNode1.setDescription("This is the first input."); // inputNode2.setDescription("This is the second input."); // inputNode3.setDescription("This is the third input."); // inputNode4.setDescription("This is the fourth input."); // inputNode1.setConfigured(true); // inputNode2.setConfigured(true); // inputNode3.setConfigured(true); // inputNode4.setConfigured(true); // inputNode1.setDefaultValue("2"); // inputNode2.setDefaultValue("3"); // inputNode3.setDefaultValue("4"); // inputNode4.setDefaultValue("5"); // outputNode.setConfiguredName("z"); // outputNode.setConfigured(true); // // return workflow; // } // // /** // * @return The graph // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createMathWithConstWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Math with const"); // workflow.setDescription("Math with const"); // // Graph graph = workflow.getGraph(); // // // Adder node // Component adderComp = this.componentRegistry.getComponent(Adder.WSDL_PATH); // Node adderNode = workflow.addNode(adderComp); // adderNode.setPosition(new Point(250, 100)); // // // Input parameter node // InputNode inputNode = (InputNode) workflow.addNode(this.inputComponent); // inputNode.setPosition(new Point(50, 50)); // // // Constant node // ConstantNode constantNode = (ConstantNode) workflow.addNode(this.constantComponent); // constantNode.setPosition(new Point(50, 120)); // // // Output parameter // OutputNode outParamNode = (OutputNode) workflow.addNode(this.outputComponent); // outParamNode.setPosition(new Point(300, 220)); // // // Connect ports // graph.addEdge(inputNode.getOutputPort(0), adderNode.getInputPort(0)); // graph.addEdge(constantNode.getOutputPort(0), adderNode.getInputPort(1)); // graph.addEdge(adderNode.getOutputPort(0), outParamNode.getInputPort(0)); // // // Set the default value of an input and the constant. // // This needs to be after connection. // String paramValue1 = "2"; // inputNode.setDefaultValue(paramValue1); // String paramValue2 = "3"; // constantNode.setValue(paramValue2); // return workflow; // } // // /** // * @return The workflow // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createArrayWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Array test"); // workflow.setDescription("A workflow that tests arrays"); // // Graph graph = workflow.getGraph(); // // // n // InputNode inputN = (InputNode) workflow.addNode(this.inputComponent); // inputN.setPosition(new Point(0, 80)); // // // Array generator // Component arrayGeneratorComponent = this.componentRegistry.getComponent(ArrayGenerator.WSDL_PATH); // Node arrayGenerator = workflow.addNode(arrayGeneratorComponent); // arrayGenerator.setPosition(new Point(150, 80)); // // // Array adder // Component arrayAdderComponent = this.componentRegistry.getComponent(ArrayAdder.WSDL_PATH); // Node arrayAdder = workflow.addNode(arrayAdderComponent); // arrayAdder.setPosition(new Point(400, 80)); // // // Output // OutputNode output = (OutputNode) workflow.addNode(this.outputComponent); // output.setConfiguredName("output"); // output.setPosition(new Point(550, 80)); // // // Connect ports // graph.addEdge(inputN.getOutputPort(0), arrayGenerator.getInputPort(0)); // graph.addEdge(arrayGenerator.getOutputPort(0), arrayAdder.getInputPort(0)); // graph.addEdge(arrayAdder.getOutputPort(0), output.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // String n = "5"; // inputN.setDefaultValue(n); // // return workflow; // } // // /** // * @return The workflow // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createForEachWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("ForEach test"); // workflow.setDescription("Workflow that tests if"); // // Graph graph = workflow.getGraph(); // // // x // InputNode inputX = (InputNode) workflow.addNode(this.inputComponent); // inputX.setPosition(new Point(0, 0)); // // // n // InputNode inputN = (InputNode) workflow.addNode(this.inputComponent); // inputN.setPosition(new Point(0, 80)); // // // Array generator // Component arrayGeneratorComponent = this.componentRegistry.getComponent(ArrayGenerator.WSDL_PATH); // Node arrayGenerator = workflow.addNode(arrayGeneratorComponent); // arrayGenerator.setPosition(new Point(120, 80)); // // // Split // Node split = workflow.addNode(this.splitComponent); // split.setPosition(new Point(310, 80)); // // // Adder // Component adderComponent = this.componentRegistry.getComponent(Adder.WSDL_PATH); // Node adder = workflow.addNode(adderComponent); // adder.setPosition(new Point(440, 40)); // // // Merge // Node merge = workflow.addNode(this.mergeComponent); // merge.setPosition(new Point(580, 40)); // // // Output // OutputNode output = (OutputNode) workflow.addNode(this.outputComponent); // output.setConfiguredName("output"); // output.setPosition(new Point(720, 40)); // // // Connect ports // graph.addEdge(inputX.getOutputPort(0), adder.getInputPort(0)); // graph.addEdge(inputN.getOutputPort(0), arrayGenerator.getInputPort(0)); // graph.addEdge(arrayGenerator.getOutputPort(0), split.getInputPort(0)); // graph.addEdge(split.getOutputPort(0), adder.getInputPort(1)); // graph.addEdge(adder.getOutputPort(0), merge.getInputPort(0)); // graph.addEdge(merge.getOutputPort(0), output.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // String x = "2"; // inputX.setDefaultValue(x); // String n = "3"; // inputN.setDefaultValue(n); // // return workflow; // } // // /** // * @return The workflow // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // * @throws ComponentException // * @throws ComponentRegistryException // */ // public Workflow createIfWorkflow() throws GraphException, ComponentException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("If test"); // workflow.setDescription("Workflow that tests if"); // // Graph graph = workflow.getGraph(); // // // x // InputNode x = (InputNode) workflow.addNode(this.inputComponent); // x.setPosition(new Point(10, 10)); // // // y // InputNode y = (InputNode) workflow.addNode(this.inputComponent); // y.setPosition(new Point(10, 90)); // // // const0 // ConstantNode const0 = (ConstantNode) workflow.addNode(this.constantComponent); // const0.setPosition(new Point(20, 180)); // // // if // IfNode ifNode = (IfNode) workflow.addNode(this.ifComponent); // ifNode.setPosition(new Point(170, 180)); // // // Adder nodes // Component adderComp = this.componentRegistry.getComponent(Adder.WSDL_PATH); // // Node adder = workflow.addNode(adderComp); // adder.setPosition(new Point(400, 10)); // // // Multiplier node // Component multiComp = this.componentRegistry.getComponent(Multiplier.WSDL_PATH); // // Node multiplier = workflow.addNode(multiComp); // multiplier.setPosition(new Point(400, 90)); // // // endif // Node endif = workflow.addNode(this.endifComponent); // endif.setPosition(new Point(550, 40)); // // // Output // OutputNode output = (OutputNode) workflow.addNode(this.outputComponent); // output.setConfiguredName("output"); // output.setPosition(new Point(700, 40)); // // // Connect ports // graph.addEdge(x.getOutputPort(0), adder.getInputPort(0)); // graph.addEdge(x.getOutputPort(0), multiplier.getInputPort(0)); // graph.addEdge(y.getOutputPort(0), adder.getInputPort(1)); // graph.addEdge(y.getOutputPort(0), multiplier.getInputPort(1)); // graph.addEdge(const0.getOutputPort(0), ifNode.getInputPort(0)); // graph.addEdge(ifNode.getControlOutPorts().get(0), adder.getControlInPort()); // graph.addEdge(ifNode.getControlOutPorts().get(1), multiplier.getControlInPort()); // graph.addEdge(adder.getOutputPort(0), endif.getInputPort(0)); // graph.addEdge(multiplier.getOutputPort(0), endif.getInputPort(1)); // graph.addEdge(endif.getOutputPort(0), output.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // x.setDefaultValue("2"); // y.setDefaultValue("3"); // const0.setValue("adder"); // ifNode.setXPath("$0 = 'adder'"); // // return workflow; // } // // /** // * @return The workflow // * @throws GraphException // * @throws ComponentRegistryException // * @throws ComponentException // */ // public Workflow createReceiveWorkflow() throws GraphException, ComponentException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Receive test"); // workflow.setDescription("Workflow that tests receive"); // // Graph graph = workflow.getGraph(); // // // Adder nodes // Component echoComponent = this.componentRegistry.getComponent(Echo.WSDL_PATH); // // Node echo = workflow.addNode(echoComponent); // echo.setPosition(new Point(40, 40)); // // // receive // ReceiveNode receive = (ReceiveNode) workflow.addNode(this.receiveComponent); // receive.setPosition(new Point(200, 200)); // // // Output // OutputNode output1 = (OutputNode) workflow.addNode(this.outputComponent); // output1.setPosition(new Point(350, 40)); // // OutputNode output2 = (OutputNode) workflow.addNode(this.outputComponent); // output2.setPosition(new Point(350, 200)); // // // Connect ports // graph.addEdge(receive.getEPRPort(), echo.getInputPort(0)); // graph.addEdge(echo.getOutputPort(0), output1.getInputPort(0)); // graph.addEdge(receive.getOutputPort(0), output2.getInputPort(0)); // graph.addEdge(echo.getControlOutPorts().get(0), receive.getControlInPort()); // // // Confugure // output1.setConfiguredName("output1"); // output1.setConfigured(true); // output2.setConfiguredName("output2"); // output2.setConfigured(true); // // return workflow; // // } // // /** // * @return The graph // * @throws ComponentException // * @throws GraphException // * @throws ComponentRegistryException // */ // public Workflow createGFacWorkflow() throws ComponentException, GraphException, ComponentRegistryException { // // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("GFac test workflow"); // workflow.setDescription("GFac test workflow"); // // Graph graph = workflow.getGraph(); // // // Adder node // Component gfacComp = this.componentRegistry.getComponent(GFAC_TEST_AWSDL); // Node gfacNode = workflow.addNode(gfacComp); // gfacNode.setPosition(new Point(250, 100)); // // // Input parameter node 1 // InputNode paramNode1 = (InputNode) workflow.addNode(this.inputComponent); // paramNode1.setPosition(new Point(50, 50)); // String paramValue1 = "300"; // paramNode1.setDefaultValue(paramValue1); // // // Output parameter // OutputNode outParamNode = (OutputNode) workflow.addNode(this.outputComponent); // outParamNode.setPosition(new Point(300, 220)); // // // Connect ports // graph.addEdge(paramNode1.getOutputPort(0), gfacNode.getInputPort(0)); // graph.addEdge(gfacNode.getOutputPort(0), outParamNode.getInputPort(0)); // // return workflow; // } // // /** // * @return The workflow created. // * @throws GraphException // * @throws ComponentException // * @throws ComponentRegistryException // */ // public Workflow createLoanWorkflow() throws GraphException, ComponentException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Loan Approval"); // workflow.setDescription("Loan Approval"); // // Graph graph = workflow.getGraph(); // // // amount // InputNode amount = (InputNode) workflow.addNode(this.inputComponent); // amount.setPosition(new Point(10, 10)); // // // if // IfNode ifNode = (IfNode) workflow.addNode(this.ifComponent); // ifNode.setPosition(new Point(200, 100)); // // // Approver nodes // Component approverComponent = this.componentRegistry.getComponent(Approver.WSDL_PATH); // // Node approver = workflow.addNode(approverComponent); // approver.setPosition(new Point(350, 10)); // // // const // ConstantNode constYes = (ConstantNode) workflow.addNode(this.constantComponent); // constYes.setPosition(new Point(350, 200)); // // // endif // Node endif = workflow.addNode(this.endifComponent); // endif.setPosition(new Point(550, 100)); // // // Output // OutputNode output = (OutputNode) workflow.addNode(this.outputComponent); // output.setPosition(new Point(700, 100)); // // // Connect ports // graph.addEdge(amount.getOutputPort(0), approver.getInputPort(0)); // graph.addEdge(amount.getOutputPort(0), ifNode.getInputPort(0)); // graph.addEdge(ifNode.getControlOutPorts().get(0), approver.getControlInPort()); // graph.addEdge(ifNode.getControlOutPorts().get(1), constYes.getControlInPort()); // graph.addEdge(approver.getOutputPort(0), endif.getInputPort(0)); // graph.addEdge(constYes.getOutputPort(0), endif.getInputPort(1)); // graph.addEdge(endif.getOutputPort(0), output.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // amount.setDefaultValue("500"); // constYes.setValue("Yes"); // ifNode.setXPath("$0 > 1000"); // output.setConfiguredName("accept"); // output.setConfigured(true); // // return workflow; // } // /** // * Create a dowhile workflow // * @return Workflow created. // * @throws GraphException // * @throws ComponentException // * @throws ComponentRegistryException // */ // public Workflow createDoWhileWorkflow() throws GraphException, ComponentException, ComponentRegistryException { // Workflow workflow = new Workflow(); // // // Name, description // workflow.setName("Do While"); // workflow.setDescription("Do While"); // // Graph graph = workflow.getGraph(); // // // amount // InputNode amount = (InputNode) workflow.addNode(this.inputComponent); // amount.setPosition(new Point(10, 10)); // // // if // DoWhileNode doWhileNode = (DoWhileNode) workflow.addNode(this.doWhileComponent); // doWhileNode.setPosition(new Point(200, 100)); // // // Approver nodes // Component approverComponent = this.componentRegistry.getComponent(Approver.WSDL_PATH); // // Node approver = workflow.addNode(approverComponent); // approver.setPosition(new Point(350, 10)); // // // const // ConstantNode constYes = (ConstantNode) workflow.addNode(this.constantComponent); // constYes.setPosition(new Point(350, 200)); // // // endif // Node endDoWhile = workflow.addNode(this.endDoWhileComponent); // endDoWhile.setPosition(new Point(550, 100)); // // // Output // OutputNode output = (OutputNode) workflow.addNode(this.outputComponent); // output.setPosition(new Point(700, 100)); // // // Connect ports // graph.addEdge(amount.getOutputPort(0), approver.getInputPort(0)); // graph.addEdge(amount.getOutputPort(0), doWhileNode.getInputPort(0)); // graph.addEdge(doWhileNode.getControlOutPorts().get(0), approver.getControlInPort()); // graph.addEdge(doWhileNode.getControlOutPorts().get(1), constYes.getControlInPort()); // graph.addEdge(approver.getOutputPort(0), endDoWhile.getInputPort(0)); // graph.addEdge(constYes.getOutputPort(0), endDoWhile.getInputPort(1)); // graph.addEdge(endDoWhile.getOutputPort(0), output.getInputPort(0)); // // // Set the default values // // This needs to be after connection. // amount.setDefaultValue("0"); // constYes.setValue("Yes"); // doWhileNode.setXpath("$1 = 1"); // output.setConfiguredName("accept"); // output.setConfigured(true); // // return workflow; // } //}