}
}
private Workflow createWorkflow() throws ComponentException, GraphException, ComponentRegistryException {
Workflow workflow = new Workflow();
// Name, description
workflow.setName("ADASInitializedWRFForecast");
workflow.setDescription("");
WSGraph graph = workflow.getGraph();
LocalComponentRegistry componentRegistry = new LocalComponentRegistry(WSDL_DIRECTORY);
// WRF_STATIC_PREPROCESSOR_WSDL
Component wrfPreComp = componentRegistry.getComponent(WRF_STATIC_PREPROCESSOR_WSDL);
Node wrfPreNode = workflow.addNode(wrfPreComp);
wrfPreNode.setPosition(new Point(313, 0));
// TERRAIN_PREPROCESSOR_WSDL
Component terrainPreComp = componentRegistry.getComponent(TERRAIN_PREPROCESSOR_WSDL);
Node terrainPreNode = workflow.addNode(terrainPreComp);
terrainPreNode.setPosition(new Point(59, 289));
// ADAS_INTERPOLATOR_WSDL
Component adasIntComp = componentRegistry.getComponent(ADAS_INTERPOLATOR_WSDL);
Node adasIntNode = workflow.addNode(adasIntComp);
adasIntNode.setPosition(new Point(373, 235));
// LATERAL_BOUNDARY_INTERPOLATOR_WSDL
Component lateralIntComp = componentRegistry.getComponent(LATERAL_BOUNDARY_INTERPOLATOR_WSDL);
Node lateralIntNode = workflow.addNode(lateralIntComp);
lateralIntNode.setPosition(new Point(371, 369));
// ARPS2WRF_INTERPOLATOR_WSDL
Component arp2wrfComp = componentRegistry.getComponent(ARPS2WRF_INTERPOLATOR_WSDL);
Node arp2wrfNode = workflow.addNode(arp2wrfComp);
arp2wrfNode.setPosition(new Point(607, 104));
// WRF_FORECASTING_MODEL_WSDL
Component wrfComp = componentRegistry.getComponent(WRF_FORECASTING_MODEL_WSDL);
Node wrfNode = workflow.addNode(wrfComp);
wrfNode.setPosition(new Point(781, 14));
// Parameters
Component inputComponent = new InputComponent();
Component outputComponent = new OutputComponent();
// Input parameter node
InputNode confInput = (InputNode) workflow.addNode(inputComponent);
confInput.setPosition(new Point(0, 100));
// Input parameter node
InputNode adasInput = (InputNode) workflow.addNode(inputComponent);
adasInput.setPosition(new Point(286, 145));
// Input parameter node
InputNode namInput = (InputNode) workflow.addNode(inputComponent);
namInput.setPosition(new Point(179, 438));
// Output parameter
OutputNode outParamNode = (OutputNode) workflow.addNode(outputComponent);
outParamNode.setPosition(new Point(863, 169));
// Connect ports
graph.addEdge(confInput.getOutputPort(0), wrfPreNode.getInputPort(0));
graph.addEdge(confInput.getOutputPort(0), arp2wrfNode.getInputPort(0));