Author: mes
Date: 2010-08-18 14:25:11 -0700 (Wed, 18 Aug 2010)
New Revision: 21454

Modified:
   cytoscape3/trunk/application/pom.xml
   
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectEdgeViewUpdater.java
   
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectNodeViewUpdater.java
   
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectRegisterListener.java
   
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkPanel.java
   
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java
   cytoscape3/trunk/application/src/main/java/cytoscape/view/ViewUpdater.java
   
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context.xml
Log:
updated to use RowSetMicroListener instead of CyRowListener

Modified: cytoscape3/trunk/application/pom.xml
===================================================================
--- cytoscape3/trunk/application/pom.xml        2010-08-18 17:41:32 UTC (rev 
21453)
+++ cytoscape3/trunk/application/pom.xml        2010-08-18 21:25:11 UTC (rev 
21454)
@@ -101,6 +101,11 @@
                        <artifactId>swing-util</artifactId>
                        <version>1.0-SNAPSHOT</version>
                </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>service-util</artifactId>
+                       <version>1.0-SNAPSHOT</version>
+               </dependency>
 
        </dependencies>
        <build>

Modified: 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectEdgeViewUpdater.java
===================================================================
--- 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectEdgeViewUpdater.java
     2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectEdgeViewUpdater.java
     2010-08-18 21:25:11 UTC (rev 21454)
@@ -46,6 +46,6 @@
 public class SelectEdgeViewUpdater extends ViewUpdater<CyEdge,Boolean> {
 
        public SelectEdgeViewUpdater(View<CyEdge> ev) {
-               super(ev, EDGE_SELECTED, "selected");
+               super(ev, EDGE_SELECTED, ev.getModel().attrs(), "selected");
        }
 }

Modified: 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectNodeViewUpdater.java
===================================================================
--- 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectNodeViewUpdater.java
     2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectNodeViewUpdater.java
     2010-08-18 21:25:11 UTC (rev 21454)
@@ -46,6 +46,6 @@
 public class SelectNodeViewUpdater extends ViewUpdater<CyNode,Boolean> {
 
        public SelectNodeViewUpdater(View<CyNode> nv) {
-               super(nv, NODE_SELECTED, "selected");
+               super(nv, NODE_SELECTED, nv.getModel().attrs(), "selected");
        }
 }

Modified: 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectRegisterListener.java
===================================================================
--- 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectRegisterListener.java
    2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/select/SelectRegisterListener.java
    2010-08-18 21:25:11 UTC (rev 21454)
@@ -4,20 +4,31 @@
 
 import org.cytoscape.session.events.NetworkViewAddedListener;
 import org.cytoscape.session.events.NetworkViewAddedEvent;
+import org.cytoscape.model.events.RowSetMicroListener;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.view.model.View;
 import org.cytoscape.view.model.CyNetworkView;
 
+import org.cytoscape.service.util.CyServiceRegistrar;
+
+import java.util.Properties;
+
 public class SelectRegisterListener implements NetworkViewAddedListener {
 
+       private CyServiceRegistrar registrar;
+
+       public SelectRegisterListener(CyServiceRegistrar registrar) {
+               this.registrar = registrar;
+       }
+
        public void handleEvent(NetworkViewAddedEvent e) {
                CyNetworkView view = e.getNetworkView();
 
                for ( View<CyNode> nv : view.getNodeViews() )
-                       nv.getModel().attrs().addRowListener( new 
SelectNodeViewUpdater(nv) );
+                       registrar.registerService( new 
SelectNodeViewUpdater(nv), RowSetMicroListener.class, new Properties() );
 
                for ( View<CyEdge> ev : view.getEdgeViews() ) 
-                       ev.getModel().attrs().addRowListener( new 
SelectEdgeViewUpdater(ev) );
+                       registrar.registerService( new 
SelectEdgeViewUpdater(ev), RowSetMicroListener.class, new Properties() );
        }
 }

