Author: jerome
Date: 2009-01-23 09:06:36 +0100 (Fri, 23 Jan 2009)
New Revision: 3519

Modified:
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Logger.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLReader.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
Log:
* Fixed a memory leek.

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Logger.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Logger.java
    2009-01-22 17:33:16 UTC (rev 3518)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Logger.java
    2009-01-23 08:06:36 UTC (rev 3519)
@@ -120,25 +120,13 @@
                        {
                             writer = new FileWriter(this.log, true);
                             writer.write(text, 0, text.length());
+                            writer.flush();
+                            writer.close();
                        }
                        catch(IOException ex)
                        {
                            ex.printStackTrace();
                        }
-                       finally
-                       {
-                         if(writer != null)
-                         {
-                            try 
-                            {
-                                       writer.close();
-                                } 
-                            catch (IOException e) 
-                            {
-                                       e.printStackTrace();
-                               }
-                         }
-                       }
                }
        }
 

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
       2009-01-22 17:33:16 UTC (rev 3518)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
       2009-01-23 08:06:36 UTC (rev 3519)
@@ -120,7 +120,7 @@
                                CcCommons.settingsEncoding = "ISO-8859-1";
                                CcCommons.logger.append("Encoding is: 
ISO-8859-1", true);
                        }
-                       
+               
                        br.close(); 
                        ipsr.close();
                        ips.close();

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLReader.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLReader.java
      2009-01-22 17:33:16 UTC (rev 3518)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLReader.java
      2009-01-23 08:06:36 UTC (rev 3519)
@@ -52,9 +52,6 @@
        /** xml document representation **/
        private Document document;
        
-       /** This var register a setting.xml edition. **/
-       public static boolean edited = true;
-       
        public Object mutex = new Object();
        
        /**
@@ -114,16 +111,10 @@
        public Document getDocument(){
                synchronized(this.mutex)
                {
-                       if(!XMLReader.edited)
-                       {
-                               return this.document;
-                       }
-                       
                        try 
                        {
                                CcCommons.logger.append("Parsing settings.xml", 
true);
                                this.parse();
-                               XMLReader.edited = false;
                        } 
                        catch (ParserConfigurationException e) 
                        {

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
      2009-01-22 17:33:16 UTC (rev 3518)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
      2009-01-23 08:06:36 UTC (rev 3519)
@@ -58,7 +58,10 @@
        /** xml file reference **/
        private File xmlFile;
        
-       public static boolean locked = false;
+       public static boolean locked = false;
+       
+       private TransformerFactory fabrique;
+       private Transformer transformer;
        
        
        /**
@@ -160,26 +163,26 @@
                try {
             // Create Dom source.
             Source source = new DOMSource(document);
-            
             //Create output.
             Result resultat = new StreamResult(this.xmlFile);
-           
-            TransformerFactory fabrique = TransformerFactory.newInstance();
-            Transformer transformer = fabrique.newTransformer();
-            //Setting xml properties.
-            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-            transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
-            transformer.setOutputProperty(OutputKeys.ENCODING, 
CcCommons.settingsEncoding);
-            
+           
+            if(fabrique == null)
+            {
+               fabrique = TransformerFactory.newInstance();
+            }
+            if(transformer == null)
+            {
+               transformer = fabrique.newTransformer();
+               transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+                transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
+                transformer.setOutputProperty(OutputKeys.ENCODING, 
CcCommons.settingsEncoding);
+            }
             // Registration.
-            transformer.transform(source, resultat);
-            //Sets global var 'edited' at true to avoid a new xml parsing.
-            XMLReader.edited = true;
+            transformer.transform(source, resultat);
         }
                catch(Exception e)
                {
-                       CcCommons.logger.appendError(e.getStackTrace());
-            CcCommons.logger.append(" -->> ERROR: An error occured trying to 
register changes.", true);
+                       CcCommons.logger.appendError(e.getStackTrace());
         }
        }
        


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to