Author: ruschein
Date: 2010-12-10 10:29:59 -0800 (Fri, 10 Dec 2010)
New Revision: 23160

Modified:
   core3/model-api/trunk/src/main/java/org/cytoscape/model/CyTable.java
   
core3/model-api/trunk/src/test/java/org/cytoscape/model/AbstractCyTableTest.java
   
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/ui/CyAttributeBrowserTable.java
Log:
Added getType() and getRowCount() to the CyTable API.

Modified: core3/model-api/trunk/src/main/java/org/cytoscape/model/CyTable.java
===================================================================
--- core3/model-api/trunk/src/main/java/org/cytoscape/model/CyTable.java        
2010-12-10 17:45:34 UTC (rev 23159)
+++ core3/model-api/trunk/src/main/java/org/cytoscape/model/CyTable.java        
2010-12-10 18:29:59 UTC (rev 23160)
@@ -75,6 +75,14 @@
        Class<?> getPrimaryKeyType();
 
        /**
+        * Returns the class type of a column for this table.
+        * @param columnName  The name of the column whose type we desire.
+        * @return The class type of the column whose column name was provided, 
or null if there is
+        *         no column named "columnName".
+        */
+       Class<?> getType(String columnName);
+
+       /**
         * The keySet of this map defines all columns in the CyTable and the
         * the values of this map define the types of the columns.
         * @return A map of column names to the {...@link Class} objects that 
defines
@@ -149,4 +157,9 @@
         *  @return the rows, if any that contain the value "value" for the 
column "columnName"
         */
        Set<CyRow> getMatchingRows(String columnName, Object value);
+
+       /** Returns the number of rows in this table.
+        *  @return The number if rows in the table.
+        */
+       int getRowCount();
 }

Modified: 
core3/model-api/trunk/src/test/java/org/cytoscape/model/AbstractCyTableTest.java
===================================================================
--- 
core3/model-api/trunk/src/test/java/org/cytoscape/model/AbstractCyTableTest.java
    2010-12-10 17:45:34 UTC (rev 23159)
+++ 
core3/model-api/trunk/src/test/java/org/cytoscape/model/AbstractCyTableTest.java
    2010-12-10 18:29:59 UTC (rev 23160)
@@ -515,4 +515,17 @@
                assertEquals((long)(Long)values.get("x"), 15L);
                assertEquals((double)(Double)values.get("y"), 3.14, 0.00001);
        }
+
+       @Test
+       public void testGetType() {
+               table.createColumn("someInt", Integer.class);
+               assertEquals(table.getType("someInt"), Integer.class);
+               assertNull(table.getType("nonExistentColumnName"));
+       }
+
+       @Test
+       public void testGetRowCount() {
+               final CyRow row = table.getRow(2L);
+               assertEquals(table.getRowCount(), table.getAllRows().size());
+       }
 }

Modified: 
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
===================================================================
--- 
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
     2010-12-10 17:45:34 UTC (rev 23159)
+++ 
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
     2010-12-10 18:29:59 UTC (rev 23160)
@@ -177,6 +177,10 @@
                return Collections.unmodifiableMap(types);
        }
 
+       public Class<?> getType(final String columnName) {
+               return types.get(columnName);
+       }
+
        public Class<?> getListElementType(final String columnName) {
                final Class<?> listElementType = 
listElementTypes.get(columnName);
                if (listElementType == null)
@@ -193,6 +197,10 @@
                return primaryKeyType;
        }
 
