[jboss-cvs] JBossAS SVN: r90897 - in projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher: graph and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 7 12:44:35 EDT 2009


Author: alesj
Date: 2009-07-07 12:44:34 -0400 (Tue, 07 Jul 2009)
New Revision: 90897

Modified:
   projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/GrapherServlet.java
   projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/AbstractGraphCreator.java
   projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/GraphCreator.java
Log:
Move graph code out of the servlet.

Modified: projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/GrapherServlet.java
===================================================================
--- projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/GrapherServlet.java	2009-07-07 16:33:41 UTC (rev 90896)
+++ projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/GrapherServlet.java	2009-07-07 16:44:34 UTC (rev 90897)
@@ -23,9 +23,7 @@
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.Arrays;
 import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.Map;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
@@ -40,17 +38,11 @@
 import org.jboss.mctools.grapher.graph.AllGraphCreator;
 import org.jboss.mctools.grapher.graph.BeanGraphCreator;
 import org.jboss.mctools.grapher.graph.GraphCreator;
-import org.jboss.mctools.grapher.graph.GraphSettings;
 import org.jboss.mctools.grapher.render.GIFRenderer;
 import org.jboss.mctools.grapher.render.JPGRenderer;
 import org.jboss.mctools.grapher.render.Renderer;
 import org.jboss.mctools.grapher.render.SVGRenderer;
 import org.jgraph.JGraph;
-import org.jgraph.graph.AttributeMap;
-import org.jgraph.graph.ConnectionSet;
-import org.jgraph.graph.DefaultGraphModel;
-import org.jgraph.graph.GraphCell;
-import org.jgraph.graph.GraphModel;
 
 /**
  * Grapher servlet.
@@ -139,11 +131,7 @@
       //if (log.isTraceEnabled())
          log.info("Invoking creator: " + creator);
 
-      Map attributes = new HashMap();
-      ConnectionSet cs = new ConnectionSet();
-      Object[] cells = creator.createCells(controller, attributes, cs);
-      JGraph graph = createGraph(cells, attributes, cs);
-
+      JGraph graph = creator.createGraph(controller);
       Renderer current = getRenderer(request.getParameter("renderer"));
       //if (log.isTraceEnabled())
          log.info("Using renderer: " + current);
@@ -159,27 +147,6 @@
       }
    }
 
-   /**
-    * Create graph.
-    *
-    * @param cells      the graph cells
-    * @param attributes the graph attributes
-    * @param cs         the connection set
-    * @return new jgraph instance
-    */
-   protected JGraph createGraph(Object[] cells, Map attributes, ConnectionSet cs)
-   {
-      //if (log.isTraceEnabled())
-         log.info("Creating graph from " + cells.length + " objects: " + Arrays.asList(cells));
-
-      GraphModel model = new ModifiedGraphModel();
-      //create simple layout
-      GraphSettings.layout(cells, attributes);
-      // insert cells
-      model.insert(cells, attributes, cs, null, null);
-      return new JGraph(model);
-   }
-
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
@@ -191,47 +158,4 @@
    {
       doRenderGraph(request, response);
    }
-
-   private class ModifiedGraphModel extends DefaultGraphModel
-   {
-      protected Map handleAttributes(Map attributes)
-      {
-         if (attributes != null)
-         {
-            Hashtable undo = new Hashtable();
-            for (Object o : attributes.entrySet())
-            {
-               Map.Entry entry = (Map.Entry)o;
-               Object cell = entry.getKey();
-               Object value = entry.getValue();
-               if (value instanceof Map)
-               {
-                  Map deltaNew = (Map)entry.getValue();
-                  //System.out.println("deltaNew="+deltaNew);
-                  //System.out.println("stateOld="+getAttributes(cell));
-                  if (cell instanceof GraphCell)
-                  {
-                     Map deltaOld = ((GraphCell)cell).changeAttributes(deltaNew);
-                     //System.out.println("stateNew=" + getAttributes(cell));
-                     //System.out.println("deltaOld=" + deltaOld);
-                     undo.put(cell, deltaOld);
-                  }
-                  else
-                  {
-                     AttributeMap attr = getAttributes(cell);
-                     if (attr != null)
-                     {
-                        Map deltaOld = attr.applyMap(deltaNew);
-                        //System.out.println("stateNew="+getAttributes(cell));
-                        //System.out.println("deltaOld="+deltaOld);
-                        undo.put(cell, deltaOld);
-                     }
-                  }
-               }
-            }
-            return undo;
-         }
-         return null;
-      }
-   }
 }

