Author: clopes
Date: 2012-08-22 10:04:36 -0700 (Wed, 22 Aug 2012)
New Revision: 30249

Modified:
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
Log:
Fixes #1173 (Visual mapping editor displays nodes and attributes which don't 
belong to the current network view)

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
      2012-08-22 16:23:05 UTC (rev 30248)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
      2012-08-22 17:04:36 UTC (rev 30249)
@@ -147,7 +147,7 @@
                filledBoxRenderer.setBackground(Color.white);
                filledBoxRenderer.setForeground(Color.blue);
                
-               VizMapPropertyBuilder vizMapPropertyBuilder = new 
VizMapPropertyBuilder(cyNetworkManagerServiceRef, editorManager, 
emptyBoxRenderer, filledBoxRenderer);
+               VizMapPropertyBuilder vizMapPropertyBuilder = new 
VizMapPropertyBuilder(cyNetworkManagerServiceRef, 
cyApplicationManagerServiceRef, editorManager, emptyBoxRenderer, 
filledBoxRenderer);
                VizMapPropertySheetBuilder vizMapPropertySheetBuilder = new 
VizMapPropertySheetBuilder(menuManager,propertySheetPanel,editorManager,defaultViewPanel,vizMapperUtil,vmmServiceRef,
 vizMapPropertyBuilder);
                EditorWindowManager editorWindowManager = new 
EditorWindowManager(editorManager,propertySheetPanel);
                

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
    2012-08-22 16:23:05 UTC (rev 30248)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
    2012-08-22 17:04:36 UTC (rev 30249)
@@ -41,6 +41,7 @@
 import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.TableCellRenderer;
 
+import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.model.CyColumn;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyIdentifiable;
@@ -79,10 +80,12 @@
 
        private final EditorManager editorManager;
        private final CyNetworkManager cyNetworkManager;
+       private final CyApplicationManager appManager;
 