+       public int getRowCount() {
+               return rows.size();
+       }
+
        /**
         * DOCUMENT ME!
         *

Modified: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/ui/CyAttributeBrowserTable.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/ui/CyAttributeBrowserTable.java
 2010-12-10 17:45:34 UTC (rev 23159)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/ui/CyAttributeBrowserTable.java
 2010-12-10 18:29:59 UTC (rev 23160)
@@ -15,11 +15,11 @@
 import static org.cytoscape.browser.internal.DataObjectType.NETWORK;
 import static org.cytoscape.browser.internal.DataObjectType.NODES;
 
-import giny.model.Edge;
-import giny.model.GraphObject;
-import giny.model.Node;
-import giny.view.EdgeView;
-import giny.view.NodeView;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTableEntry;
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.view.model.View;
 
 import java.awt.Color;
 import java.awt.Component;
@@ -285,9 +285,9 @@
                return newColor;
        }
 
-       protected Edge getEdge(final String edgeString) {
+       protected CyEdge getEdge(final String edgeString) {
                String[] edgeNameParts = edgeString.split(" \\(");
-               final Node source = Cytoscape.getCyNode(edgeNameParts[0]);
+               final CyNode source = Cytoscape.getCyNode(edgeNameParts[0]);
                edgeNameParts = edgeNameParts[1].split("\\) ");
 
                final String interaction = edgeNameParts[0];
@@ -296,9 +296,9 @@
                return Cytoscape.getCyEdge(source, target, 
Semantics.INTERACTION, interaction, false);
        }
 
-       private Map<String, GraphObject> paintNodesAndEdges(int idLocation) {
+       private Map<String, CyTableEntry> paintNodesAndEdges(int idLocation) {
                final int[] rowsSelected = getSelectedRows();
-               final Map<String, GraphObject> selectedMap = new 
HashMap<String, GraphObject>();
+               final Map<String, CyTableEntry> selectedMap = new 
HashMap<String, CyTableEntry>();
                final int selectedRowLength = rowsSelected.length;
                final CyNetworkView netView = Cytoscape.getCurrentNetworkView();
 
@@ -318,7 +318,7 @@
                                selectedMap.put(selectedName, selectedNode);
 
                                if (netView != Cytoscape.getNullNetworkView()) {
-                                       final NodeView nv = 
netView.getNodeView(selectedNode);
+                                       final View<CyNode> nv = 
netView.getNodeView(selectedNode);
                                        if (nv != null)
                                                
nv.setSelectedPaint(reverseSelectedNodeColor);
                                }
@@ -327,7 +327,7 @@
                                selectedMap.put(selectedName, selectedEdge);
 
                                if (netView != Cytoscape.getNullNetworkView()) {
-                                       final EdgeView ev = 
netView.getEdgeView(selectedEdge);
+                                       final View<CyEdge> ev = 
netView.getEdgeView(selectedEdge);
                                        if (ev != null)
                                                
ev.setSelectedPaint(reverseSelectedEdgeColor);
                                }
@@ -339,7 +339,7 @@
 
        private void resetObjectColor(int idLocation) {
                final CyNetworkView view = Cytoscape.getCurrentNetworkView();
-               if ((view == Cytoscape.getNullNetworkView()) || (view == null))
+               if (view == null)
                        return;
 
                final int rowCount = dataModel.getRowCount();
@@ -357,14 +357,14 @@
 
                                // Set to the original color
                                if (selectedNode != null) {
-                                       final NodeView nv = 
view.getNodeView(selectedNode);
+                                       final View<CyNode> nv = 
view.getNodeView(selectedNode);
                                        if (nv != null)
                                                
nv.setSelectedPaint(selectedNodeColor);
                                }
                        } else if (objectType == EDGES) {
                                final Edge selectedEdge = 
this.getEdge(objectName);
                                if (selectedEdge != null) {
-                                       final EdgeView ev = 
view.getEdgeView(selectedEdge);
+                                       final View<CyEdge> ev = 
view.getEdgeView(selectedEdge);
                                        if (ev != null)
                                                
ev.setSelectedPaint(selectedEdgeColor);
                                }
@@ -474,19 +474,19 @@
                newSelectionMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
                                public void actionPerformed(final ActionEvent 
e) {
                                        final int idLocation = getIdColumn();
-                                       final Map<String, GraphObject> 
selectedMap = paintNodesAndEdges(idLocation);
+                                       final Map<String, CyTableEntry> 
selectedMap = paintNodesAndEdges(idLocation);
                                        final CyNetwork curNet = 
Cytoscape.getCurrentNetwork();
 
-                                       final List<GraphObject> 
nonSelectedObjects = new ArrayList<GraphObject>();
+                                       final List<CyTableEntry> 
nonSelectedObjects = new ArrayList<CyTableEntry>();
 
-                                       GraphObject fromMap;
+                                       CyTableEntry fromMap;
 
                                        if (objectType == NODES) {
                                                for (Object curNode : 
curNet.getSelectedNodes()) {
                                                        fromMap = 
selectedMap.get(((Node) curNode).getIdentifier());
 
                                                        if (fromMap == null) {
-                                                               
nonSelectedObjects.add((GraphObject) curNode);
+                                                               
nonSelectedObjects.add((CyTableEntry) curNode);
                                                        }
                                                }
 
@@ -497,7 +497,7 @@
                                                        fromMap = 
selectedMap.get(((Edge) curEdge).getIdentifier());
 
                                                        if (fromMap == null) {
-                                                               
nonSelectedObjects.add((GraphObject) curEdge);
+                                                               
nonSelectedObjects.add((CyTableEntry) curEdge);
                                                        }
                                                }
 
@@ -1143,9 +1143,9 @@
                                return;
                }
 
-               final List<GraphObject> selectedGraphObjects = 
tableModel.getObjects();
+               final List<CyTableEntry> selectedCyTableEntries = 
tableModel.getObjects();
                final StringBuilder errorMessage = new StringBuilder();
-               for (final GraphObject graphObject : selectedGraphObjects)
+               for (final CyTableEntry graphObject : selectedCyTableEntries)
                        CyAttributesUtils.copyAttribute(attribs, rowId, 
graphObject.getIdentifier(),
                                                        attribName, /* 
copyEquation = */ false, errorMessage);
                tableModel.updateColumn(attribs.getAttribute(rowId, 
attribName), tableColumn, tableRow);
@@ -1169,9 +1169,9 @@
                                return;
                }
 
