Author: pwang
Date: 2012-06-07 13:59:19 -0700 (Thu, 07 Jun 2012)
New Revision: 29500
Modified:
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
Log:
Fixed bug#1080
Modified:
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
===================================================================
---
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
2012-06-07 19:23:12 UTC (rev 29499)
+++
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
2012-06-07 20:59:19 UTC (rev 29500)
@@ -56,6 +56,7 @@
import org.cytoscape.view.vizmap.events.VisualStyleSetEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Iterator;
/**
*
@@ -208,6 +209,12 @@
return;
}
+ if (hasDuplicatedTitle(vs)){
+ String newTitle = getSuggestedTitle(vs.getTitle());
+ //Update the title
+ vs.setTitle(newTitle);
+ }
+
this.visualStyles.add(vs);
logger.info("New visual Style registered to VMM: " +
vs.getTitle());
logger.info("Total Number of VS in VMM = " +
visualStyles.size());
@@ -217,6 +224,55 @@
cyEventHelper.fireEvent(new VisualStyleAddedEvent(this, vs));
}
+ private String getSuggestedTitle(String title){
+ int i=0;
+ String suggesteTitle = title;
+
+ while (true){
+ suggesteTitle = title + "_"+(new Integer(i).toString());
+
+ boolean duplicated = false;
+
+ Iterator<VisualStyle> it =
this.getAllVisualStyles().iterator();
+ while(it.hasNext()){
+ VisualStyle exist_vs = it.next();
+ if
(exist_vs.getTitle().equalsIgnoreCase(suggesteTitle)){
+ duplicated = true;
+ break;
+ }
+ }
+
+ if (duplicated){
+ i++;
+ continue;
+ }
+
+ break;
+ }
+
+ return suggesteTitle;
+ }
+
+
+ private boolean hasDuplicatedTitle(VisualStyle vs){
+
+ if (this.getAllVisualStyles().size() == 0){
+ return false;
+ }
+ Iterator<VisualStyle> it = this.getAllVisualStyles().iterator();
+ while(it.hasNext()){
+ VisualStyle exist_vs = it.next();
+ if (exist_vs.getTitle() == null || vs.getTitle() ==
null){
+ continue;
+ }
+ if
(exist_vs.getTitle().equalsIgnoreCase(vs.getTitle())){
+ return true;
+ }
+ }
+
+ return false;
+ }
+
/**
* {@inheritDoc}
*/
--
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.