1
2
3
4
5
6
7
8
9
10
11 package org.mule.tools.visualizer.processor;
12
13 import org.mule.tools.visualizer.config.ColorRegistry;
14 import org.mule.tools.visualizer.config.GraphEnvironment;
15 import org.mule.tools.visualizer.util.MuleTag;
16
17 import com.oy.shared.lm.graph.Graph;
18 import com.oy.shared.lm.graph.GraphNode;
19
20 import java.util.Iterator;
21 import java.util.List;
22
23 import org.jdom.Element;
24
25 public class ConnectorProcessor extends TagProcessor
26 {
27
28 public ConnectorProcessor(GraphEnvironment environment)
29 {
30 super(environment);
31 }
32
33 public void process(Graph graph, Element currentElement, GraphNode parent)
34 {
35 if (!getEnvironment().getConfig().isShowConnectors())
36 {
37 return;
38 }
39
40 List connectorsElement = currentElement.getChildren(MuleTag.ELEMENT_CONNECTOR);
41 for (Iterator iter = connectorsElement.iterator(); iter.hasNext();)
42 {
43 Element connector = (Element) iter.next();
44 GraphNode connectorNode = graph.addNode();
45 connectorNode.getInfo().setFillColor(ColorRegistry.COLOR_CONNECTOR);
46 String name = connector.getAttributeValue(MuleTag.ATTRIBUTE_NAME);
47 connectorNode.getInfo().setHeader(name);
48
49 StringBuffer caption = new StringBuffer();
50
51 String className = connector.getAttributeValue(MuleTag.ATTRIBUTE_CLASS_NAME);
52 caption.append(MuleTag.ATTRIBUTE_CLASS_NAME + " :" + className + "\n");
53
54 appendProfiles(connector, caption);
55 appendProperties(connector, caption);
56 appendDescription(connector, caption);
57 connectorNode.getInfo().setCaption(caption.toString());
58
59
60 ConnectionStrategyProcessor connectionStrategyProcessor = new ConnectionStrategyProcessor(
61 getEnvironment());
62 connectionStrategyProcessor.process(graph, connector, connectorNode);
63 }
64 }
65 }