Author: laylaoesper
Date: 2010-07-19 14:50:14 -0700 (Mon, 19 Jul 2010)
New Revision: 20968
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudParameters.java
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudWordInfo.java
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummary.jar
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryPlugin.java
Log:
Add changes to make save/restore work correctly with the filters now located at
the network level. This means that old .cys files will not work as expected.
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudParameters.java
===================================================================
---
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudParameters.java
2010-07-19 21:14:55 UTC (rev 20967)
+++
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudParameters.java
2010-07-19 21:50:14 UTC (rev 20968)
@@ -87,6 +87,7 @@
//String Delimeters
private static final String NODEDELIMITER = "CloudParamNodeDelimiter";
+ private static final String WORDDELIMITER = "CloudParamWordDelimiter";
//Default Values for User Input
private Double defaultNetWeight = 0.5;
@@ -157,7 +158,7 @@
this.maxWords = new Integer(props.get("MaxWords"));
this.cloudNum = new Integer(props.get("CloudNum"));
- //Rebuild List
+ //Rebuild List of Nodes
String value = props.get("SelectedNodes");
String[] nodes = value.split(NODEDELIMITER);
ArrayList<String> nodeNameList = new ArrayList<String>();
@@ -168,6 +169,18 @@
}
this.selectedNodes = nodeNameList;
+ //Rebuild CloudWords
+ String value2 = props.get("CloudWords");
+ String[] words = value2.split(WORDDELIMITER);
+ ArrayList<CloudWordInfo> cloudWordList = new
ArrayList<CloudWordInfo>();
+ for (int i = 0; i < words.length; i++)
+ {
+ String wordInfo = words[i];
+ CloudWordInfo curInfo = new CloudWordInfo(wordInfo);
+ curInfo.setCloudParameters(this);
+ cloudWordList.add(curInfo);
+ }
+ this.cloudWords = cloudWordList;
}
@@ -684,6 +697,15 @@
paramVariables.append("MaxWords\t" + maxWords + "\n");
paramVariables.append("CloudNum\t" + cloudNum + "\n");
+ //List of Nodes as a comma delimited list
+ StringBuffer output2 = new StringBuffer();
+ for (int i = 0; i < cloudWords.size(); i++)
+ {
+ output2.append(cloudWords.get(i).toString() +
WORDDELIMITER);
+ }
+
+ paramVariables.append("CloudWords\t" + output2.toString() +
"\n");
+
return paramVariables.toString();
}
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudWordInfo.java
===================================================================
---
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudWordInfo.java
2010-07-19 21:14:55 UTC (rev 20967)
+++
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/CloudWordInfo.java
2010-07-19 21:50:14 UTC (rev 20968)
@@ -28,6 +28,7 @@
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -50,16 +51,31 @@
public class CloudWordInfo implements Comparable<CloudWordInfo>
{
//VARIABLES
- String word;
- Integer fontSize;
- CloudParameters params;
- Color textColor;
- Integer cluster;
- Integer wordNum;
+ private String word;
+ private Integer fontSize;
+ private CloudParameters params;
+ private Color textColor;
+ private Integer cluster;
+ private Integer wordNum;
+ //String Delimeters
+ private static final String FIRSTDELIMITER = "TabbedEquivalent";
+ private static final String SECONDDELIMITER = "NewLineEquivalent";
+
//CONSTRUCTORS
/**
+ * Creates a blank CloudWordInfo Object.
+ */
+ public CloudWordInfo()
+ {
+ fontSize = 0;
+ textColor = Color.BLACK;
+ cluster = 0;
+ wordNum = 0;
+ }
+
+ /**
* Creates a blank CloudWordInfo Object for the specified word.
* @param String - the word for this object
* @param Integer - the font size for this object
@@ -73,6 +89,36 @@
wordNum = 0;
}
+ /**
+ * Constructor to create CloudWordInfo from a cytoscape property file
+ * while restoring a session. Property file is created when the
session is saved.
+ * @param propFile - the name of the property file as a String
+ */
+ public CloudWordInfo(String propFile)
+ {
+ this();
+
+ //Create a hashmap to contain all the values in the rpt file
+ HashMap<String, String> props = new HashMap<String,String>();
+
+ String[] lines = propFile.split(SECONDDELIMITER);
+
+ for (int i = 0; i < lines.length; i++)
+ {
+ String line = lines[i];
+ String[] tokens = line.split(FIRSTDELIMITER);
+ //there should be two values in each line
+ if(tokens.length == 2)
+ props.put(tokens[0],tokens[1]);
+ }
+
+ this.word = props.get("Word");
+ this.fontSize = new Integer(props.get("FontSize"));
+ this.cluster = new Integer(props.get("Cluster"));
+ this.wordNum = new Integer(props.get("WordNum"));
+ this.textColor = new Color(new Integer(props.get("TextColor")),
true);
+ }
+
//METHODS
/**
@@ -198,6 +244,24 @@
return label;
}
+ /**
+ * String representation of CloudWordInfo.
+ * It is used to store the persistent attributes when a session is
saved.
+ * @return - String representation of this object
+ */
+ public String toString()
+ {
+ StringBuffer paramVariables = new StringBuffer();
+
+ paramVariables.append("Word" + FIRSTDELIMITER + word +
SECONDDELIMITER);
+ paramVariables.append("FontSize" + FIRSTDELIMITER + fontSize +
SECONDDELIMITER);
+ paramVariables.append("Cluster" + FIRSTDELIMITER + cluster +
SECONDDELIMITER);
+ paramVariables.append("WordNum" + FIRSTDELIMITER + wordNum +
SECONDDELIMITER);
+ paramVariables.append("TextColor" + FIRSTDELIMITER +
textColor.getRGB() + SECONDDELIMITER);
+
+ return paramVariables.toString();
+ }
+
//Getters and Setters
public void setWord(String aWord)
{
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummary.jar
===================================================================
(Binary files differ)
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryPlugin.java
===================================================================
---
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryPlugin.java
2010-07-19 21:14:55 UTC (rev 20967)
+++
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryPlugin.java
2010-07-19 21:50:14 UTC (rev 20968)
@@ -427,32 +427,8 @@
cloudParams.setPairRatios(pairRatios);
}
-
}//end loop through all props files
- //Last thing is to recreate wordCloudInfo for font sizes
- HashMap<String, SemanticSummaryParameters> cyNetworks =
-
SemanticSummaryManager.getInstance().getCyNetworkList();
-
- //Loop through Network Parameters
- for(Iterator<String> iter =
cyNetworks.keySet().iterator(); iter.hasNext();)
- {
- SemanticSummaryParameters curNetworkParams =
cyNetworks.get(iter.next());
-
- HashMap<String, CloudParameters> clouds =
- curNetworkParams.getClouds();
-
- //Loop through Cloud Parameters
- for(Iterator<String> iter2 =
clouds.keySet().iterator(); iter2.hasNext();)
- {
- CloudParameters currentCloud =
clouds.get(iter2.next());
- currentCloud.calculateFontSizes();
- }
- }
-
- //Register any action Listeners for the networks
- //TODO
-
//Initialize the panel appropriately
SemanticSummaryManager.getInstance().setupCurrentNetwork();
--
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.