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.

Reply via email to