Author: paperwing
Date: 2012-01-10 15:05:13 -0800 (Tue, 10 Jan 2012)
New Revision: 27970

Modified:
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/CyActivator.java
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/coordinator/ViewingCoordinator.java
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/VisualPropertyKeeper.java
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkView.java
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkViewFactory.java
Log:
VisualPropertyKeeper bug involving returning VisualPropertyValueHolders instead 
of the values themselves fixed; WindNetworkView updated, still needs to ensure 
there is a view for every node/edge in the case of node/edge addition/deletion

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/CyActivator.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/CyActivator.java
      2012-01-10 22:24:21 UTC (rev 27969)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/CyActivator.java
      2012-01-10 23:05:13 UTC (rev 27970)
@@ -2,8 +2,10 @@
 
 import java.util.Properties;
 
+import org.cytoscape.paperwing.internal.cytoscape.view.WindNetworkViewFactory;
 import org.cytoscape.service.util.AbstractCyActivator;
 import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.view.model.CyNetworkViewFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.model.VisualLexicon;
 import org.cytoscape.view.presentation.RenderingEngineFactory;
@@ -23,14 +25,29 @@
                CyServiceRegistrar cyServiceRegistrarRef = getService(bc,
                                CyServiceRegistrar.class);
 
+               // Wind Visual Lexicon
                WindVisualLexicon windVisualLexicon = new WindVisualLexicon();
+               
+               Properties windVisualLexiconProps = new Properties();
+               windVisualLexiconProps.setProperty("serviceType", 
"visualLexicon");
+               windVisualLexiconProps.setProperty("id", "wind");
+               registerService(bc, windVisualLexicon, VisualLexicon.class,
+                               windVisualLexiconProps);
+
+               // Wind NetworkView factory
+               WindNetworkViewFactory windNetworkViewFactory =
+                       new WindNetworkViewFactory(windVisualLexicon);
+               
+               Properties windNetworkViewFactoryProps = new Properties();
+               windNetworkViewFactoryProps.setProperty("serviceType", 
+                               "factory");
+               registerService(bc, windNetworkViewFactory, 
CyNetworkViewFactory.class, windNetworkViewFactoryProps);
+               
+               // Main RenderingEngine factory
                WindMainRenderingEngineFactory windMainRenderingEngineFactory = 
new WindMainRenderingEngineFactory(
                                cyNetworkViewManagerRef, 
cyRenderingEngineManagerRef,
                                windVisualLexicon, cyServiceRegistrarRef);
-               WindBirdsEyeRenderingEngineFactory 
windBirdsEyeRenderingEngineFactory = new WindBirdsEyeRenderingEngineFactory(
-                               cyNetworkViewManagerRef, 
cyRenderingEngineManagerRef,
-                               windVisualLexicon, cyServiceRegistrarRef);
-
+               
                Properties windMainRenderingEngineFactoryProps = new 
Properties();
                windMainRenderingEngineFactoryProps.setProperty("serviceType",
                                "presentationFactory");
@@ -38,6 +55,11 @@
                registerService(bc, windMainRenderingEngineFactory,
                                RenderingEngineFactory.class, 
windMainRenderingEngineFactoryProps);
 
+               // Bird's Eye RenderingEngine factory
+               WindBirdsEyeRenderingEngineFactory 
windBirdsEyeRenderingEngineFactory = new WindBirdsEyeRenderingEngineFactory(
+                               cyNetworkViewManagerRef, 
cyRenderingEngineManagerRef,
+                               windVisualLexicon, cyServiceRegistrarRef);
+               
                Properties windBirdsEyeRenderingEngineFactoryProps = new 
Properties();
                
windBirdsEyeRenderingEngineFactoryProps.setProperty("serviceType",
                                "presentationFactory");
@@ -46,10 +68,6 @@
                                RenderingEngineFactory.class,
                                windBirdsEyeRenderingEngineFactoryProps);
 
-               Properties windVisualLexiconProps = new Properties();
-               windVisualLexiconProps.setProperty("serviceType", 
"visualLexicon");
-               windVisualLexiconProps.setProperty("id", "wind");
-               registerService(bc, windVisualLexicon, VisualLexicon.class,
-                               windVisualLexiconProps);
+               
        }
 }

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/coordinator/ViewingCoordinator.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/coordinator/ViewingCoordinator.java
   2012-01-10 22:24:21 UTC (rev 27969)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/coordinator/ViewingCoordinator.java
   2012-01-10 23:05:13 UTC (rev 27970)
@@ -13,14 +13,11 @@
 public class ViewingCoordinator {
 
        public static double BOUNDS_CHANGE_THRESHOLD = 5e-16;
-       public static double CAMERA_CHANGE_THRESHOLD = 5e-16;
+       public static double CAMERA_CHANGE_THRESHOLD = 5e-25;
        
        private SimpleCamera mainCameraCopy;
        private Quadrilateral birdsEyeBoundsCopy;
-
        
-       
-       
        private double verticalFov;
        private double aspectRatio;
        
@@ -87,9 +84,6 @@
                return coordinator;
        }
        
