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.