Author: jgao
Date: 2012-03-21 11:36:30 -0700 (Wed, 21 Mar 2012)
New Revision: 28604

Modified:
   
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/AttributeMappingImpl.java
   
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/MatchingAttributeImpl.java
   
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MatchNodeTable.java
   
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MergeAttributeTable.java
Log:
network-merge: more bug fixes

Modified: 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/AttributeMappingImpl.java
===================================================================
--- 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/AttributeMappingImpl.java
      2012-03-21 16:22:10 UTC (rev 28603)
+++ 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/AttributeMappingImpl.java
      2012-03-21 18:36:30 UTC (rev 28604)
@@ -391,7 +391,7 @@
         final List<String> attributeNames = new ArrayList<String>();
         for (CyColumn col : table.getColumns()) {
             String colName = col.getName();
-            if (!colName.equals("SUID")) { //skip SUID
+            if (!colName.equals("SUID") && !colName.equals("selected")) { 
//skip SUID & selected
                 attributeNames.add(col.getName());
             }
         }

Modified: 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/MatchingAttributeImpl.java
===================================================================
--- 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/MatchingAttributeImpl.java
     2012-03-21 16:22:10 UTC (rev 28603)
+++ 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/model/MatchingAttributeImpl.java
     2012-03-21 18:36:30 UTC (rev 28604)
@@ -43,6 +43,7 @@
 
 import org.cytoscape.model.CyColumn;
 import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyTable;
 
 /**
  * Class to store the information which attribute to be used 
@@ -86,7 +87,10 @@
             throw new java.lang.NullPointerException();
         }
         
-        putAttributeForMatching(net,net.getDefaultNodeTable().getPrimaryKey());
+        
//putAttributeForMatching(net,net.getDefaultNodeTable().getPrimaryKey());
+        CyTable table = net.getDefaultNodeTable();
+        CyColumn col = table.getColumn("name");
+        putAttributeForMatching(net,col);
     }
             
     @Override

Modified: 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MatchNodeTable.java
===================================================================
--- 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MatchNodeTable.java
       2012-03-21 16:22:10 UTC (rev 28603)
+++ 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MatchNodeTable.java
       2012-03-21 18:36:30 UTC (rev 28604)
@@ -36,21 +36,17 @@
 
 package org.cytoscape.network.merge.internal.ui;
 
-import org.cytoscape.network.merge.internal.model.MatchingAttribute;
-
 import java.util.ArrayList;
-import java.util.TreeSet;
-import java.util.Arrays;
-
+import java.util.Vector;
+import javax.swing.DefaultCellEditor;
+import javax.swing.JComboBox;
 import javax.swing.JTable;
 import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableColumn;
-import javax.swing.DefaultCellEditor;
-import javax.swing.JComboBox;
-
 import org.cytoscape.model.CyColumn;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyTable;
+import org.cytoscape.network.merge.internal.model.MatchingAttribute;
 
 /**
  * Table for selecting which attribute to use for matching nodes 
@@ -75,17 +71,25 @@
             
             CyNetwork net = model.getNetork(i);
             CyTable table = net.getDefaultNodeTable();
-            CyColumn[] cols = table.getColumns().toArray(new CyColumn[0]);
             
-            String[] colNames = new String[cols.length];
-            for (int j=0; j<cols.length; j++) {
-                colNames[j] = cols[j].getName();
+            Vector<String> colNames = new Vector<String>();
+            for (CyColumn cyCol : table.getColumns()) {
+                String colName = cyCol.getName();
+                if (!colName.equals("SUID") && !colName.equals("selected")) {
+                    colNames.add(colName);
+                }
             }
             
+            CyColumn cyCol = matchingAttribute.getAttributeForMatching(net);
+            
             JComboBox comboBox = new JComboBox(colNames);
+            ComboBoxTableCellRenderer comboRenderer = new 
ComboBoxTableCellRenderer(colNames);
+            if (cyCol!=null) {
+                String colName = cyCol.getName();
+                comboBox.setSelectedItem(colName);
+                comboRenderer.setSelectedItem(colName);
+            }
             column.setCellEditor(new DefaultCellEditor(comboBox));
-
-            ComboBoxTableCellRenderer comboRenderer = new 
ComboBoxTableCellRenderer(colNames);
             column.setCellRenderer(comboRenderer);
         }
     }
@@ -137,9 +141,15 @@
 
         @Override
         public void setValueAt(Object value, int row, int col) {
-            if (value!=null);
-            matchingAttribute.putAttributeForMatching(networks.get(col), 
(CyColumn)value);
-            fireTableDataChanged();
+            if (value!=null) {
+                CyNetwork net = networks.get(col);
+                CyTable table = net.getDefaultNodeTable();
+                CyColumn cyCol = table.getColumn((String)value);
+                if (cyCol!=null) {
+                    matchingAttribute.putAttributeForMatching(net, cyCol);
+                    fireTableDataChanged();
+                }
+            }
         }
 
         @Override

Modified: 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MergeAttributeTable.java
===================================================================
--- 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MergeAttributeTable.java
  2012-03-21 16:22:10 UTC (rev 28603)
+++ 
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/MergeAttributeTable.java
  2012-03-21 18:36:30 UTC (rev 28604)
@@ -50,7 +50,6 @@
 import java.util.Map;
 import java.util.HashMap;
 import java.util.EnumSet;
-import java.util.Collection;
 
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseAdapter;
@@ -110,18 +109,18 @@
         return mergedNetworkName;
     }
     
-    private String[] getComboboxOption(int col) {
+    private Vector<String> getComboboxOption(int col) {
         CyNetwork net = model.getNetork(col);
         CyTable table = attributeMapping.getCyTable(net);
-        Collection<CyColumn> cyCols = table.getColumns();
-        int n = cyCols.size();
-        String[] ret = new String[n+1];
-        int i=0;
-        for (CyColumn cyCol : cyCols) {
-            ret[i++] = cyCol.getName();
-        }
-        ret[n] = nullAttr;
-        return ret;
+        Vector<String> colNames = new Vector<String>();
+            for (CyColumn cyCol : table.getColumns()) {
+                String colName = cyCol.getName();
+                if (!colName.equals("SUID") && !colName.equals("selected")) {
+                    colNames.add(colName);
+                }
+            }
+        colNames.add(nullAttr);
+        return colNames;
     }
 
     protected void setColumnEditorAndRenderer() {
@@ -138,7 +137,7 @@
             final TableColumn column = getColumnModel().getColumn(i);
 
             if (this.isColumnOriginalNetwork(i)) {
-                final String[] attrs = getComboboxOption(i);
+                final Vector<String> attrs = getComboboxOption(i);
                 final JComboBox comboBox = new JComboBox(attrs);
                 column.setCellEditor(new DefaultCellEditor(comboBox));
                 column.setCellRenderer(new TableCellRenderer() {
@@ -184,27 +183,17 @@
                                     boolean isSelected, boolean hasFocus,
                                     int row, int column) {
 
-                                if (row<2) {
+                                if (row>=table.getRowCount()-1) {
                                         JLabel label = (JLabel) 
defaultRenderer.getTableCellRendererComponent(table, value, isSelected, 
hasFocus, row, column);
                                         label.setBackground(Color.LIGHT_GRAY);
-                                        label.setToolTipText("Reserved by 
system");
                                         if (isSelected) {
                                                 
label.setForeground(table.getSelectionForeground());
                                         } else {
                                                 
label.setForeground(table.getForeground());
                                         }
                                         return label;
-                                } else if (row>=table.getRowCount()-1) {
-                                        JLabel label = (JLabel) 
defaultRenderer.getTableCellRendererComponent(table, value, isSelected, 
hasFocus, row, column);
-                                        label.setBackground(Color.LIGHT_GRAY);
-                                        if (isSelected) {
-                                                
label.setForeground(table.getSelectionForeground());
-                                        } else {
-                                                
label.setForeground(table.getForeground());
-                                        }
-                                        return label;
                                 } else {
-                                        if (isNode && row==2) {
+                                        if (isNode && row==0) {
                                                 JLabel label = (JLabel) 
defaultRenderer.getTableCellRendererComponent(table, value, isSelected, 
hasFocus, row, column);
                                                 label.setForeground(Color.RED);
                                                 if (isSelected) {
@@ -268,25 +257,15 @@
                                     boolean isSelected, boolean hasFocus,
                                     int row, int column) {
 
-                                if (row<2) {
+                                if (row>=table.getRowCount()-1) {
                                         JLabel label = (JLabel) 
defaultRenderer.getTableCellRendererComponent(table, value, isSelected, 
hasFocus, row, column);
                                         label.setBackground(Color.LIGHT_GRAY);
-                                        label.setToolTipText("Reserved by 
system");
                                         if (isSelected) {
                                                 
label.setForeground(table.getSelectionForeground());
                                         } else {
                                                 
label.setForeground(table.getForeground());
                                         }
                                         return label;
-                                } else if (row>=table.getRowCount()-1) {
-                                        JLabel label = (JLabel) 
defaultRenderer.getTableCellRendererComponent(table, value, isSelected, 
hasFocus, row, column);
-                                        label.setBackground(Color.LIGHT_GRAY);
-                                        if (isSelected) {
-                                                
label.setForeground(table.getSelectionForeground());
-                                        } else {
-                                                
label.setForeground(table.getForeground());
-                                        }
-                                        return label;
                                 } else {
                                         if (!table.isCellEditable(row, 
column)) {
                                                 JLabel label = (JLabel) 
defaultRenderer.getTableCellRendererComponent(table, value, isSelected, 
hasFocus, row, column);

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