-       
-       
-       
        public boolean checkCameraChanged(SimpleCamera mainCamera) {
                double threshold = CAMERA_CHANGE_THRESHOLD;
                

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
 2012-01-10 22:24:21 UTC (rev 27969)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
 2012-01-10 23:05:13 UTC (rev 27970)
@@ -71,7 +71,7 @@
                
                for (String key : nodeDefaultValues.keySet()) {
                        valueHolder = nodeDefaultValues.get(key);       
-                       keeper.setVisualProperty(key, valueHolder);
+                       keeper.setVisualProperty(key, valueHolder.getValue());
                }
        }
        
@@ -80,7 +80,7 @@
                
                for (String key : edgeDefaultValues.keySet()) {
                        valueHolder = edgeDefaultValues.get(key);       
-                       keeper.setVisualProperty(key, valueHolder);
+                       keeper.setVisualProperty(key, valueHolder.getValue());
                }
        }
        
@@ -89,7 +89,7 @@
                
                for (String key : networkDefaultValues.keySet()) {
                        valueHolder = networkDefaultValues.get(key);    
-                       keeper.setVisualProperty(key, valueHolder);
+                       keeper.setVisualProperty(key, valueHolder.getValue());
                }
        }
 }

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/VisualPropertyKeeper.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/VisualPropertyKeeper.java
      2012-01-10 22:24:21 UTC (rev 27969)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/VisualPropertyKeeper.java
      2012-01-10 23:05:13 UTC (rev 27970)
@@ -15,7 +15,7 @@
        }
        
        public <T> T getVisualProperty(VisualProperty<T> visualProperty) {
-
+               
                return (T) 
valueHolders.get(visualProperty.getIdString()).getValue();
        }
 

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkView.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkView.java
   2012-01-10 22:24:21 UTC (rev 27969)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkView.java
   2012-01-10 23:05:13 UTC (rev 27970)
@@ -43,12 +43,16 @@
                for (CyNode node : network.getNodeList()) {
                        nodeView = new WindNodeView(node, 
SUIDFactory.getNextSUID());
                        defaultValues.initializeNode(nodeView);
+                       
+                       nodeViews.put(node.getIndex(), nodeView);
                }
                
                WindEdgeView edgeView;
                for (CyEdge edge : network.getEdgeList()) {
                        edgeView = new WindEdgeView(edge, 
SUIDFactory.getNextSUID());
                        defaultValues.initializeEdge(edgeView);
+               
+                       edgeViews.put(edge.getIndex(), edgeView);
                }
                
                defaultValues.initializeNetwork(this);
@@ -86,7 +90,7 @@
 
        @Override
        public Collection<View<? extends CyTableEntry>> getAllViews() {
-               Collection<View<? extends CyTableEntry>> views = new HashSet();
+               Collection<View<? extends CyTableEntry>> views = new 
HashSet<View<? extends CyTableEntry>>();
                
                // Return views for Node, Edge, Network
                views.addAll(getNodeViews());
@@ -98,20 +102,48 @@
 
        @Override
        public void fitContent() {
-               // TODO Auto-generated method stub
                
        }
 
        @Override
        public void fitSelected() {
-               // TODO Auto-generated method stub
                
        }
 
        @Override
        public void updateView() {
-               // TODO Auto-generated method stub
+               // TODO: Check if correct place to put this; below code should 
ensure having a view
+               // for every node/edge in the network
+               int nodeCountDifference = network.getNodeCount() - 
nodeViews.size();
                
+               // Check if nodes have been added to the network
+               if (nodeCountDifference > 0) {
+                       for (CyNode node : network.getNodeList()) {
+                               
+                               // Found a node without a view?
+                               if (nodeViews.get(node.getIndex()) == null) {
+                                       
+                                       WindNodeView nodeView = new 
WindNodeView(node, SUIDFactory.getNextSUID());
+                                       defaultValues.initializeNode(nodeView);
+                                       
+                                       nodeViews.put(node.getIndex(), 
nodeView);
+                                       
+                                       nodeCountDifference--;
+                               }
+                       }
+                       
+                       // Did we fail to match every node with a node view?
+                       if (nodeCountDifference != 0) {
+                               
+                               // TODO: Use exception
+                               
System.out.println("WindNetworkView.updateView(): node count mismatch by " + 
nodeCountDifference);
+                       }
+               // Check if nodes have been removed from the network
+               } else if (nodeCountDifference < 0) {
+                       
+               }
+               
+               
        }
 
        @Override

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkViewFactory.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkViewFactory.java
    2012-01-10 22:24:21 UTC (rev 27969)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkViewFactory.java
    2012-01-10 23:05:13 UTC (rev 27970)
@@ -4,24 +4,27 @@
 import org.cytoscape.model.SUIDFactory;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.VisualLexicon;
 
 public class WindNetworkViewFactory implements CyNetworkViewFactory {
 
+       private VisualLexicon visualLexicon;
        
-       public WindNetworkViewFactory() {
+       public WindNetworkViewFactory(VisualLexicon visualLexicon) {
+               this.visualLexicon = visualLexicon;
        }
        
        @Override
-       public CyNetworkView createNetworkView(CyNetwork network) {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
-       @Override
        public CyNetworkView createNetworkView(CyNetwork network,
                        Boolean useThreshold) {
-               // TODO Auto-generated method stub
-               return null;
+               
+               // TODO: Implement use of useThreshold parameter
+               return new WindNetworkView(network, visualLexicon);
        }
+       
+       @Override
+       public CyNetworkView createNetworkView(CyNetwork network) {
+               return createNetworkView(network, true);
+       }
 
 }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to