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.