Author: mes
Date: 2012-04-17 14:10:50 -0700 (Tue, 17 Apr 2012)
New Revision: 28864

Added:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NamedTaskFactory.java
Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/StaticTaskFactoryProvisioner.java
Log:
Added some code so that task factories without proper metadata could be easily 
identified.

Added: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NamedTaskFactory.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NamedTaskFactory.java
                               (rev 0)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NamedTaskFactory.java
       2012-04-17 21:10:50 UTC (rev 28864)
@@ -0,0 +1,10 @@
+
+package org.cytoscape.ding.impl;
+
+import org.cytoscape.work.TaskFactory;
+
+// This interface allows us to provide the actual TaskFactory name
+// of TaskFactories without the proper service metadata (e.g. title).
+public interface NamedTaskFactory extends TaskFactory {
+       String getName();
+}

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
        2012-04-17 21:10:18 UTC (rev 28863)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
        2012-04-17 21:10:50 UTC (rev 28864)
@@ -103,8 +103,8 @@
 
                                for ( EdgeViewTaskFactory evtf : usableTFs ) {
                                        Object context = null;
-                                       TaskFactory provisioner = 
factoryProvisioner.createFor(evtf, ev, m_view);
-                                       createMenuItem(ev, menu, provisioner, 
context, tracker, m_view.edgeViewTFs.get(evtf) );
+                                       NamedTaskFactory provisioner = 
factoryProvisioner.createFor(evtf, ev, m_view);
+                                       addMenuItem(ev, menu, provisioner, 
context, tracker, m_view.edgeViewTFs.get(evtf) );
                                }
                                
                                for (CyEdgeViewContextMenuFactory edgeCMF: 
m_view.cyEdgeViewContextMenuFactory.keySet())
@@ -135,8 +135,8 @@
 
                                for ( NodeViewTaskFactory nvtf : usableTFs ) {
                                        Object context = null;
-                                       TaskFactory provisioner = 
factoryProvisioner.createFor(nvtf, nv, m_view);
-                                       createMenuItem(nv, menu, provisioner, 
context, tracker, m_view.nodeViewTFs.get( nvtf ));
+                                       NamedTaskFactory provisioner = 
factoryProvisioner.createFor(nvtf, nv, m_view);
+                                       addMenuItem(nv, menu, provisioner, 
context, tracker, m_view.nodeViewTFs.get( nvtf ));
                                }
 
                                for (CyNodeViewContextMenuFactory nodeVMF: 
m_view.cyNodeViewContextMenuFactory.keySet())
@@ -162,14 +162,14 @@
                
                Collection<NetworkViewTaskFactory> usableTFs = 
getPreferredActions(m_view.emptySpaceTFs,action);
                for ( NetworkViewTaskFactory nvtf : usableTFs ) {
-                       TaskFactory provisioner = 
factoryProvisioner.createFor(nvtf, m_view);
-                       createMenuItem(null, menu, provisioner, null, tracker, 
m_view.emptySpaceTFs.get( nvtf ) );
+                       NamedTaskFactory provisioner = 
factoryProvisioner.createFor(nvtf, m_view);
+                       addMenuItem(null, menu, provisioner, null, tracker, 
m_view.emptySpaceTFs.get( nvtf ) );
                }
                
                Collection<NetworkViewLocationTaskFactory> usableTFs2 = 
getPreferredActions(m_view.networkViewLocationTfs,action);
                for ( NetworkViewLocationTaskFactory nvltf : usableTFs2 ) {
-                       TaskFactory provisioner = 
factoryProvisioner.createFor(nvltf, m_view, rawPt, xformPt);
-                       createMenuItem(null, menu, provisioner, null, tracker, 
m_view.networkViewLocationTfs.get( nvltf ) );
+                       NamedTaskFactory provisioner = 
factoryProvisioner.createFor(nvltf, m_view, rawPt, xformPt);
+                       addMenuItem(null, menu, provisioner, null, tracker, 
m_view.networkViewLocationTfs.get( nvltf ) );
                }
                
                menu.show(invoker,(int)(rawPt.getX()), (int)(rawPt.getY()));
@@ -180,7 +180,7 @@
         * "title" and "preferredMenu" keywords, depending on which are present
         * in the service properties.
         */
