Author: pwang
Date: 2012-03-02 14:40:50 -0800 (Fri, 02 Mar 2012)
New Revision: 28422
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/title/EditNetworkTitleTask.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTaskFactory.java
Log:
Validate title before accept
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-02 21:32:35 UTC (rev 28421)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-03-02 22:40:50 UTC (rev 28422)
@@ -209,7 +209,7 @@
SaveSessionTaskFactory saveSessionTaskFactory = new
SaveSessionTaskFactory( sessionWriterManagerServiceRef,
cySessionManagerServiceRef, recentlyOpenedTrackerServiceRef, cyEventHelperRef);
SaveSessionAsTaskFactory saveSessionAsTaskFactory = new
SaveSessionAsTaskFactory( sessionWriterManagerServiceRef,
cySessionManagerServiceRef, recentlyOpenedTrackerServiceRef, cyEventHelperRef);
ProxySettingsTaskFactory proxySettingsTaskFactory = new
ProxySettingsTaskFactory(cyPropertyServiceRef, streamUtilRef);
- EditNetworkTitleTaskFactory editNetworkTitleTaskFactory = new
EditNetworkTitleTaskFactory(undoSupportServiceRef);
+ EditNetworkTitleTaskFactory editNetworkTitleTaskFactory = new
EditNetworkTitleTaskFactory(undoSupportServiceRef, cyNetworkManagerServiceRef);
CreateNetworkViewTaskFactory createNetworkViewTaskFactory = new
CreateNetworkViewTaskFactory(undoSupportServiceRef,cyNetworkViewFactoryServiceRef,cyNetworkViewManagerServiceRef,cyLayoutsServiceRef,cyEventHelperRef);
ExportNetworkImageTaskFactory exportNetworkImageTaskFactory =
new
ExportNetworkImageTaskFactory(viewWriterManagerServiceRef,cyApplicationManagerServiceRef);
ExportNetworkViewTaskFactory exportNetworkViewTaskFactory = new
ExportNetworkViewTaskFactory(networkViewWriterManagerServiceRef);
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTask.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTask.java
2012-03-02 21:32:35 UTC (rev 28421)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTask.java
2012-03-02 22:40:50 UTC (rev 28422)
@@ -31,17 +31,22 @@
import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.task.AbstractNetworkTask;
import org.cytoscape.work.ProvidesTitle;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.Tunable;
import org.cytoscape.work.undo.UndoSupport;
+import java.util.Iterator;
+import org.cytoscape.work.TunableValidator;
-public class EditNetworkTitleTask extends AbstractNetworkTask {
+public class EditNetworkTitleTask extends AbstractNetworkTask implements
TunableValidator {
private final UndoSupport undoSupport;
+ private final CyNetworkManager cyNetworkManagerServiceRef;
+
@ProvidesTitle
public String getTitle() {
return "Rename Network";
@@ -50,12 +55,53 @@
@Tunable(description = "New title")
public String title;
- public EditNetworkTitleTask(final UndoSupport undoSupport, final
CyNetwork net) {
+ public EditNetworkTitleTask(final UndoSupport undoSupport, final
CyNetwork net, CyNetworkManager cyNetworkManagerServiceRef) {
super(net);
this.undoSupport = undoSupport;
- title = network.getRow(network).get(CyTableEntry.NAME,
String.class);
+ this.cyNetworkManagerServiceRef = cyNetworkManagerServiceRef;
+ title = network.getRow(network).get(CyTableEntry.NAME,
String.class);
}
+ @Override
+ public ValidationState getValidationState(final Appendable errMsg) {
+ title = title.trim();
+
+ // Check if the network tile already existed
+ boolean titleAlreayExisted = false;
+ Iterator<CyNetwork> it =
this.cyNetworkManagerServiceRef.getNetworkSet().iterator();
+
+ while (it.hasNext()){
+ CyNetwork curNetwork = it.next();
+
+ // Exclude current network (itself)
+ if (curNetwork == network){
+ continue;
+ }
+
+ String curTitle =
curNetwork.getRow(curNetwork).get(CyTableEntry.NAME, String.class);
+
+ if (title.equalsIgnoreCase(curTitle)){
+ titleAlreayExisted = true;
+ break;
+ }
+ }
+
+ if (titleAlreayExisted){
+ // Inform user duplicated network title!
+ try {
+ errMsg.append("Duplicated network title!");
+ }
+ catch (Exception e){
+ System.out.println("Warning: Duplicated network
title!");
+ }
+ return ValidationState.INVALID;
+ }
+
+
+ return ValidationState.OK;
+ }
+
+
public void run(TaskMonitor e) {
e.setProgress(0.0);
final String oldTitle =
network.getRow(network).get(CyTableEntry.NAME, String.class);
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTaskFactory.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTaskFactory.java
2012-03-02 21:32:35 UTC (rev 28421)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/title/EditNetworkTitleTaskFactory.java
2012-03-02 22:40:50 UTC (rev 28422)
@@ -30,6 +30,7 @@
package org.cytoscape.task.internal.title;
+import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.task.AbstractNetworkTaskFactory;
import org.cytoscape.work.TaskIterator;
import org.cytoscape.work.undo.UndoSupport;
@@ -37,12 +38,14 @@
public class EditNetworkTitleTaskFactory extends AbstractNetworkTaskFactory {
private final UndoSupport undoSupport;
+ private final CyNetworkManager cyNetworkManagerServiceRef;
- public EditNetworkTitleTaskFactory(final UndoSupport undoSupport) {
+ public EditNetworkTitleTaskFactory(final UndoSupport undoSupport,
CyNetworkManager cyNetworkManagerServiceRef) {
this.undoSupport = undoSupport;
+ this.cyNetworkManagerServiceRef = cyNetworkManagerServiceRef;
}
public TaskIterator createTaskIterator() {
- return new TaskIterator(new EditNetworkTitleTask(undoSupport,
network));
+ return new TaskIterator(new EditNetworkTitleTask(undoSupport,
network, this.cyNetworkManagerServiceRef));
}
}
--
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.