Author: paperwing
Date: 2012-01-10 09:02:07 -0800 (Tue, 10 Jan 2012)
New Revision: 27962

Added:
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
Modified:
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindVisualLexicon.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/WindEdgeView.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
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNodeView.java
Log:
updated implementation of WindNetworkView, now uses an object to contain the 
set of default values for visualProperties

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindVisualLexicon.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindVisualLexicon.java
        2012-01-10 04:51:16 UTC (rev 27961)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindVisualLexicon.java
        2012-01-10 17:02:07 UTC (rev 27962)
@@ -28,6 +28,7 @@
                
                VisualProperty visualProperty = this.lookup(Double.class, 
"test");
                
+               
        }
 
 }

Added: 
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
                         (rev 0)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
 2012-01-10 17:02:07 UTC (rev 27962)
@@ -0,0 +1,97 @@
+package org.cytoscape.paperwing.internal.cytoscape.view;
+
+import java.util.LinkedHashMap;
+
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualProperty;
+
+public class DefaultValueVault {
+       
+       // Assumes VisualProperty ID names are unique
+       private LinkedHashMap<String, VisualPropertyValueHolder<?>> 
nodeDefaultValues;
+       private LinkedHashMap<String, VisualPropertyValueHolder<?>> 
edgeDefaultValues;
+       private LinkedHashMap<String, VisualPropertyValueHolder<?>> 
networkDefaultValues;
+       
+       private VisualLexicon visualLexicon;
+       
+       public DefaultValueVault(VisualLexicon visualLexicon) {
+               this.visualLexicon = visualLexicon;
+               
+               nodeDefaultValues = new LinkedHashMap<String, 
VisualPropertyValueHolder<?>>();
+               edgeDefaultValues = new LinkedHashMap<String, 
VisualPropertyValueHolder<?>>();
+               networkDefaultValues = new LinkedHashMap<String, 
VisualPropertyValueHolder<?>>();
+       
+               populateDefaultValues();
+       }
+       
+       // Sets initial default values
+       private void populateDefaultValues() {
+               VisualPropertyValueHolder<?> valueHolder;
+               Class<?> targetDataType;
+               
+               for (VisualProperty<?> visualProperty : 
visualLexicon.getAllVisualProperties()) {
+                       valueHolder = new 
VisualPropertyValueHolder(visualProperty.getDefault());
+                       targetDataType = visualProperty.getTargetDataType();
+                       
+                       if (targetDataType == CyNode.class) {
+                               
nodeDefaultValues.put(visualProperty.getIdString(), valueHolder);
+                       } else if (targetDataType == CyEdge.class) {
+                               
edgeDefaultValues.put(visualProperty.getIdString(), valueHolder);
+                       } else if (targetDataType == CyNetwork.class) {
+                               
networkDefaultValues.put(visualProperty.getIdString(), valueHolder);
+                       }
+               }
+       }
+       
+//     @Override
+//     public <T, V extends T> void setViewDefault(VisualProperty<? extends T> 
visualProperty,
+//                     V defaultValue) {
+//             
+//     }
+       
+       public <T, V extends T> void modifyDefaultValue(VisualProperty<? 
extends T> visualProperty, V value) {
+               Class<?> targetDataType = visualProperty.getTargetDataType();
+               
+               VisualPropertyValueHolder<V> valueHolder = new 
VisualPropertyValueHolder<V>(value);
+               
+               if (targetDataType == CyNode.class) {
+                       nodeDefaultValues.put(visualProperty.getIdString(), 
valueHolder);
+               } else if (targetDataType == CyEdge.class) {
+                       edgeDefaultValues.put(visualProperty.getIdString(), 
valueHolder);
+               } else if (targetDataType == CyNetwork.class) {
+                       networkDefaultValues.put(visualProperty.getIdString(), 
valueHolder);
+               }
+       }
+       
+       public void initializeNode(VisualPropertyKeeper<CyNode> keeper) {
+               VisualPropertyValueHolder<?> valueHolder;
+               
+               for (String key : nodeDefaultValues.keySet()) {
+                       valueHolder = nodeDefaultValues.get(key);       
+                       keeper.setVisualProperty(key, valueHolder);
+               }
+       }
+       
+       public void initializeEdge(VisualPropertyKeeper<CyEdge> keeper) {
+               VisualPropertyValueHolder<?> valueHolder;
+               
+               for (String key : edgeDefaultValues.keySet()) {
+                       valueHolder = edgeDefaultValues.get(key);       
+                       keeper.setVisualProperty(key, valueHolder);
+               }
+       }
+       
+       public void initializeNetwork(VisualPropertyKeeper<CyNetwork> keeper) {
+               VisualPropertyValueHolder<?> valueHolder;
+               
+               for (String key : networkDefaultValues.keySet()) {
+                       valueHolder = networkDefaultValues.get(key);    
+                       keeper.setVisualProperty(key, valueHolder);
+               }
+       }
+}
+
+


Property changes on: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/DefaultValueVault.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

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 04:51:16 UTC (rev 27961)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/VisualPropertyKeeper.java
      2012-01-10 17:02:07 UTC (rev 27962)
@@ -24,6 +24,12 @@
                
                valueHolders.put(visualProperty.getIdString(), valueHolder);
        }
