* @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));