-       private void createMenuItem(View<?> view, JPopupMenu popup, TaskFactory 
tf, Object tunableContext,
+       private void addMenuItem(View<?> view, JPopupMenu popup, 
NamedTaskFactory tf, Object tunableContext,
                                    JMenuTracker tracker, Map props) {
 
                String title = (String)(props.get("title"));
@@ -234,7 +234,7 @@
 
                // no title and no preferred menu
                if ( title == null && pref == null ) {
-                       title = "Unidentified Task: " + 
Integer.toString(tf.hashCode());
+                       title = "Unidentified Task: " + tf.getName();
                        popup.add( createMenuItem(tf, title, 
useCheckBoxMenuItem, toolTip) );
 
                // title, but no preferred menu

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/StaticTaskFactoryProvisioner.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/StaticTaskFactoryProvisioner.java
   2012-04-17 21:10:18 UTC (rev 28863)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/StaticTaskFactoryProvisioner.java
   2012-04-17 21:10:50 UTC (rev 28864)
@@ -17,9 +17,9 @@
 import org.cytoscape.work.TaskIterator;
 
 public class StaticTaskFactoryProvisioner {
-       public  TaskFactory createFor(final NetworkViewTaskFactory factory, 
CyNetworkView networkView) {
+       public  NamedTaskFactory createFor(final NetworkViewTaskFactory 
factory, CyNetworkView networkView) {
                final Reference<CyNetworkView> reference = new 
WeakReference<CyNetworkView>(networkView);
-               return new TaskFactory() {
+               return new NamedTaskFactory() {
                        public TaskIterator createTaskIterator() {
                                return 
factory.createTaskIterator(reference.get());
                        }
@@ -27,12 +27,16 @@
                        public boolean isReady() {
                                return factory.isReady(reference.get());
                        }
+
+                       public String getName() {
+                               return factory.getClass().getSimpleName();
+                       }
                };
        }
        
-       public  TaskFactory createFor(final NetworkViewLocationTaskFactory 
factory, CyNetworkView networkView, final Point2D point, final Point2D 
transformedPoint) {
+       public  NamedTaskFactory createFor(final NetworkViewLocationTaskFactory 
factory, CyNetworkView networkView, final Point2D point, final Point2D 
transformedPoint) {
                final Reference<CyNetworkView> reference = new 
WeakReference<CyNetworkView>(networkView);
-               return new TaskFactory() {
+               return new NamedTaskFactory() {
                        public TaskIterator createTaskIterator() {
                                return 
factory.createTaskIterator(reference.get(), point, transformedPoint);
                        }
@@ -40,13 +44,17 @@
                        public boolean isReady() {
                                return factory.isReady(reference.get(), point, 
transformedPoint);
                        }
+
+                       public String getName() {
+                               return factory.getClass().getSimpleName();
+                       }
                };
        }
        
-       public  TaskFactory createFor(final NodeViewTaskFactory factory, 
View<CyNode> nodeView, CyNetworkView networkView) {
+       public  NamedTaskFactory createFor(final NodeViewTaskFactory factory, 
View<CyNode> nodeView, CyNetworkView networkView) {
                final Reference<View<CyNode>> nodeReference = new 
WeakReference<View<CyNode>>(nodeView);
                final Reference<CyNetworkView> networkReference = new 
WeakReference<CyNetworkView>(networkView);
-               return new TaskFactory() {
+               return new NamedTaskFactory() {
                        public TaskIterator createTaskIterator() {
                                return 
factory.createTaskIterator(nodeReference.get(), networkReference.get());
                        }
@@ -54,13 +62,17 @@
                        public boolean isReady() {
                                return factory.isReady(nodeReference.get(), 
networkReference.get());
                        }
+
+                       public String getName() {
+                               return factory.getClass().getSimpleName();
+                       }
                };
        }
 
-       public  TaskFactory createFor(final EdgeViewTaskFactory factory, 
View<CyEdge> edgeView, CyNetworkView networkView) {
+       public  NamedTaskFactory createFor(final EdgeViewTaskFactory factory, 
View<CyEdge> edgeView, CyNetworkView networkView) {
                final Reference<View<CyEdge>> edgeReference = new 
WeakReference<View<CyEdge>>(edgeView);
                final Reference<CyNetworkView> networkReference = new 
WeakReference<CyNetworkView>(networkView);
-               return new TaskFactory() {
+               return new NamedTaskFactory() {
                        public TaskIterator createTaskIterator() {
                                return 
factory.createTaskIterator(edgeReference.get(), networkReference.get());
                        }
@@ -68,6 +80,10 @@
                        public boolean isReady() {
                                return factory.isReady(edgeReference.get(), 
networkReference.get());
                        }
+
+                       public String getName() {
+                               return factory.getClass().getSimpleName();
+                       }
                };
        
        }

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