-               final List<GraphObject> selectedGraphObjects = 
tableModel.getObjects();
+               final List<CyTableEntry> selectedCyTableEntries = 
tableModel.getObjects();
                final StringBuilder errorMessage = new StringBuilder();
-               for (final GraphObject graphObject : selectedGraphObjects)
+               for (final CyTableEntry graphObject : selectedCyTableEntries)
                        CyAttributesUtils.copyAttribute(attribs, rowId, 
graphObject.getIdentifier(),
                                                        attribName, /* 
copyEquation = */ true, errorMessage);
                final Equation equation = attribs.getEquation(rowId, 
attribName);
@@ -1401,7 +1401,7 @@
                        
tableModel.setSelectedColor(CyAttributeBrowserTable.SELECTED_NODE);
                        
tableModel.setSelectedColor(CyAttributeBrowserTable.REV_SELECTED_NODE);
 
-                       tableModel.setTableData(new 
ArrayList<GraphObject>(Cytoscape.getCurrentNetwork()
+                       tableModel.setTableData(new 
ArrayList<CyTableEntry>(Cytoscape.getCurrentNetwork()
                                                                                
    .getSelectedNodes()), null);
                } else if ((objectType == EDGES)
                           && ((event.getTargetType() == 
SelectEvent.SINGLE_EDGE)
@@ -1410,7 +1410,7 @@
                        // edge selection
                        
tableModel.setSelectedColor(CyAttributeBrowserTable.SELECTED_EDGE);
                        
tableModel.setSelectedColor(CyAttributeBrowserTable.REV_SELECTED_EDGE);
-                       tableModel.setTableData(new 
ArrayList<GraphObject>(Cytoscape.getCurrentNetwork()
+                       tableModel.setTableData(new 
ArrayList<CyTableEntry>(Cytoscape.getCurrentNetwork()
                                                                                
    .getSelectedEdges()), null);
                }
 

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