Differences between revisions 2 and 3
Revision 2 as of 2009-02-12 01:03:04
Size: 1126
Editor: localhost
Comment: converted to 1.6 markup
Revision 3 as of 2011-02-24 16:10:40
Size: 1184
Editor: PietMolenaar
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Cytoscape_3.0/MonitorDiscussion

Monitor Package Discussion

The idea of a Monitor is an extension of the TaskMonitor used in 2.x era Cytoscape. The TaskMonitor interface has worked reasonably well for us. The only real problem has been the pollution of unrelated interfaces with methods to accept TaskMonitor objects.

Use Cases

  • Inform some entity of the status of a task.
  • Allow sub-tasks to inform a parent TaskMonitor of its status.

Design Ideas

Instead of adding TaskMonitor parameters to methods throughout Cytoscape, I propose defining a Monitorable interface:

public interface Monitorable {
   public void setMonitor(TaskMonitor tm);
   public TaskMonitor getMonitor();
}

Any class could them implement this interface to signal that it supports updating TaskMonitor objects. You can imagine code like:

  ...
  CyLayoutAlgorithm layout = getLayout("spring");
  if ( layout instanceof Monitorable )
    (Monitorable)layout.setMonitor(taskMonitor);
  layout.doLayout(view);
  ...

Concerns

  • The TaskMonitor interface itself needs to be updated to support sub-tasks.

Outdated_Cytoscape_3.0/MonitorDiscussion (last edited 2011-02-24 16:10:40 by PietMolenaar)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux