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 org.jdom.Element; |
21 | |
|
22 | |
public class ResponseRouterProcessor extends TagProcessor |
23 | |
{ |
24 | |
|
25 | |
public ResponseRouterProcessor(GraphEnvironment environment) |
26 | |
{ |
27 | 4 | super(environment); |
28 | 4 | } |
29 | |
|
30 | |
public void process(Graph graph, Element currentElement, GraphNode parent) |
31 | |
{ |
32 | 6 | Element responseRouterElement = currentElement.getChild(MuleTag.ELEMENT_RESPONSE_ROUTER); |
33 | 6 | if (responseRouterElement != null) |
34 | |
{ |
35 | |
|
36 | 0 | Element router = responseRouterElement.getChild(MuleTag.ELEMENT_ROUTER); |
37 | 0 | String className = router.getAttributeValue(MuleTag.ATTRIBUTE_CLASS_NAME); |
38 | 0 | GraphNode responseRouter = graph.addNode(); |
39 | 0 | responseRouter.getInfo().setFillColor(ColorRegistry.COLOR_ROUTER); |
40 | 0 | responseRouter.getInfo().setHeader(className); |
41 | 0 | addEdge(graph, responseRouter, parent, "response router", false); |
42 | |
|
43 | 0 | Element endpoint = responseRouterElement.getChild(MuleTag.ELEMENT_ENDPOINT); |
44 | 0 | String endpointAdress = endpoint.getAttributeValue(MuleTag.ATTRIBUTE_ADDRESS); |
45 | 0 | GraphNode out = getEnvironment().getEndpointRegistry().getEndpoint(endpointAdress, |
46 | |
parent.getInfo().getHeader()); |
47 | 0 | addEdge(graph, out, responseRouter, "in", isTwoWay(endpoint)); |
48 | |
} |
49 | 6 | } |
50 | |
} |