+       
+       public <V> void setVisualProperty(String propertyID, V value) {
+               VisualPropertyValueHolder<V> valueHolder = new 
VisualPropertyValueHolder<V>(value);
+               
+               valueHolders.put(propertyID, valueHolder);
+       }
 
        @Override
        public <T, V extends T> void setLockedValue(VisualProperty<? extends T> 
visualProperty,

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindEdgeView.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindEdgeView.java
      2012-01-10 04:51:16 UTC (rev 27961)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindEdgeView.java
      2012-01-10 17:02:07 UTC (rev 27962)
@@ -9,16 +9,16 @@
 public class WindEdgeView extends VisualPropertyKeeper<CyEdge> {
 
        private CyEdge edge;
-       private Long SUID;
+       private Long suid;
        
-       public WindEdgeView(CyEdge edge, Long SUID) {
+       public WindEdgeView(CyEdge edge, Long suid) {
                this.edge = edge;
-               this.SUID = SUID;               
+               this.suid = suid;               
        }
        
        @Override
        public long getSUID() {
-               return SUID;
+               return suid;
        }
 
        @Override

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 04:51:16 UTC (rev 27961)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkView.java
   2012-01-10 17:02:07 UTC (rev 27962)
@@ -1,58 +1,99 @@
 package org.cytoscape.paperwing.internal.cytoscape.view;
 
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
 
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyTableEntry;
+import org.cytoscape.model.SUIDFactory;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.VisualLexicon;
 import org.cytoscape.view.model.VisualProperty;
 
 public class WindNetworkView extends VisualPropertyKeeper<CyNetwork> 
                implements CyNetworkView {
 
+       private long suid;
+       
+       private CyNetwork network;
+       
+       private VisualLexicon visualLexicon;
+       private DefaultValueVault defaultValues;
+       
+       // Assumes indices of nodes are unique
+       private HashMap<Integer, View<CyNode>> nodeViews;
+       private HashMap<Integer, View<CyEdge>> edgeViews;
+       
+       public WindNetworkView(CyNetwork network, VisualLexicon visualLexicon) {
+               suid = SUIDFactory.getNextSUID();
+               
+               this.network = network;
+               this.visualLexicon = visualLexicon;
+               
+               defaultValues = new DefaultValueVault(visualLexicon);
+               nodeViews = new HashMap<Integer, View<CyNode>>();
+               edgeViews = new HashMap<Integer, View<CyEdge>>();
+               
+               WindNodeView nodeView;
+               for (CyNode node : network.getNodeList()) {
+                       nodeView = new WindNodeView(node, 
SUIDFactory.getNextSUID());
+                       defaultValues.initializeNode(nodeView);
+               }
+               
+               WindEdgeView edgeView;
+               for (CyEdge edge : network.getEdgeList()) {
+                       edgeView = new WindEdgeView(edge, 
SUIDFactory.getNextSUID());
+                       defaultValues.initializeEdge(edgeView);
+               }
+               
+               defaultValues.initializeNetwork(this);
+       }
+       
        @Override
        public CyNetwork getModel() {
-               // TODO Auto-generated method stub
-               return null;
+               return network;
        }
 
        @Override
        public long getSUID() {
-               // TODO Auto-generated method stub
-               return 0;
+               return suid;
        }
 
        @Override
        public View<CyNode> getNodeView(CyNode node) {
-               // TODO Auto-generated method stub
-               return null;
+               return nodeViews.get(node.getIndex());
        }
 
        @Override
        public Collection<View<CyNode>> getNodeViews() {
-               // TODO Auto-generated method stub
-               return null;
+               return nodeViews.values();
        }
 
        @Override
        public View<CyEdge> getEdgeView(CyEdge edge) {
-               // TODO Auto-generated method stub
-               return null;
+               return edgeViews.get(edge.getIndex());
        }
 
        @Override
        public Collection<View<CyEdge>> getEdgeViews() {
-               // TODO Auto-generated method stub
-               return null;
+               return edgeViews.values();
        }
 
        @Override
        public Collection<View<? extends CyTableEntry>> getAllViews() {
-               // TODO Auto-generated method stub
-               return null;
+               Collection<View<? extends CyTableEntry>> views = new HashSet();
+               
+               // Return views for Node, Edge, Network
+               views.addAll(getNodeViews());
+               views.addAll(getEdgeViews());
+               views.add(this);
+               
+               return views;
        }
 
        @Override
@@ -74,10 +115,10 @@
        }
 
        @Override
-       public <T, V extends T> void setViewDefault(VisualProperty<? extends T> 
vp,
+       public <T, V extends T> void setViewDefault(VisualProperty<? extends T> 
visualProperty,
                        V defaultValue) {
-               // TODO Auto-generated method stub
                
+               defaultValues.modifyDefaultValue(visualProperty, defaultValue);
        }
 
 }

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 04:51:16 UTC (rev 27961)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNetworkViewFactory.java
    2012-01-10 17:02:07 UTC (rev 27962)
@@ -1,11 +1,16 @@
 package org.cytoscape.paperwing.internal.cytoscape.view;
 
 import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.SUIDFactory;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewFactory;
 
 public class WindNetworkViewFactory implements CyNetworkViewFactory {
 
+       
+       public WindNetworkViewFactory() {
+       }
+       
        @Override
        public CyNetworkView createNetworkView(CyNetwork network) {
                // TODO Auto-generated method stub

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNodeView.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNodeView.java
      2012-01-10 04:51:16 UTC (rev 27961)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/cytoscape/view/WindNodeView.java
      2012-01-10 17:02:07 UTC (rev 27962)
@@ -9,16 +9,16 @@
 public class WindNodeView extends VisualPropertyKeeper<CyNode> {
 
        private CyNode node;
-       private Long SUID;
+       private Long suid;
        
-       public WindNodeView(CyNode node, Long SUID) {
+       public WindNodeView(CyNode node, Long suid) {
                this.node = node;
-               this.SUID = SUID;               
+               this.suid = suid;               
        }
        
        @Override
        public long getSUID() {
-               return SUID;
+               return suid;
        }
 
        @Override

-- 
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