View Javadoc

1   /*
2    * Copyright (c) 2005, The K-Wf Grid Consortium
3    * Fraunhofer Institute for Computer Architecture and Software Technology
4    * See http://www.kwfgrid.eu and http://www.first.fraunhofer.de for more details.
5    */
6   package net.kwfgrid.gwui.graphview;
7   
8   import java.util.Iterator;
9   
10  /***
11     A configurable director for the conversion of a WorkflowGraph. This is the "director" part of the builder design pattern.
12   */
13  public class ConversionDirector {
14      private WorkflowGraph _graph;
15      private Iterator _iterator;
16      private WorkflowGraphConverter _converter;
17  
18      /***
19         Constructor.
20         @param graph The graph to convert.
21         @param converter The converter.
22         @param iterator The iterator to be used.
23       */
24      public ConversionDirector(WorkflowGraph graph, WorkflowGraphConverter converter, Iterator iterator) {
25  	_graph = graph;
26  	_converter = converter;
27  	_iterator = iterator;
28      }
29  
30      /***
31         Run the conversion process.
32       */
33      public void build() {
34  	_converter.convertGraph(_graph);
35  	while(_iterator.hasNext()) {
36  	    Object next = _iterator.next();
37          if (next instanceof ReadEdge) {
38          _converter.convertEdge((ReadEdge)next);
39          } else if (next instanceof InEdge) {
40  		_converter.convertEdge((InEdge)next);
41  	    } else if (next instanceof OutEdge) {
42  		_converter.convertEdge((OutEdge)next);
43  	    } else if (next instanceof PlaceNode) {
44  		_converter.convertNode((PlaceNode)next);
45  	    } else if (next instanceof TransitionNode) {
46  		_converter.convertNode((TransitionNode)next);
47  	    }
48  	}
49      }
50  }