-       public VizMapPropertyBuilder(CyNetworkManager cyNetworkManager, 
EditorManager editorManager,
+       public VizMapPropertyBuilder(CyNetworkManager cyNetworkManager, 
CyApplicationManager appManager, EditorManager editorManager,
                        DefaultTableCellRenderer emptyBoxRenderer, 
DefaultTableCellRenderer filledBoxRenderer) {
                this.cyNetworkManager = cyNetworkManager;
+               this.appManager = appManager;
                this.editorManager = editorManager;
                this.emptyBoxRenderer = emptyBoxRenderer;
                this.filledBoxRenderer = filledBoxRenderer;
@@ -146,58 +149,53 @@
                ((PropertyEditorRegistry) 
propertySheetPanel.getTable().getEditorFactory()).registerEditor(mappingHeader,
                                
editorManager.getDefaultComboBoxEditor("mappingTypeEditor"));
 
-               final Set<CyNetwork> networks = 
cyNetworkManager.getNetworkSet();
-               final Map<CyNetwork, Set<CyIdentifiable>> graphObjectSet = new 
HashMap<CyNetwork, Set<CyIdentifiable>>();
+               final CyNetwork network = appManager.getCurrentNetwork();
+               final Set<CyIdentifiable> graphObjects = new 
HashSet<CyIdentifiable>();
 
-               for (CyNetwork targetNetwork : networks) {
-                       Iterator<? extends CyIdentifiable> it = null;
-                       graphObjectSet.put(targetNetwork, new 
HashSet<CyIdentifiable>());
-
-                       ((PropertyEditorRegistry) 
propertySheetPanel.getTable().getEditorFactory()).registerEditor(topProperty,
-                                       
editorManager.getDataTableComboBoxEditor((Class<? extends CyIdentifiable>) 
vp.getTargetDataType()));
+               if (network != null) {
                        if (vp.getTargetDataType().equals(CyNode.class)) {
-                               it = targetNetwork.getNodeList().iterator();
+                               graphObjects.addAll(network.getNodeList());
                        } else if (vp.getTargetDataType().equals(CyEdge.class)) 
{
-                               it = targetNetwork.getEdgeList().iterator();
+                               graphObjects.addAll(network.getEdgeList());
                        } else if 
(vp.getTargetDataType().equals(CyNetwork.class)) {
-                               it = 
cyNetworkManager.getNetworkSet().iterator();
+                               graphObjects.add(network);
                        } else {
                                throw new IllegalArgumentException("Data type 
not supported: " + vp.getTargetDataType());
                        }
-
-                       while (it.hasNext())
-                               
graphObjectSet.get(targetNetwork).add(it.next());
                }
 
+               ((PropertyEditorRegistry) 
propertySheetPanel.getTable().getEditorFactory()).registerEditor(topProperty,
+                               
editorManager.getDataTableComboBoxEditor((Class<? extends CyIdentifiable>) 
vp.getTargetDataType()));
+               
                final VisualPropertyEditor<V> vpEditor = 
editorManager.getVisualPropertyEditor(vp);
 
-               if (visualMapping instanceof DiscreteMapping && (attrName != 
null)) {
+               if (visualMapping instanceof DiscreteMapping && attrName != 
null) {
                        // Discrete Mapping
                        // This set should not contain null!
                        final SortedSet<Object> attrSet = new TreeSet<Object>();
-
-                       for (CyNetwork net : graphObjectSet.keySet()) {
+                       
+                       if (network != null) {
                                if (vp.getTargetDataType() == CyNetwork.class) {
-                                       final CyRow row = net.getRow(net);
+                                       final CyRow row = 
network.getRow(network);
                                        final CyColumn column = 
row.getTable().getColumn(attrName);
+                                       
                                        if (column != null)
                                                processDiscretValues(row, 
attrName, column, column.getType(), attrSet);
                                } else {
-                                       // Assule all data sets are same data 
type.
-                                       final Set<CyIdentifiable> graphObjects 
= graphObjectSet.get(net);
-                                       if (graphObjects.isEmpty())
-                                               continue;
-
-                                       CyIdentifiable firstEntry = 
graphObjects.iterator().next();
-                                       final CyRow firstRow = 
net.getRow(firstEntry);
-                                       final CyColumn column = 
firstRow.getTable().getColumn(attrName);
-                                       if (column == null)
-                                               continue;
-
-                                       final Class<?> type = column.getType();
-                                       for (final CyIdentifiable go : 
graphObjects) {
-                                               final CyRow row = 
net.getRow(go);
-                                               processDiscretValues(row, 
attrName, column, type, attrSet);
+                                       // Make sure all data sets have the 
same data type.
+                                       if (!graphObjects.isEmpty()) {
+                                               CyIdentifiable firstEntry = 
graphObjects.iterator().next();
+                                               final CyRow firstRow = 
network.getRow(firstEntry);
+                                               final CyColumn column = 
firstRow.getTable().getColumn(attrName);
+                                               
+                                               if (column != null) {
+                                                       final Class<?> type = 
column.getType();
+                                                       
+                                                       for (final 
CyIdentifiable go : graphObjects) {
+                                                               final CyRow row 
= network.getRow(go);
+                                                               
processDiscretValues(row, attrName, column, type, attrSet);
+                                                       }
+                                               }
                                        }
                                }
                        }
@@ -206,9 +204,11 @@
                        setDiscreteProps(vp, visualMapping, attrSet, vpEditor, 
topProperty, propertySheetPanel);
 
                } else if (visualMapping instanceof ContinuousMapping && 
(attrName != null)) {
-                       final VizMapperProperty<String, VisualMappingFunction, 
VisualMappingFunction<K, V>> graphicalView = new VizMapperProperty<String, 
VisualMappingFunction, VisualMappingFunction<K, V>>(
-                                       CellType.CONTINUOUS, 
visualMapping.getVisualProperty().getDisplayName() + "_"
-                                                       + 
AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW, visualMapping.getClass());
+                       final VizMapperProperty<String, VisualMappingFunction, 
VisualMappingFunction<K, V>> graphicalView = 
+                                       new VizMapperProperty<String, 
VisualMappingFunction, VisualMappingFunction<K, V>>(
+                                                       CellType.CONTINUOUS,
+                                                       
visualMapping.getVisualProperty().getDisplayName() + "_" + 
AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW,
+                                                       
visualMapping.getClass());
 
                        graphicalView.setShortDescription("Continuous Mapping 
from " + visualMapping.getMappingColumnName()
                                        + " to " + 
visualMapping.getVisualProperty().getDisplayName());

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