Author: mes
Date: 2012-03-22 15:12:53 -0700 (Thu, 22 Mar 2012)
New Revision: 28622
Added:
core3/api/trunk/core-task-api/src/main/java/org/cytoscape/task/creation/NetworkViewCreator.java
Removed:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTaskFactory.java
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTaskFactory.java
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/CyActivator.java
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/NetworkMergeAction.java
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTask.java
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTask.java
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/NetworkMergeFrame.java
Log:
added a NetworkViewCreator interface and tweaked Network Merge to use it
Added:
core3/api/trunk/core-task-api/src/main/java/org/cytoscape/task/creation/NetworkViewCreator.java
===================================================================
---
core3/api/trunk/core-task-api/src/main/java/org/cytoscape/task/creation/NetworkViewCreator.java
(rev 0)
+++
core3/api/trunk/core-task-api/src/main/java/org/cytoscape/task/creation/NetworkViewCreator.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -0,0 +1,12 @@
+
+package org.cytoscape.task.creation;
+
+
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.work.TaskIterator;
+
+public interface NetworkViewCreator {
+
+ TaskIterator createView(final CyNetwork net);
+
+}
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -40,6 +40,7 @@
import org.cytoscape.task.creation.LoadVisualStyles;
import org.cytoscape.task.creation.NewEmptyNetworkViewFactory;
import org.cytoscape.task.creation.LoadSession;
+import org.cytoscape.task.creation.NetworkViewCreator;
import org.cytoscape.task.internal.creation.CloneNetworkTaskFactory;
import org.cytoscape.task.internal.creation.CreateNetworkViewTaskFactory;
import org.cytoscape.task.internal.creation.NewEmptyNetworkTaskFactory;
@@ -671,6 +672,7 @@
createNetworkViewTaskFactoryProps.setProperty("command","create-view");
createNetworkViewTaskFactoryProps.setProperty("commandNamespace","network");
registerService(bc,createNetworkViewTaskFactory,NetworkTaskFactory.class,
createNetworkViewTaskFactoryProps);
+
registerService(bc,createNetworkViewTaskFactory,NetworkViewCreator.class,
createNetworkViewTaskFactoryProps);
Properties exportNetworkImageTaskFactoryProps = new
Properties();
exportNetworkImageTaskFactoryProps.setProperty("preferredMenu","File.Export.Network
View");
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -33,6 +33,7 @@
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.task.AbstractNetworkTaskFactory;
+import org.cytoscape.task.creation.NetworkViewCreator;
import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
import org.cytoscape.view.model.CyNetworkViewFactory;
import org.cytoscape.view.model.CyNetworkViewManager;
@@ -40,7 +41,7 @@
import org.cytoscape.work.undo.UndoSupport;
-public class CreateNetworkViewTaskFactory extends AbstractNetworkTaskFactory {
+public class CreateNetworkViewTaskFactory extends AbstractNetworkTaskFactory
implements NetworkViewCreator {
private final UndoSupport undoSupport;
private final CyNetworkViewManager networkViewManager;
private final CyNetworkViewFactory viewFactory;
@@ -69,4 +70,8 @@
return new TaskIterator(2, new
CreateNetworkViewTask(undoSupport, network, viewFactory, networkViewManager,
layouts, eventHelper));
}
+
+ public TaskIterator createView(CyNetwork network) {
+ return createTaskIterator(network);
+ }
}
Modified:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/CyActivator.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/CyActivator.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -11,6 +11,7 @@
import org.cytoscape.network.merge.internal.NetworkMergeAction;
import org.cytoscape.application.swing.CyAction;
+import org.cytoscape.task.creation.NetworkViewCreator;
import org.osgi.framework.BundleContext;
@@ -28,11 +29,12 @@
CyNetworkNaming cyNetworkNamingServiceRef =
getService(bc,CyNetworkNaming.class);
CyNetworkFactory cyNetworkFactoryServiceRef =
getService(bc,CyNetworkFactory.class);
+ NetworkViewCreator netViewCreator =
getService(bc,NetworkViewCreator.class);
TaskManager taskManagerServiceRef =
getService(bc,TaskManager.class);
CySwingApplication cySwingApplicationServiceRef =
getService(bc,CySwingApplication.class);
CyNetworkManager cyNetworkManagerServiceRef =
getService(bc,CyNetworkManager.class);
- NetworkMergeAction networkMergeAction = new
NetworkMergeAction(cySwingApplicationServiceRef,cyNetworkManagerServiceRef,cyNetworkFactoryServiceRef,cyNetworkNamingServiceRef,taskManagerServiceRef);
+ NetworkMergeAction networkMergeAction = new
NetworkMergeAction(cySwingApplicationServiceRef,cyNetworkManagerServiceRef,cyNetworkFactoryServiceRef,cyNetworkNamingServiceRef,taskManagerServiceRef,netViewCreator);
registerService(bc,networkMergeAction,CyAction.class, new
Properties());
}
Modified:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/NetworkMergeAction.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/NetworkMergeAction.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/NetworkMergeAction.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -44,6 +44,7 @@
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.session.CyNetworkNaming;
import org.cytoscape.work.TaskManager;
+import org.cytoscape.task.creation.NetworkViewCreator;
import java.awt.event.ActionEvent;
@@ -60,9 +61,11 @@
private final CyNetworkFactory cnf;
private final CyNetworkNaming cnn;
private final TaskManager taskManager;
+ private final NetworkViewCreator netViewCreator;
public NetworkMergeAction(CySwingApplication swingApp, CyNetworkManager
cnm,
- CyNetworkFactory cnf, CyNetworkNaming cnn, TaskManager
taskManager) {
+ CyNetworkFactory cnf, CyNetworkNaming cnn, TaskManager
taskManager,
+ NetworkViewCreator netViewCreator) {
super(APP_MENU_TITLE);
setPreferredMenu(PARENT_MENU);
@@ -71,6 +74,7 @@
this.cnf = cnf;
this.cnn = cnn;
this.taskManager = taskManager;
+ this.netViewCreator = netViewCreator;
}
/**
@@ -79,7 +83,7 @@
@Override
public void actionPerformed(final ActionEvent ae) {
- final NetworkMergeFrame frame = new NetworkMergeFrame(cnm, cnf,
cnn, taskManager);
+ final NetworkMergeFrame frame = new NetworkMergeFrame(cnm, cnf,
cnn, taskManager, netViewCreator);
frame.setLocationRelativeTo(swingApp.getJFrame());
frame.setVisible(true);
// TODO: make this value user-editable (always on top or not).
Modified:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTask.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTask.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTask.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -35,32 +35,27 @@
taskMonitor.setStatusMessage("Handle conflicts.\n\nIt may take
a while.\nPlease wait...");
taskMonitor.setProgress(0.0);
- try {
- int nBefore = conflictCollector.getMapToGOAttr().size();
+ int nBefore = conflictCollector.getMapToGOAttr().size();
- List<AttributeConflictHandler> conflictHandlers = new
ArrayList<AttributeConflictHandler>();
+ List<AttributeConflictHandler> conflictHandlers = new
ArrayList<AttributeConflictHandler>();
- AttributeConflictHandler conflictHandler;
+ AttributeConflictHandler conflictHandler;
- // if (idMapping!=null) {
- // conflictHandler = new
IDMappingAttributeConflictHandler(idMapping);
- // conflictHandlers.add(conflictHandler);
- // }
+ // if (idMapping!=null) {
+ // conflictHandler = new
IDMappingAttributeConflictHandler(idMapping);
+ // conflictHandlers.add(conflictHandler);
+ // }
- conflictHandler = new DefaultAttributeConflictHandler();
- conflictHandlers.add(conflictHandler);
+ conflictHandler = new DefaultAttributeConflictHandler();
+ conflictHandlers.add(conflictHandler);
- AttributeConflictManager conflictManager = new
AttributeConflictManager(conflictCollector,conflictHandlers);
- conflictManager.handleConflicts();
+ AttributeConflictManager conflictManager = new
AttributeConflictManager(conflictCollector,conflictHandlers);
+ conflictManager.handleConflicts();
- int nAfter = conflictCollector.getMapToGOAttr().size();
+ int nAfter = conflictCollector.getMapToGOAttr().size();
- taskMonitor.setProgress(1.0);
- taskMonitor.setStatusMessage("Successfully handled " +
(nBefore-nAfter) + " attribute conflicts. "
+ taskMonitor.setProgress(1.0);
+ taskMonitor.setStatusMessage("Successfully handled " +
(nBefore-nAfter) + " attribute conflicts. "
+ nAfter+" conflicts remains.");
- } catch(Exception e) {
- throw new Exception(e);
- }
-
}
}
Deleted:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTaskFactory.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTaskFactory.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/HandleConflictsTaskFactory.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -1,27 +0,0 @@
-
-package org.cytoscape.network.merge.internal.task;
-
-import
org.cytoscape.network.merge.internal.conflict.AttributeConflictCollector;
-import org.cytoscape.work.AbstractTaskFactory;
-import org.cytoscape.work.TaskIterator;
-
-/**
- *
- * @author jj
- */
-public class HandleConflictsTaskFactory extends AbstractTaskFactory {
- private AttributeConflictCollector conflictCollector;
-
- /**
- * Constructor.<br>
- *
- */
- public HandleConflictsTaskFactory(final AttributeConflictCollector
conflictCollector) {
- this.conflictCollector = conflictCollector;
- }
-
- @Override
- public TaskIterator createTaskIterator() {
- return new TaskIterator(new HandleConflictsTask(conflictCollector));
- }
-}
Modified:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTask.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTask.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTask.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -18,6 +18,7 @@
import org.cytoscape.model.CyNetworkFactory;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.task.creation.NetworkViewCreator;
/**
*
@@ -31,12 +32,13 @@
//private AttributeMapping edgeAttributeMapping;
private List<CyNetwork> selectedNetworkList;
private Operation operation;
- //private AttributeConflictCollector conflictCollector;
+ private AttributeConflictCollector conflictCollector;
//private Map<String,Map<String,Set<String>>>
selectedNetworkAttributeIDType;
//private final String tgtType;
final private AttributeBasedNetworkMerge networkMerge ;
//private boolean cancelled;
+ final private NetworkViewCreator netViewCreator;
/**
* Constructor.<br>
*
@@ -49,8 +51,9 @@
final Operation operation,
final AttributeConflictCollector
conflictCollector,
final Map<String,Map<String,Set<String>>>
selectedNetworkAttributeIDType,
- final String tgtType,
- final boolean inNetworkMerge) {
+ final String tgtType,
+ final boolean inNetworkMerge,
+ final NetworkViewCreator netViewCreator) {
this.network = network;
//this.matchingAttribute = matchingAttribute;
//this.nodeAttributeMapping = nodeAttributeMapping;
@@ -58,7 +61,7 @@
this.selectedNetworkList = selectedNetworkList;
this.operation = operation;
//this.mergedNetworkName = mergedNetworkName;
- //this.conflictCollector = conflictCollector;
+ this.conflictCollector = conflictCollector;
//this.selectedNetworkAttributeIDType =
selectedNetworkAttributeIDType;
//this.tgtType = tgtType;
//cancelled = true;
@@ -80,6 +83,7 @@
attributeMerger,
attributeValueMatcher);
networkMerge.setWithinNetworkMerge(inNetworkMerge);
+ this.netViewCreator = netViewCreator;
}
public boolean isCancelled() {
@@ -94,7 +98,6 @@
*/
@Override
public void run(TaskMonitor taskMonitor) throws Exception {
- try {
networkMerge.setTaskMonitor(taskMonitor);
// if (selectedNetworkAttributeIDType!=null) {
@@ -168,10 +171,11 @@
// +
conflictCollector.getMapToIDAttr().size()
// + " attribute
conflicts.");
- } catch(Exception e) {
- throw new Exception(e);
- }
-
-
+ if (!conflictCollector.isEmpty()) {
+ HandleConflictsTask hcTask = new
HandleConflictsTask(conflictCollector);
+ insertTasksAfterCurrentTask( hcTask );
+ } else {
+ insertTasksAfterCurrentTask(
netViewCreator.createView( network ) );
+ }
}
}
Deleted:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTaskFactory.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTaskFactory.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/task/NetworkMergeTaskFactory.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -1,60 +0,0 @@
-
-package org.cytoscape.network.merge.internal.task;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.network.merge.internal.NetworkMerge.Operation;
-import
org.cytoscape.network.merge.internal.conflict.AttributeConflictCollector;
-import org.cytoscape.network.merge.internal.model.AttributeMapping;
-import org.cytoscape.network.merge.internal.model.MatchingAttribute;
-import org.cytoscape.work.AbstractTaskFactory;
-import org.cytoscape.work.TaskIterator;
-
-/**
- *
- * @author jj
- */
-public class NetworkMergeTaskFactory extends AbstractTaskFactory {
- final CyNetwork network;
- final MatchingAttribute matchingAttribute;
- final AttributeMapping nodeAttributeMapping;
- final AttributeMapping edgeAttributeMapping;
- final List<CyNetwork> selectedNetworkList;
- final Operation operation;
- final AttributeConflictCollector conflictCollector;
- final Map<String,Map<String,Set<String>>> selectedNetworkAttributeIDType;
- final String tgtType;
- final boolean inNetworkMerge;
-
- public NetworkMergeTaskFactory(CyNetwork network,
- MatchingAttribute matchingAttribute,
- AttributeMapping nodeAttributeMapping,
- AttributeMapping edgeAttributeMapping,
- List<CyNetwork> selectedNetworkList,
- Operation operation,
- AttributeConflictCollector conflictCollector,
- Map<String, Map<String, Set<String>>>
selectedNetworkAttributeIDType,
- String tgtType,
- boolean inNetworkMerge) {
- this.network = network;
- this.matchingAttribute = matchingAttribute;
- this.nodeAttributeMapping = nodeAttributeMapping;
- this.edgeAttributeMapping = edgeAttributeMapping;
- this.selectedNetworkList = selectedNetworkList;
- this.operation = operation;
- this.conflictCollector = conflictCollector;
- this.selectedNetworkAttributeIDType = selectedNetworkAttributeIDType;
- this.tgtType = tgtType;
- this.inNetworkMerge = inNetworkMerge;
- }
-
- @Override
- public TaskIterator createTaskIterator() {
- return new TaskIterator(new NetworkMergeTask(network,
matchingAttribute, nodeAttributeMapping,
- edgeAttributeMapping, selectedNetworkList, operation,
conflictCollector,
- selectedNetworkAttributeIDType, tgtType, inNetworkMerge));
- }
-}
Modified:
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/NetworkMergeFrame.java
===================================================================
---
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/NetworkMergeFrame.java
2012-03-22 22:04:44 UTC (rev 28621)
+++
core3/impl/trunk/network-merge-impl/src/main/java/org/cytoscape/network/merge/internal/ui/NetworkMergeFrame.java
2012-03-22 22:12:53 UTC (rev 28622)
@@ -84,6 +84,7 @@
import javax.swing.event.TableModelListener;
import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyTableEntry;
import org.cytoscape.model.CyNetworkFactory;
import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.network.merge.internal.NetworkMerge.Operation;
@@ -93,10 +94,11 @@
import org.cytoscape.network.merge.internal.model.AttributeMappingImpl;
import org.cytoscape.network.merge.internal.model.MatchingAttribute;
import org.cytoscape.network.merge.internal.model.MatchingAttributeImpl;
-import org.cytoscape.network.merge.internal.task.HandleConflictsTaskFactory;
-import org.cytoscape.network.merge.internal.task.NetworkMergeTaskFactory;
+import org.cytoscape.network.merge.internal.task.NetworkMergeTask;
import org.cytoscape.session.CyNetworkNaming;
import org.cytoscape.work.TaskManager;
+import org.cytoscape.work.TaskIterator;
+import org.cytoscape.task.creation.NetworkViewCreator;
/**
*
@@ -108,12 +110,14 @@
private CyNetworkFactory cnf;
private CyNetworkNaming cnn;
private TaskManager taskManager;
+ private NetworkViewCreator netViewCreator;
/** Creates new form NetworkMergeFrame */
public NetworkMergeFrame(CyNetworkManager cnm,
CyNetworkFactory cnf,
CyNetworkNaming cnn,
- TaskManager taskManager) {
+ TaskManager taskManager,
+ NetworkViewCreator
netViewCreator) {
frame = this;
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
@@ -796,12 +800,13 @@
CyNetwork net = cnf.createNetwork();
String netName =
cnn.getSuggestedNetworkTitle(mergeNodeAttributeTable.getMergedNetworkName());
- //TODO: set network name
+
net.getRow(net).set(CyTableEntry.NAME,netName);
+ cnm.addNetwork(net);
AttributeConflictCollector conflictCollector = new
AttributeConflictCollectorImpl();
// network merge task
- NetworkMergeTaskFactory nmTask = new
NetworkMergeTaskFactory(net,
+ NetworkMergeTask nmTask = new NetworkMergeTask(net,
this.matchingAttribute,
this.nodeAttributeMapping,
this.edgeAttributeMapping,
@@ -810,23 +815,15 @@
conflictCollector,
selectedNetworkAttributeIDType,
tgtType,
- this.inNetworkMergeCheckBox.isSelected());
+ this.inNetworkMergeCheckBox.isSelected(),
+
netViewCreator);
+
+ TaskIterator ti = new
TaskIterator(2,nmTask);
+
// Execute Task in New Thread; pop open JTask Dialog
Box.
- taskManager.execute(nmTask.createTaskIterator());
- //TODO: HOW TO KNOW IF IT IS CANCELED?
- //if (nmTask.isCancelled()) return;
-
- cnm.addNetwork(net);
+ taskManager.execute(ti);
- // conflict handling task
- if (!conflictCollector.isEmpty()) {
- HandleConflictsTaskFactory hcTask = new
HandleConflictsTaskFactory(conflictCollector);
-
taskManager.execute(hcTask.createTaskIterator());
- }
-
-// }
-
setVisible(false);
dispose();
}//GEN-LAST:event_okButtonActionPerformed
--
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.