Modified: 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkPanel.java
===================================================================
--- 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkPanel.java
        2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkPanel.java
        2010-08-18 21:25:11 UTC (rev 21454)
@@ -48,6 +48,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
+import java.util.Properties;
 
 import javax.swing.Action;
 import javax.swing.InputMap;
@@ -69,7 +70,7 @@
 
 import org.cytoscape.model.CyDataTableUtil;
 import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyRowListener;
+import org.cytoscape.model.events.RowSetMicroListener;
 import org.cytoscape.model.events.SelectedEdgesEvent;
 import org.cytoscape.model.events.SelectedEdgesListener;
 import org.cytoscape.model.events.SelectedNodesEvent;
@@ -103,6 +104,7 @@
 import org.cytoscape.util.swing.AbstractTreeTableModel;
 import org.cytoscape.util.swing.JTreeTable;
 import org.cytoscape.util.swing.TreeTableModel;
+import org.cytoscape.service.util.CyServiceRegistrar;
 import cytoscape.view.CyAction;
 
 import cytoscape.internal.task.NetworkViewTaskFactoryTunableAction;
@@ -133,7 +135,8 @@
        private Map<TaskFactory,JMenuItem> popupMap;
        private Map<TaskFactory,CyAction> popupActions;
        private final TunableInterceptor tunableInterceptor;
-       private Map<CyNetwork,CyRowListener> nameListeners;
+       private CyServiceRegistrar registrar;
+       private Map<CyNetwork, RowSetMicroListener> nameListeners;
 
 
        /**
@@ -143,11 +146,13 @@
         */
        public NetworkPanel( final CyNetworkManager netmgr, final 
BirdsEyeViewHandler bird,
                        final TaskManager taskManager,
-                       final TunableInterceptor tunableInterceptor) {
+                       final TunableInterceptor tunableInterceptor,
+                       final CyServiceRegistrar registrar) {
                super();
                this.netmgr = netmgr;
                this.taskManager = taskManager;
                this.tunableInterceptor = tunableInterceptor;
+               this.registrar = registrar;
 
                root = new NetworkTreeNode("Network Root", 0L);
                treeTableModel = new NetworkTreeTableModel(root);
@@ -155,7 +160,7 @@
                initialize();
                setNavigator(bird.getBirdsEyeView());
                currentNetId = null;
-               nameListeners = new HashMap<CyNetwork,CyRowListener>();
+               nameListeners = new HashMap<CyNetwork,RowSetMicroListener>();
 
                /*
                 * Remove CTR-A for enabling select all function in the main 
window.
@@ -347,14 +352,22 @@
                System.out.println("NetworkPanel: network about to be destroyed 
"
                                + nde.getNetwork().getSUID());
                removeNetwork(nde.getNetwork().getSUID());
-               nameListeners.remove(nde.getNetwork());
+               RowSetMicroListener rsml = 
nameListeners.remove(nde.getNetwork());
+               if ( rsml != null )
+                       registrar.unregisterService( rsml, 
RowSetMicroListener.class ); 
        }
 
        public void handleEvent(NetworkAddedEvent e) {
                System.out.println("NetworkPanel: network added "
                                + e.getNetwork().getSUID());
                addNetwork(e.getNetwork().getSUID(), -1l);
-               nameListeners.put(e.getNetwork(),new 
NetworkNameListener(e.getNetwork()));
+               RowSetMicroListener rsml = new 
AbstractNetworkNameListener(e.getNetwork()) {
+                       public void updateNetworkName(CyNetwork net, String 
name) {
+                               updateTitle(net,name);
+                       }
+               };
+               registrar.registerService( rsml, RowSetMicroListener.class, new 
Properties() );
+               nameListeners.put(e.getNetwork(),rsml);
        }
 
        public void handleEvent(SetCurrentNetworkViewEvent e) {
@@ -726,17 +739,4 @@
                        }
                }
        }
-
-       private class NetworkNameListener implements CyRowListener {
-               private CyNetwork net;
-               public NetworkNameListener(CyNetwork net) {
-                       this.net = net;
-                       net.attrs().addRowListener(this);
-               }
-               public void rowSet(String col, Object value) {
-                       if ( "name".equals(col) ) {
-                               updateTitle(net,(String)value);
-                       }
-               }
-       }
 }

Modified: 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java
===================================================================
--- 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java
  2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/java/cytoscape/internal/view/NetworkViewManager.java
  2010-08-18 21:25:11 UTC (rev 21454)
@@ -50,7 +50,7 @@
 import javax.swing.event.InternalFrameListener;
 
 import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyRowListener;
+import org.cytoscape.model.events.RowSetMicroListener;
 import org.cytoscape.session.CyNetworkManager;
 import org.cytoscape.session.events.NetworkViewAboutToBeDestroyedEvent;
 import org.cytoscape.session.events.NetworkViewAboutToBeDestroyedListener;
@@ -64,6 +64,8 @@
 import org.cytoscape.view.presentation.RenderingEngine;
 import org.cytoscape.view.presentation.RenderingEngineFactory;
 
+import org.cytoscape.service.util.CyServiceRegistrar;
+
 import cytoscape.view.CyHelpBroker;
 
 /**
@@ -102,7 +104,8 @@
        //TODO: for now, use this as default.  But in the future, we should 
provide UI to select presentation.
        private static final String DEFAULT_PRESENTATION = "ding";
 
-       private Map<CyNetwork,CyRowListener> nameListeners;
+       private Map<CyNetwork,RowSetMicroListener> nameListeners;
+       private CyServiceRegistrar registrar;
        
        
        /**
@@ -112,11 +115,12 @@
         *            DOCUMENT ME!
         */
        public NetworkViewManager(CyNetworkManager netmgr, Properties props,
-                       CyHelpBroker help) {
+                       CyHelpBroker help, CyServiceRegistrar registrar) {
                this.factories = new HashMap<String, 
RenderingEngineFactory<CyNetwork>>();
                
                this.netmgr = netmgr;
                this.props = props;
+               this.registrar = registrar;
                desktopPane = new JDesktopPane();
 
                // add Help hooks
@@ -128,7 +132,7 @@
                componentMap = new HashMap<JInternalFrame, Long>();
                currentViewId = null;
 
-               nameListeners = new HashMap<CyNetwork,CyRowListener>();
+               nameListeners = new HashMap<CyNetwork,RowSetMicroListener>();
        }
        
        
@@ -351,7 +355,9 @@
                }
 
                networkViewMap.remove(view.getModel().getSUID());
