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.