You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/10/27 00:07:41 UTC

svn commit: r468169 - in /incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view: DotViewEndpointListener.java DotViewFlowListener.java

Author: gnodet
Date: Thu Oct 26 15:07:41 2006
New Revision: 468169

URL: http://svn.apache.org/viewvc?view=rev&rev=468169
Log:
Use different colors per endpoint types (internal / external), use small font

Modified:
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewEndpointListener.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewFlowListener.java

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewEndpointListener.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewEndpointListener.java?view=diff&rev=468169&r1=468168&r2=468169
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewEndpointListener.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewEndpointListener.java Thu Oct 26 15:07:41 2006
@@ -83,11 +83,9 @@
     protected void generateFile(PrintWriter writer) throws Exception {
         writer.println("digraph \"Apache ServiceMix\" {");
         writer.println();
-        writer.println("node [style = \"rounded,filled\", fillcolor = yellow, fontname=\"Helvetica-Oblique\"];");
+        writer.println("node [ shape = box, style = \"rounded,filled\", fontname = \"Helvetica-Oblique\", fontsize = 8 ];");
         writer.println();
-        writer.println("jbi [label=\"Apache ServiceMix: " + container.getName() + "\"];");
-        writer.println();
-        writer.println("node [fillcolor = green];");
+        writer.println("jbi [ fillcolor = \"#FFFF99\", label=\"Apache ServiceMix: " + container.getName() + "\" ];");
         writer.println();
 
         List brokerLinks = new ArrayList();
@@ -99,7 +97,7 @@
             String id = encode(name);
 
             writer.print(id);
-            writer.print(" [ label=\"");
+            writer.print(" [ fillcolor = gray, label = \"");
             writer.print(name);
             writer.println("\" ];");
 
@@ -108,7 +106,6 @@
         writer.println();
         generateLinks(writer, brokerLinks);
 
-        writer.println("node [fillcolor = red];");
         writer.println();
 
         List componentEndpointLinks = new ArrayList();
@@ -122,8 +119,25 @@
             String componentName = encode(endpoint.getComponentName());
             String id = encode(key);
             writer.print(id);
-            writer.print(" [ label=\"");
-            writer.print(formatEndpoint(key));
+            String epname = formatEndpoint(key);
+            String color = "lightgray";
+            if (epname.startsWith("internal")) {
+                epname = epname.substring(10);
+                color = "#6699ff";
+            } else if (epname.startsWith("external")) {
+                epname = epname.substring(10);
+                color = "#66ccff";
+            } else if (epname.startsWith("dynamic")) {
+                epname = epname.substring(9);
+                color = "#6666ff";
+            } else if (epname.startsWith("linked")) {
+                epname = epname.substring(8);
+                color = "#66ffff";
+            } else {
+                color = "#f3f3f3";
+            }
+            writer.print(" [ fillcolor = \"" + color + "\", label = \"");
+            writer.print(epname);
             writer.println("\" ];");
             
             componentEndpointLinks.add(componentName + " -> " + id);

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewFlowListener.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewFlowListener.java?view=diff&rev=468169&r1=468168&r2=468169
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewFlowListener.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/view/DotViewFlowListener.java Thu Oct 26 15:07:41 2006
@@ -55,12 +55,16 @@
 
     private Map flow;
     private Set flowLinks;
-    private boolean displayComponents;
+    private Set usedComponents;
+    private Set componentsAsConsumer;
+    private boolean displayComponents = true;
     
     public DotViewFlowListener() {
         setFile("ServiceMixFlow.dot");
         flow = new ConcurrentHashMap();
         flowLinks = new CopyOnWriteArraySet();
+        usedComponents = new CopyOnWriteArraySet();
+        componentsAsConsumer = new CopyOnWriteArraySet();
     }
 
     // Implementation methods
@@ -70,7 +74,7 @@
         writer.println("digraph \"Apache ServiceMix\" {");
         writer.println();
         writer.println("label = \"Apache ServiceMix flow\";");
-        writer.println("node [style = \"rounded,filled\", fillcolor = yellow, fontname=\"Helvetica-Oblique\"];");
+        writer.println("node [ shape = box, style = \"rounded,filled\", fontname = \"Helvetica-Oblique\", fontsize = 8 ];");
         writer.println();
 
         List brokerLinks = new ArrayList();
@@ -80,6 +84,9 @@
             ComponentMBeanImpl component = (ComponentMBeanImpl) iter.next();
             ServiceEndpoint[] ses = registry.getEndpointRegistry().getAllEndpointsForComponent(component.getComponentNameSpace());
             String name = component.getName();
+            if (!usedComponents.contains(name)) {
+                continue;
+            }
             // If we want to display components, create
             // a sub graph, grouping all the components
             // endpoints
@@ -87,9 +94,9 @@
                 String id = encode(name);
                 writer.println("subgraph cluster_" + id + " {");
                 writer.println("  label=\"" + name + "\";");
-                writer.println("  node [fillcolor = green];");
-                writer.println("  " + id + " [label=\"" + name + "\"];");
-                writer.println("  node [fillcolor = red];");
+                if (componentsAsConsumer.contains(name)) {
+                    writer.println("  " + id + " [ fillcolor = gray, label = \"" + name + "\" ];");
+                }
             }
             for (int i = 0; i < ses.length; i++) {
                 String key = EndpointSupport.getUniqueKey(ses[i]);
@@ -97,8 +104,24 @@
                 if (!isDisplayComponents()) {
                     epname += "\\n" + name;
                 }
+                String color = "lightgray";
+                if (epname.startsWith("internal")) {
+                    epname = epname.substring(10);
+                    color = "#6699ff";
+                } else if (epname.startsWith("external")) {
+                    epname = epname.substring(10);
+                    color = "#66ccff";
+                } else if (epname.startsWith("dynamic")) {
+                    epname = epname.substring(9);
+                    color = "#6666ff";
+                } else if (epname.startsWith("linked")) {
+                    epname = epname.substring(8);
+                    color = "#66ffff";
+                } else {
+                    color = "#f3f3f3";
+                }
                 String epid = encode(key);
-                writer.println("  " + epid + " [label=\"" + epname + "\"];");
+                writer.println("  " + epid + " [fillcolor = \"" + color + "\", label=\"" + epname + "\"];");
             }
             if (isDisplayComponents()) {
                 writer.println("}");
@@ -122,6 +145,7 @@
             String source = (String) me.getProperty(JbiConstants.SENDER_ENDPOINT);
             if (source == null) {
                 source = mei.getSourceId().getName();
+                componentsAsConsumer.add(source);
             } else {
                 ServiceEndpoint[] ses = getContainer().getRegistry().getEndpointRegistry().getAllEndpointsForComponent(mei.getSourceId());
                 for (int i = 0; i < ses.length; i++) {
@@ -131,6 +155,8 @@
                     }
                 }
             }
+            usedComponents.add(mei.getSourceId().getName());
+            usedComponents.add(mei.getDestinationId().getName());
             String dest = EndpointSupport.getUniqueKey(mei.getEndpoint());
             Map componentFlow = createSource(source);
             if (componentFlow.put(dest, Boolean.TRUE) == null) {