Modified: projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/AbstractGraphCreator.java
===================================================================
--- projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/AbstractGraphCreator.java	2009-07-07 16:33:41 UTC (rev 90896)
+++ projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/AbstractGraphCreator.java	2009-07-07 16:44:34 UTC (rev 90897)
@@ -27,6 +27,8 @@
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import java.util.Arrays;
+import java.util.Hashtable;
 
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.DependencyInfo;
@@ -38,6 +40,11 @@
 import org.jgraph.graph.Edge;
 import org.jgraph.graph.GraphConstants;
 import org.jgraph.graph.ConnectionSet;
+import org.jgraph.graph.GraphModel;
+import org.jgraph.graph.DefaultGraphModel;
+import org.jgraph.graph.GraphCell;
+import org.jgraph.graph.AttributeMap;
+import org.jgraph.JGraph;
 
 /**
  * Abstract MC components renderer.
@@ -48,8 +55,37 @@
 {
    protected Logger log = Logger.getLogger(getClass());
 
-   public Object[] createCells(KernelController controller, Map attributes, ConnectionSet cs)
+   public JGraph createGraph(KernelController controller)
    {
+      Map attributes = new HashMap();
+      ConnectionSet cs = new ConnectionSet();
+      Object[] cells = createCells(controller, attributes, cs);
+      return createGraph(cells, attributes, cs);
+   }
+
+   /**
+    * Create graph.
+    *
+    * @param cells      the graph cells
+    * @param attributes the graph attributes
+    * @param cs         the connection set
+    * @return new jgraph instance
+    */
+   protected JGraph createGraph(Object[] cells, Map attributes, ConnectionSet cs)
+   {
+      //if (log.isTraceEnabled())
+         log.info("Creating graph from " + cells.length + " objects: " + Arrays.asList(cells));
+
+      GraphModel model = new ModifiedGraphModel();
+      //create simple layout
+      GraphSettings.layout(cells, attributes);
+      // insert cells
+      model.insert(cells, attributes, cs, null, null);
+      return new JGraph(model);
+   }
+
+   protected Object[] createCells(KernelController controller, Map attributes, ConnectionSet cs)
+   {
       Map<Object, DefaultGraphCell> cells = new HashMap<Object, DefaultGraphCell>();
       Set<Object> objects = new HashSet<Object>();
       createCells(controller, cells, objects, attributes, cs);
@@ -190,4 +226,47 @@
    {
       // TODO - enhance cell rendering with context's info
    }
+
+   private class ModifiedGraphModel extends DefaultGraphModel
+   {
+      protected Map handleAttributes(Map attributes)
+      {
+         if (attributes != null)
+         {
+            Hashtable undo = new Hashtable();
+            for (Object o : attributes.entrySet())
+            {
+               Map.Entry entry = (Map.Entry)o;
+               Object cell = entry.getKey();
+               Object value = entry.getValue();
+               if (value instanceof Map)
+               {
+                  Map deltaNew = (Map)entry.getValue();
+                  //System.out.println("deltaNew="+deltaNew);
+                  //System.out.println("stateOld="+getAttributes(cell));
+                  if (cell instanceof GraphCell)
+                  {
+                     Map deltaOld = ((GraphCell)cell).changeAttributes(deltaNew);
+                     //System.out.println("stateNew=" + getAttributes(cell));
+                     //System.out.println("deltaOld=" + deltaOld);
+                     undo.put(cell, deltaOld);
+                  }
+                  else
+                  {
+                     AttributeMap attr = getAttributes(cell);
+                     if (attr != null)
+                     {
+                        Map deltaOld = attr.applyMap(deltaNew);
+                        //System.out.println("stateNew="+getAttributes(cell));
+                        //System.out.println("deltaOld="+deltaOld);
+                        undo.put(cell, deltaOld);
+                     }
+                  }
+               }
+            }
+            return undo;
+         }
+         return null;
+      }
+   }
 }
\ No newline at end of file

Modified: projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/GraphCreator.java
===================================================================
--- projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/GraphCreator.java	2009-07-07 16:33:41 UTC (rev 90896)
+++ projects/mc-tools/grapher/trunk/src/main/java/org/jboss/mctools/grapher/graph/GraphCreator.java	2009-07-07 16:44:34 UTC (rev 90897)
@@ -21,10 +21,8 @@
  */
 package org.jboss.mctools.grapher.graph;
 
-import java.util.Map;
-
 import org.jboss.kernel.spi.dependency.KernelController;
-import org.jgraph.graph.ConnectionSet;
+import org.jgraph.JGraph;
 
 /**
  * Graph creator.
@@ -36,12 +34,10 @@
 public interface GraphCreator
 {
    /**
-    * Create graph cells.
+    * Create graph.
     *
     * @param controller the controller
-    * @param attributes the attributes
-    * @param cs the connections set
-    * @return graph's cells
+    * @return new jgraph instance
     */
-   Object[] createCells(KernelController controller, Map attributes, ConnectionSet cs);
+   JGraph createGraph(KernelController controller);
 }




More information about the jboss-cvs-commits mailing list