Author: jm
Date: 2011-04-29 15:03:10 -0700 (Fri, 29 Apr 2011)
New Revision: 24858

Added:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
Removed:
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
Modified:
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
   
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
   
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
   
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   core3/table-browser-impl/trunk/pom.xml
   
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Added actions for exporting node and edge attributes
Removed dependencies on table-browser-api
Renamed TableBrowserImpl back to TableBrowser

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
                         (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
 2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,20 @@
+package org.cytoscape.task.internal.exporttable;
+
+import org.cytoscape.io.write.CyTableWriterManager;
+import org.cytoscape.task.AbstractDataTableTaskFactory;
+import org.cytoscape.task.internal.io.CyTableWriter;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportCurrentTableTaskFactory extends 
AbstractDataTableTaskFactory {
+
+       private final CyTableWriterManager writerManager;
+
+       public ExportCurrentTableTaskFactory(CyTableWriterManager 
writerManager) {
+               this.writerManager = writerManager;
+       }
+       
+       @Override
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new CyTableWriter(writerManager, 
table));
+       }
+}


Property changes on: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
                            (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
    2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,23 @@
+package org.cytoscape.task.internal.exporttable;
+
+import org.cytoscape.io.write.CyTableWriterManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.task.AbstractNetworkViewTaskFactory;
+import org.cytoscape.task.internal.io.CyTableWriter;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportEdgeTableTaskFactory extends AbstractNetworkViewTaskFactory 
{
+
+       private final CyTableWriterManager writerManager;
+
+       public ExportEdgeTableTaskFactory(CyTableWriterManager writerManager) {
+               this.writerManager = writerManager;
+       }
+       
+       @Override
+       public TaskIterator getTaskIterator() {
+               CyTable table = view.getModel().getDefaultEdgeTable();
+               return new TaskIterator(new CyTableWriter(writerManager, 
table));
+       }
+
+}


Property changes on: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
                            (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
    2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,23 @@
+package org.cytoscape.task.internal.exporttable;
+
+import org.cytoscape.io.write.CyTableWriterManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.task.AbstractNetworkViewTaskFactory;
+import org.cytoscape.task.internal.io.CyTableWriter;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportNodeTableTaskFactory extends AbstractNetworkViewTaskFactory 
{
+
+       private final CyTableWriterManager writerManager;
+
+       public ExportNodeTableTaskFactory(CyTableWriterManager writerManager) {
+               this.writerManager = writerManager;
+       }
+       
+       @Override
+       public TaskIterator getTaskIterator() {
+               CyTable table = view.getModel().getDefaultNodeTable();
+               return new TaskIterator(new CyTableWriter(writerManager, 
table));
+       }
+
+}


Property changes on: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-04-29 22:03:10 UTC (rev 24858)
@@ -72,6 +72,8 @@
 
        <osgi:reference id="cyLayoutsServiceRef" 
interface="org.cytoscape.view.layout.CyLayouts" />
 
+       <osgi:reference id="cyTableWriterManagerRef" 
interface="org.cytoscape.io.write.CyTableWriterManager" />
+       
        <!-- now register our services -->
        <osgi:service id="loadNetworkFileTaskFactoryService" 
ref="loadNetworkFileTaskFactory"
                interface="org.cytoscape.work.TaskFactory">
@@ -511,6 +513,26 @@
                </osgi:service-properties>
        </osgi:service>
 
+       <osgi:service id="exportNodeTableTaskFactoryService" 
ref="exportNodeTableTaskFactory"
+               interface="org.cytoscape.task.NetworkViewTaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="File..." />
+                       <entry key="preferredMenu" value="File.Export.Node 
Attributes" />
+                       <entry key="enableFor" value="networkAndView" />
+                       <entry key="menuGravity" value="1.0" />
+               </osgi:service-properties>
+       </osgi:service>
+       
+       <osgi:service id="exportEdgeTableTaskFactoryService" 
ref="exportEdgeTableTaskFactory"
+               interface="org.cytoscape.task.NetworkViewTaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="File..." />
+                       <entry key="preferredMenu" value="File.Export.Edge 
Attributes" />
+                       <entry key="enableFor" value="networkAndView" />
+                       <entry key="menuGravity" value="1.1" />
+               </osgi:service-properties>
+       </osgi:service>
+
        <!-- consider removing -->
        <!-- useful for command line, but not otherwise <osgi:service 
id="setCurrentNetworkTaskFactoryService" 
                ref="setCurrentNetworkTaskFactory" 
interface="org.cytoscape.work.TaskFactory"/> -->

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-04-29 22:03:10 UTC (rev 24858)
@@ -293,6 +293,21 @@
                <constructor-arg ref="networkViewWriterManagerServiceRef" />
        </bean>
 
+       <bean id="exportNodeTableTaskFactory"
+               
class="org.cytoscape.task.internal.exporttable.ExportNodeTableTaskFactory">
+               <constructor-arg ref="cyTableWriterManagerRef" />
+       </bean>
+
+       <bean id="exportEdgeTableTaskFactory"
+               
class="org.cytoscape.task.internal.exporttable.ExportEdgeTableTaskFactory">
+               <constructor-arg ref="cyTableWriterManagerRef" />
+       </bean>
+
+       <bean id="exportCurrentTableTaskFactory"
+               
class="org.cytoscape.task.internal.exporttable.ExportCurrentTableTaskFactory">
+               <constructor-arg ref="cyTableWriterManagerRef" />
+       </bean>
+       
        <bean id="applyPreferredLayoutTaskFactory"
                
class="org.cytoscape.task.internal.layout.ApplyPreferredLayoutTaskFactory">
                <constructor-arg ref="cyLayoutsServiceRef" />

Modified: 
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
===================================================================
--- 
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
       2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
       2011-04-29 22:03:10 UTC (rev 24858)
@@ -34,6 +34,7 @@
 import java.util.Set;
 
 import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyTable;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.presentation.RenderingEngine;
 
@@ -106,4 +107,15 @@
         * @param engine The rendering engine that should be made current.
         */
        public void setCurrentRenderingEngine(final RenderingEngine<CyNetwork> 
engine);
+
+       /**
+        * Returns the currently active table.
+        */
+       public CyTable getCurrentTable();
+       
+       /**
+        * Sets the currently active table.
+        * @param table The table that should be made current.
+        */
+       public void setCurrentTable(CyTable table);
 }

Modified: 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
===================================================================
--- 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
 2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
 2011-04-29 22:03:10 UTC (rev 24858)
@@ -37,6 +37,7 @@
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTable;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
 import org.cytoscape.session.CyApplicationManager;
@@ -73,6 +74,8 @@
     private CyNetworkView currentNetworkView;
     private RenderingEngine<CyNetwork> currentRenderer;
 
+       private CyTable currentTable;
+
     /**
      * 
      * @param cyEventHelper
@@ -281,4 +284,14 @@
        cyEventHelper.fireSynchronousEvent(new 
SetCurrentRenderingEngineEvent(this, this.currentRenderer));
 
     }
+    
+    @Override
+    public CyTable getCurrentTable() {
+       return currentTable;
+    }
+    
+    @Override
+    public void setCurrentTable(CyTable table) {
+       currentTable = table;
+    }
 }

Added: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
                             (rev 0)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
     2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,24 @@
+package org.cytoscape.internal.task;
+
+import java.awt.event.ActionEvent;
+import java.util.Map;
+
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.task.DataTableTaskFactory;
+import org.cytoscape.work.TaskManager;
+
+public class TableTaskFactoryTunableAction extends 
TaskFactoryTunableAction<DataTableTaskFactory>{
+       
+       public TableTaskFactoryTunableAction(
+                       TaskManager manager,
+                       DataTableTaskFactory factory, 
@SuppressWarnings("rawtypes") Map serviceProps,
+                       final CyApplicationManager applicationManager) {
+               super(manager, factory, serviceProps, applicationManager);
+       }
+
+       public void actionPerformed(ActionEvent a) {
+               factory.setDataTable(applicationManager.getCurrentTable());
+               super.actionPerformed(a);
+       }
+
+}


Property changes on: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
    2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
    2011-04-29 22:03:10 UTC (rev 24858)
@@ -31,32 +31,29 @@
 
 
 
-import org.cytoscape.session.CyApplicationManager;
-import org.cytoscape.view.model.CyNetworkViewManager;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.cytoscape.application.swing.CyAction;
 import org.cytoscape.application.swing.CySwingApplication;
 import org.cytoscape.internal.task.CytoPanelTaskFactoryTunableAction;
-import org.cytoscape.internal.task.TaskFactoryTunableAction;
 import org.cytoscape.internal.task.NetworkCollectionTaskFactoryTunableAction;
 import org.cytoscape.internal.task.NetworkTaskFactoryTunableAction;
 import 
org.cytoscape.internal.task.NetworkViewCollectionTaskFactoryTunableAction;
 import org.cytoscape.internal.task.NetworkViewTaskFactoryTunableAction;
-
-
-import java.util.Map;
-import java.util.HashMap;
-
+import org.cytoscape.internal.task.TableTaskFactoryTunableAction;
+import org.cytoscape.internal.task.TaskFactoryTunableAction;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.task.DataTableTaskFactory;
+import org.cytoscape.task.NetworkCollectionTaskFactory;
+import org.cytoscape.task.NetworkTaskFactory;
+import org.cytoscape.task.NetworkViewCollectionTaskFactory;
+import org.cytoscape.task.NetworkViewTaskFactory;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.swing.GUITaskManager;
 
-import org.cytoscape.task.NetworkTaskFactory;
-import org.cytoscape.task.NetworkViewTaskFactory;
-import org.cytoscape.task.NetworkCollectionTaskFactory;
-import org.cytoscape.task.NetworkViewCollectionTaskFactory;
-import org.cytoscape.service.util.CyServiceRegistrar;
 
-
 /**
  * Creates the menu and tool bars for a Cytoscape window object. It
  * also provides access to individual menus and items.<BR>
@@ -132,6 +129,14 @@
                removeFactory(factory, props);
        }
        
+       public void addTableTaskFactory(DataTableTaskFactory factory, Map 
props) {
+               addFactory(new TableTaskFactoryTunableAction(taskManager, 
factory, props, appManager), factory, props);
+       }
+       
+       public void removeTableTaskFactory(DataTableTaskFactory factory, Map 
props) {
+               removeFactory(factory, props);
+       }
+       
        private <F extends TaskFactory> void addFactory(CyAction action, F 
factory, Map props) {
                taskMap.put(factory,action);
                app.addAction(action);

Modified: 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2011-04-29 22:03:10 UTC (rev 24858)
@@ -77,8 +77,7 @@
        <osgi:reference id="cyServiceRegistrarServiceRef"
                interface="org.cytoscape.service.util.CyServiceRegistrar">
        </osgi:reference>
-
-
+       
        <!-- define services that application provides -->
 
        <!-- <osgi:service id="proxyHandlerService" ref="proxyHandler"> -->
@@ -182,6 +181,13 @@
                        unbind-method="removeNetworkViewCollectionTaskFactory" 
ref="cytoscapeMenuPopulator" />
        </osgi:set>
 
+       <osgi:set id="tableTaskFactorySet"
+               interface="org.cytoscape.task.DataTableTaskFactory"
+               cardinality="0..N">
+               <osgi:listener bind-method="addTableTaskFactory"
+                       unbind-method="removeTableTaskFactory" 
ref="cytoscapeMenuPopulator" />
+       </osgi:set>
+
        <!-- presentation factory -->
        <osgi:set id="presentationFactorySet"
                
interface="org.cytoscape.view.presentation.RenderingEngineFactory"

Modified: core3/table-browser-impl/trunk/pom.xml
===================================================================
--- core3/table-browser-impl/trunk/pom.xml      2011-04-29 20:28:52 UTC (rev 
24857)
+++ core3/table-browser-impl/trunk/pom.xml      2011-04-29 22:03:10 UTC (rev 
24858)
@@ -159,8 +159,8 @@
                </dependency>
                <dependency>
                        <groupId>org.cytoscape</groupId>
-                       <artifactId>table-browser-api</artifactId>
-                       <version>3.0.0-alpha2-SNAPSHOT</version>
+                       <artifactId>session-api</artifactId>
+                       <version>3.0.0-alpha3-SNAPSHOT</version>
                </dependency>
        </dependencies>
 </project>

Copied: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
 (from rev 24841, 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java)
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
                               (rev 0)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
       2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,184 @@
+package org.cytoscape.browser.internal;
+
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.swing.Icon;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+import javax.swing.table.TableRowSorter;
+
+import org.cytoscape.application.swing.CytoPanelComponent;
+import org.cytoscape.application.swing.CytoPanelName;
+import org.cytoscape.browser.ui.AttributeBrowserToolBar;
+import org.cytoscape.equations.EquationCompiler;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.model.CyTableRowUpdateService;
+import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
+import org.cytoscape.model.events.TableAboutToBeDeletedListener;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.task.TableTaskFactory;
+import org.cytoscape.util.swing.OpenBrowser;
+import org.cytoscape.view.model.events.NetworkViewAddedEvent;
+import org.cytoscape.view.model.events.NetworkViewAddedListener;
+import org.cytoscape.work.swing.GUITaskManager;
+
+
+@SuppressWarnings("serial")
+public class TableBrowser
+       extends JPanel implements CytoPanelComponent, ActionListener, 
NetworkViewAddedListener, TableAboutToBeDeletedListener
+{
+       private final CyTableManager tableManager;
+       private final CyServiceRegistrar serviceRegistrar;
+       private final EquationCompiler compiler;
+       private final BrowserTable browserTable;
+       private final CyTableRowUpdateService tableRowUpdateService;
+       private final AttributeBrowserToolBar attributeBrowserToolBar;
+       private final TableChooser tableChooser;
+       private BrowserTableModel browserTableModel;
+       private CyTable currentTable;
+       private final TableTaskFactory deleteTableTaskFactoryService;
+       private final GUITaskManager guiTaskManagerServiceRef;
+       private final Map<CyTable, TableMetadata> tableToMetadataMap;
+       private final CyApplicationManager applicationManager;
+
+       TableBrowser(final CyTableManager tableManager, final 
CyServiceRegistrar serviceRegistrar,
+                    final EquationCompiler compiler, final OpenBrowser 
openBrowser,
+                    final CyNetworkManager networkManager,
+                    final CyTableRowUpdateService tableRowUpdateService,
+                    final TableTaskFactory deleteTableTaskFactoryService,
+                    final GUITaskManager guiTaskManagerServiceRef,
+                    final PopupMenuHelper popupMenuHelper,
+                    final CyApplicationManager applicationManager)
+       {
+               this.tableManager = tableManager;
+               this.serviceRegistrar = serviceRegistrar;
+               this.compiler = compiler;
+
+               this.deleteTableTaskFactoryService = 
deleteTableTaskFactoryService;
+               this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
+               this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
+               this.applicationManager = applicationManager;
+
+               this.browserTable = new BrowserTable(openBrowser, compiler, 
popupMenuHelper);
+               this.tableRowUpdateService = tableRowUpdateService;
+               this.attributeBrowserToolBar = new 
AttributeBrowserToolBar(serviceRegistrar, compiler,
+                               this.deleteTableTaskFactoryService, 
this.guiTaskManagerServiceRef);
+               this.setLayout(new BorderLayout());
+
+               browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+
+               tableChooser = new TableChooser(tableManager, networkManager);
+               tableChooser.addActionListener(this);
+               add(tableChooser, BorderLayout.SOUTH);
+               browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
+               add(new JScrollPane(browserTable), BorderLayout.CENTER);
+               add(attributeBrowserToolBar, BorderLayout.NORTH);
+       }
+
+       /**
+        * Returns the Component to be added to the CytoPanel.
+        * @return The Component to be added to the CytoPanel.
+        */
+       public Component getComponent() { return this; }
+
+       /**
+        * Returns the name of the CytoPanel that this component should be 
added to.
+        * @return the name of the CytoPanel that this component should be 
added to.
+        */
+       public CytoPanelName getCytoPanelName() {
+               return CytoPanelName.SOUTH;
+       }
+
+       /**
+        * Returns the title of the tab within the CytoPanel for this component.
+        * @return the title of the tab within the CytoPanel for this component.
+        */
+       public String getTitle() { return "Attribute Browser"; }
+
+       /**
+        * @return null
+        */
+       public Icon getIcon() { return null; }
+
+       public void actionPerformed(final ActionEvent e) {
+               final CyTable table = (CyTable)tableChooser.getSelectedItem();
+
+               if (table == null && table != currentTable) {
+                       if (browserTableModel != null) {
+                               browserTableModel.cleanup();
+                               
serviceRegistrar.unregisterAllServices(browserTableModel);
+                       }
+                       currentTable = null;
+                       browserTableModel = null;
+                       browserTable.setModel(new DefaultTableModel());
+                       attributeBrowserToolBar.setBrowserTableModel(null);
+               }
+
+               if (table != null && table != currentTable) {
+                       if (browserTableModel != null) {
+                               final TableColumnModel columnModel =
+                                       
browserTableModel.getTable().getColumnModel();
+                               tableToMetadataMap.put(currentTable,
+                                                      new 
TableMetadata(columnModel,
+                                                                        
browserTableModel));
+                               browserTableModel.cleanup();
+                               
serviceRegistrar.unregisterAllServices(browserTableModel);
+                       }
+
+                       currentTable = table;
+                       browserTableModel = new BrowserTableModel(browserTable, 
table, compiler,
+                                                                 
tableRowUpdateService);
+                       serviceRegistrar.registerAllServices(browserTableModel, 
new Properties());
+                       browserTable.setModel(browserTableModel);
+                       browserTable.setRowSorter(new 
TableRowSorter(browserTableModel));
+                       
attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
+                       final TableMetadata tableMetadata = 
tableToMetadataMap.get(currentTable);
+                       if (tableMetadata != null) {
+                                final JTable jTable = 
browserTableModel.getTable();
+                                final TableColumnModel columnModel = 
jTable.getColumnModel();
+                                final Iterator<ColumnDescriptor> 
columnDescIter = tableMetadata.getColumnDescriptors();
+                                while (columnDescIter.hasNext()) {
+                                        final ColumnDescriptor desc = 
columnDescIter.next();
+                                        final int savedColumnIndex = 
desc.getColumnIndex();
+                                        final TableColumn tableColumn = 
columnModel.getColumn(savedColumnIndex);
+                                        
tableColumn.setPreferredWidth(desc.getColumnWidth());
+                                        final int currentColumnIndex =
+                                               jTable.convertColumnIndexToView(
+                                                       
browserTableModel.mapColumnNameToColumnIndex(desc.getColumnName()));
+                                        if (currentColumnIndex != 
savedColumnIndex)
+                                                
jTable.moveColumn(currentColumnIndex, savedColumnIndex);
+                               }
+                       }
+               }
+               applicationManager.setCurrentTable(currentTable);
+       }
+
+       public void handleEvent(final NetworkViewAddedEvent e) {
+               final CyTable nodeTable = 
e.getNetworkView().getModel().getDefaultNodeTable();
+               final MyComboBoxModel comboBoxModel = 
(MyComboBoxModel)tableChooser.getModel();
+               comboBoxModel.addAndSetSelectedItem(nodeTable);
+       }
+
+       public void handleEvent(final TableAboutToBeDeletedEvent e) {
+               final CyTable cyTable = e.getTable();
+               final MyComboBoxModel comboBoxModel = 
(MyComboBoxModel)tableChooser.getModel();
+               comboBoxModel.removeItem(cyTable);
+               tableToMetadataMap.remove(cyTable);
+       }
+}
\ No newline at end of file

