[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