-               nameListeners.remove(view.getModel());
+               RowSetMicroListener rsml = 
nameListeners.remove(view.getModel());
+               if ( rsml != null )
+                       registrar.unregisterService(rsml, 
RowSetMicroListener.class);
        }
 
        /**
@@ -431,19 +437,13 @@
 
                updateNetworkTitle( view.getModel() );  
 
-               nameListeners.put(view.getModel(), new 
NetworkNameListener(view.getModel()) );
+               RowSetMicroListener rsml = new AbstractNetworkNameListener( 
view.getModel() ) {
+                       public void updateNetworkName(CyNetwork net, String 
name) {
+                updateNetworkTitle(net);
+                       }
+               };
+               
+               registrar.registerService( rsml, RowSetMicroListener.class, new 
Properties() );
+               nameListeners.put(view.getModel(), rsml );
        }
-
-    private class NetworkNameListener implements CyRowListener {
-        private CyNetwork net;
-        public NetworkNameListener(CyNetwork net) {
-            this.net = net;
-            net.attrs().addRowListener(this);
-        }
-        public void rowSet(String col, Object value) {
-            if ( "name".equals(col) ) {
-                updateNetworkTitle(net);
-            }
-        }
-    }
 }

Modified: 
cytoscape3/trunk/application/src/main/java/cytoscape/view/ViewUpdater.java
===================================================================
--- cytoscape3/trunk/application/src/main/java/cytoscape/view/ViewUpdater.java  
2010-08-18 17:41:32 UTC (rev 21453)
+++ cytoscape3/trunk/application/src/main/java/cytoscape/view/ViewUpdater.java  
2010-08-18 21:25:11 UTC (rev 21454)
@@ -37,27 +37,32 @@
 
 import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.model.View;
-import org.cytoscape.model.CyRowListener;
+import org.cytoscape.model.CyRow;
+import org.cytoscape.model.events.RowSetMicroListener;
 
-public class ViewUpdater<T,S> implements CyRowListener {
+public class ViewUpdater<T,S> implements RowSetMicroListener {
 
-       protected View<T> view;
-       protected VisualProperty<S> vp;
-       protected String colName;
+       protected final CyRow row; 
+       protected final View<T> view;
+       protected final VisualProperty<S> vp;
+       protected final String columnName;
 
-       public ViewUpdater(View<T> view,VisualProperty<S> vp, String colName) {
+       public ViewUpdater(View<T> view, VisualProperty<S> vp, CyRow row, 
String columnName) {
                this.view = view;
                this.vp = vp;
-               this.colName = colName;
+               this.row = row;
+               this.columnName = columnName;
        }
 
-//     @SuppressWarning("unchecked")
-       public void rowSet(String columnName, Object o) {
-               if ( columnName == null || !columnName.equals(colName) )
+       public Object getEventSource() {
+               return row.getDataTable();
+       }
+
+       public void handleRowSet(CyRow row, String columnName, Object value) {
+               if ( row == null || row != this.row || 
+                    columnName == null || !columnName.equals(this.columnName) )
                        return;
 
-//             if ( o instanceof vp.getType() ) {
-                       view.setVisualProperty(vp, (S)o);
-//             }
+               view.setVisualProperty(vp, (S)value);
        }
 }

Modified: 
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context-osgi.xml
     2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context-osgi.xml
     2010-08-18 21:25:11 UTC (rev 21454)
@@ -17,7 +17,10 @@
 
        <osgi:reference id="taskManagerServiceRef" 
interface="org.cytoscape.work.TaskManager" />
 
+       <osgi:reference id="cyServiceRegistrarServiceRef" 
+             interface="org.cytoscape.service.util.CyServiceRegistrar" />
 
+
        <!-- Rendering Engine factory for main network views -->
        <osgi:reference id="dingPresentationFactoryServiceRef"
                
interface="org.cytoscape.view.presentation.RenderingEngineFactory"

Modified: 
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context.xml
  2010-08-18 17:41:32 UTC (rev 21453)
+++ 
cytoscape3/trunk/application/src/main/resources/META-INF/spring/bundle-context.xml
  2010-08-18 21:25:11 UTC (rev 21454)
@@ -79,6 +79,7 @@
                <constructor-arg ref="cyNetworkManagerServiceRef" />
                <constructor-arg ref="cytoscapeProperties" />
                <constructor-arg ref="cyHelpBroker" />
+               <constructor-arg ref="cyServiceRegistrarServiceRef" />
        </bean>
 
        <bean name="birdsEyeViewHandler" 
class="cytoscape.internal.view.BirdsEyeViewHandler">
@@ -92,6 +93,7 @@
                <constructor-arg ref="birdsEyeViewHandler" />
                <constructor-arg ref="taskManagerServiceRef" />
                <constructor-arg ref="tunableInterceptorServiceRef" />
+               <constructor-arg ref="cyServiceRegistrarServiceRef" />
        </bean>
 
 
@@ -237,7 +239,9 @@
                <constructor-arg ref="cytoscapeProperties" />
        </bean>
 
-       <bean id="selectRegisterListener" 
class="cytoscape.internal.select.SelectRegisterListener"/>
+       <bean id="selectRegisterListener" 
class="cytoscape.internal.select.SelectRegisterListener">
+               <constructor-arg ref="cyServiceRegistrarServiceRef" />
+       </bean>
 
 
 </beans>

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