You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2011/08/07 05:26:40 UTC

svn commit: r1154651 - /oodt/trunk/app/weditor/src/main/java/org/apache/oodt/cas/workflow/gui/perspective/view/impl/JungJGraphModelAdapter.java

Author: mattmann
Date: Sun Aug  7 03:26:40 2011
New Revision: 1154651

URL: http://svn.apache.org/viewvc?rev=1154651&view=rev
Log:
- OODT-296 Workflow Editor GUI: Deal with reverse sync from jgraph to Jung. Graph is now 
fully synchronized.

Modified:
    oodt/trunk/app/weditor/src/main/java/org/apache/oodt/cas/workflow/gui/perspective/view/impl/JungJGraphModelAdapter.java

Modified: oodt/trunk/app/weditor/src/main/java/org/apache/oodt/cas/workflow/gui/perspective/view/impl/JungJGraphModelAdapter.java
URL: http://svn.apache.org/viewvc/oodt/trunk/app/weditor/src/main/java/org/apache/oodt/cas/workflow/gui/perspective/view/impl/JungJGraphModelAdapter.java?rev=1154651&r1=1154650&r2=1154651&view=diff
==============================================================================
--- oodt/trunk/app/weditor/src/main/java/org/apache/oodt/cas/workflow/gui/perspective/view/impl/JungJGraphModelAdapter.java (original)
+++ oodt/trunk/app/weditor/src/main/java/org/apache/oodt/cas/workflow/gui/perspective/view/impl/JungJGraphModelAdapter.java Sun Aug  7 03:26:40 2011
@@ -65,8 +65,9 @@ public class JungJGraphModelAdapter exte
   private ObservableGraph<ModelNode, IdentifiableEdge> jungGraph;
 
   private Map<String, DefaultGraphCell> cellMap;
-  
-  private static final Logger LOG = Logger.getLogger(JungJGraphModelAdapter.class.getName());
+
+  private static final Logger LOG = Logger
+      .getLogger(JungJGraphModelAdapter.class.getName());
 
   public JungJGraphModelAdapter(
       final ObservableGraph<ModelNode, IdentifiableEdge> jungGraph) {
@@ -79,13 +80,14 @@ public class JungJGraphModelAdapter exte
       public void graphChanged(GraphModelEvent e) {
         Object[] added = e.getChange().getInserted();
         Object[] removed = e.getChange().getRemoved();
+        Object[] changed = e.getChange().getChanged();
 
         if (added != null && added.length > 0) {
           for (Object a : added) {
             LOG.log(Level.FINE, "Jgraph notification of object added: ["
                 + a.getClass().getName() + "]");
 
-            if (a instanceof org.jgraph.graph.Edge) {
+            if (a instanceof org.jgraph.graph.DefaultEdge) {
               LOG.log(Level.FINE, "Edge added to jgraph");
               org.jgraph.graph.DefaultEdge edge = (org.jgraph.graph.DefaultEdge) a;
               if (!jungGraph.getEdges().contains(edge.getUserObject())) {
@@ -109,6 +111,21 @@ public class JungJGraphModelAdapter exte
           for (Object r : removed) {
             LOG.log(Level.FINE, "Jgraph notification of object removed: ["
                 + r.getClass().getName() + "]");
+
+            if (r instanceof org.jgraph.graph.DefaultEdge) {
+              LOG.log(Level.FINE, "Edge removed from jgraph");
+              org.jgraph.graph.DefaultEdge edge = (org.jgraph.graph.DefaultEdge) r;
+              if (jungGraph.getEdges().contains(edge.getUserObject())) {
+                jungGraph.removeEdge((IdentifiableEdge) edge.getUserObject());
+              }
+            } else if (r instanceof org.jgraph.graph.DefaultGraphCell) {
+              LOG.log(Level.FINE, "Vertex removed from jgraph");
+              org.jgraph.graph.DefaultGraphCell cell = (org.jgraph.graph.DefaultGraphCell) r;
+
+              if (jungGraph.getVertices().contains(cell.getUserObject())) {
+                jungGraph.removeVertex((ModelNode) cell.getUserObject());
+              }
+            }
           }
         }