Deleted: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
   2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
   2011-04-29 22:03:10 UTC (rev 24858)
@@ -1,189 +0,0 @@
-package org.cytoscape.browser.internal;
-
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.swing.JPanel;
-import javax.swing.Icon;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
-import javax.swing.table.TableRowSorter;
-
-import org.cytoscape.browser.TableBrowser;
-import org.cytoscape.browser.ui.AttributeBrowserToolBar;
-import org.cytoscape.equations.EquationCompiler;
-import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.model.CyNetworkManager;
-import org.cytoscape.model.CyTable;
-import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.CyTableRowUpdateService;
-import org.cytoscape.model.events.RowCreatedMicroListener;
-import org.cytoscape.model.events.TableDeletedEvent;
-import org.cytoscape.application.swing.CytoPanelComponent;
-import org.cytoscape.application.swing.CytoPanelName;
-import org.cytoscape.service.util.CyServiceRegistrar;
-import org.cytoscape.util.swing.OpenBrowser;
-import org.cytoscape.view.model.events.NetworkViewAddedEvent;
-import org.cytoscape.view.model.events.NetworkViewAddedListener;
-import org.cytoscape.model.events.TableAboutToBeDeletedListener;
-import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
-import org.cytoscape.task.TableTaskFactory;
-import org.cytoscape.work.swing.GUITaskManager;
-
-
-@SuppressWarnings("serial")
-public class TableBrowserImpl
-       extends JPanel implements CytoPanelComponent, ActionListener, 
NetworkViewAddedListener, TableAboutToBeDeletedListener, TableBrowser
-{
-       private final CyTableManager tableManager;
-       private final CyServiceRegistrar serviceRegistrar;
-       private final EquationCompiler compiler;
-       private final BrowserTable browserTable;
-       private final CyTableRowUpdateService tableRowUpdateService;
-       private final AttributeBrowserToolBar attributeBrowserToolBar;
-       private final TableChooser tableChooser;
-       private BrowserTableModel browserTableModel;
-       private CyTable currentTable;
-       private final TableTaskFactory deleteTableTaskFactoryService;
-       private final GUITaskManager guiTaskManagerServiceRef;
-       private final Map<CyTable, TableMetadata> tableToMetadataMap;
-
-       TableBrowserImpl(final CyTableManager tableManager, final 
CyServiceRegistrar serviceRegistrar,
-                    final EquationCompiler compiler, final OpenBrowser 
openBrowser,
-                    final CyNetworkManager networkManager,
-                    final CyTableRowUpdateService tableRowUpdateService,
-                    final TableTaskFactory deleteTableTaskFactoryService,
-                    final GUITaskManager guiTaskManagerServiceRef,
-                    final PopupMenuHelper popupMenuHelper)
-       {
-               this.tableManager = tableManager;
-               this.serviceRegistrar = serviceRegistrar;
-               this.compiler = compiler;
-
-               this.deleteTableTaskFactoryService = 
deleteTableTaskFactoryService;
-               this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
-               this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
-
-               this.browserTable = new BrowserTable(openBrowser, compiler, 
popupMenuHelper);
-               this.tableRowUpdateService = tableRowUpdateService;
-               this.attributeBrowserToolBar = new 
AttributeBrowserToolBar(serviceRegistrar, compiler,
-                               this.deleteTableTaskFactoryService, 
this.guiTaskManagerServiceRef);
-               this.setLayout(new BorderLayout());
-
-               browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-
-               tableChooser = new TableChooser(tableManager, networkManager);
-               tableChooser.addActionListener(this);
-               add(tableChooser, BorderLayout.SOUTH);
-               browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
-               add(new JScrollPane(browserTable), BorderLayout.CENTER);
-               add(attributeBrowserToolBar, BorderLayout.NORTH);
-       }
-
-       /**
-        * Returns the Component to be added to the CytoPanel.
-        * @return The Component to be added to the CytoPanel.
-        */
-       public Component getComponent() { return this; }
-
-       /**
-        * Returns the name of the CytoPanel that this component should be 
added to.
-        * @return the name of the CytoPanel that this component should be 
added to.
-        */
-       public CytoPanelName getCytoPanelName() {
-               return CytoPanelName.SOUTH;
-       }
-
-       /**
-        * Returns the title of the tab within the CytoPanel for this component.
-        * @return the title of the tab within the CytoPanel for this component.
-        */
-       public String getTitle() { return "Attribute Browser"; }
-
-       /**
-        * @return null
-        */
-       public Icon getIcon() { return null; }
-
-       public void actionPerformed(final ActionEvent e) {
-               final CyTable table = (CyTable)tableChooser.getSelectedItem();
-
-               if (table == null && table != currentTable) {
-                       if (browserTableModel != null) {
-                               browserTableModel.cleanup();
-                               
serviceRegistrar.unregisterAllServices(browserTableModel);
-                       }
-                       currentTable = null;
-                       browserTableModel = null;
-                       browserTable.setModel(new DefaultTableModel());
-                       attributeBrowserToolBar.setBrowserTableModel(null);
-               }
-
-               if (table != null && table != currentTable) {
-                       if (browserTableModel != null) {
-                               final TableColumnModel columnModel =
-                                       
browserTableModel.getTable().getColumnModel();
-                               tableToMetadataMap.put(currentTable,
-                                                      new 
TableMetadata(columnModel,
-                                                                        
browserTableModel));
-                               browserTableModel.cleanup();
-                               
serviceRegistrar.unregisterAllServices(browserTableModel);
-                       }
-
-                       currentTable = table;
-                       browserTableModel = new BrowserTableModel(browserTable, 
table, compiler,
-                                                                 
tableRowUpdateService);
-                       serviceRegistrar.registerAllServices(browserTableModel, 
new Properties());
-                       browserTable.setModel(browserTableModel);
-                       browserTable.setRowSorter(new 
TableRowSorter(browserTableModel));
-                       
attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
-                       final TableMetadata tableMetadata = 
tableToMetadataMap.get(currentTable);
-                       if (tableMetadata != null) {
-                                final JTable jTable = 
browserTableModel.getTable();
-                                final TableColumnModel columnModel = 
jTable.getColumnModel();
-                                final Iterator<ColumnDescriptor> 
columnDescIter = tableMetadata.getColumnDescriptors();
-                                while (columnDescIter.hasNext()) {
-                                        final ColumnDescriptor desc = 
columnDescIter.next();
-                                        final int savedColumnIndex = 
desc.getColumnIndex();
-                                        final TableColumn tableColumn = 
columnModel.getColumn(savedColumnIndex);
-                                        
tableColumn.setPreferredWidth(desc.getColumnWidth());
-                                        final int currentColumnIndex =
-                                               jTable.convertColumnIndexToView(
-                                                       
browserTableModel.mapColumnNameToColumnIndex(desc.getColumnName()));
-                                        if (currentColumnIndex != 
savedColumnIndex)
-                                                
jTable.moveColumn(currentColumnIndex, savedColumnIndex);
-                               }
-                       }
-               }
-       }
-
-       public void handleEvent(final NetworkViewAddedEvent e) {
-               final CyTable nodeTable = 
e.getNetworkView().getModel().getDefaultNodeTable();
-               final MyComboBoxModel comboBoxModel = 
(MyComboBoxModel)tableChooser.getModel();
-               comboBoxModel.addAndSetSelectedItem(nodeTable);
-       }
-
-       public void handleEvent(final TableAboutToBeDeletedEvent e) {
-               final CyTable cyTable = e.getTable();
-               final MyComboBoxModel comboBoxModel = 
(MyComboBoxModel)tableChooser.getModel();
-               comboBoxModel.removeItem(cyTable);
-               tableToMetadataMap.remove(cyTable);
-       }
-       
-       @Override
-       public CyTable getCurrentTable() {
-               return currentTable;
-       }
-}
\ No newline at end of file

Modified: 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   2011-04-29 22:03:10 UTC (rev 24858)
@@ -15,6 +15,7 @@
 
         <osgi:reference id="deleteTableTaskFactoryService" 
interface="org.cytoscape.task.TableTaskFactory" />
         <osgi:reference id="guiTaskManagerServiceRef" 
interface="org.cytoscape.work.swing.GUITaskManager" />
+        <osgi:reference id="cyApplicationManagerServiceRef" 
interface="org.cytoscape.session.CyApplicationManager" />
         
        <!-- listeners -->
        <osgi:service id="tableBrowserCytoPanelComponentService" 
ref="tableBrowser">
@@ -22,7 +23,6 @@
                        
<value>org.cytoscape.application.swing.CytoPanelComponent</value>
                         
<value>org.cytoscape.view.model.events.NetworkViewAddedListener</value>
                         
<value>org.cytoscape.model.events.TableAboutToBeDeletedListener</value>
-                        <value>org.cytoscape.browser.TableBrowser</value>
                 </osgi:interfaces>
        </osgi:service>
 

Modified: 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
        2011-04-29 20:28:52 UTC (rev 24857)
+++ 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
        2011-04-29 22:03:10 UTC (rev 24858)
@@ -25,7 +25,7 @@
 
        <context:annotation-config/>
 
-       <bean id="tableBrowser" 
class="org.cytoscape.browser.internal.TableBrowserImpl">
+       <bean id="tableBrowser" 
class="org.cytoscape.browser.internal.TableBrowser">
                <constructor-arg ref="cyTableManagerServiceRef" />
                <constructor-arg ref="cyServiceRegistrarServiceRef" />
                <constructor-arg ref="compilerServiceRef" />
@@ -35,6 +35,7 @@
                <constructor-arg ref="deleteTableTaskFactoryService" />
                <constructor-arg ref="guiTaskManagerServiceRef" />
                <constructor-arg ref="popupMenuHelper" />
+               <constructor-arg ref="cyApplicationManagerServiceRef" />
        </bean>
 
        <bean id="popupMenuHelper" 
class="org.cytoscape.browser.internal.PopupMenuHelper">

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