Author: jerome
Date: 2008-12-23 11:50:28 +0100 (Tue, 23 Dec 2008)
New Revision: 3284

Modified:
   
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/.classpath
   
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/src/FileUtils.java
Log:
* Detect xml encoding too.

Modified: 
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/.classpath
===================================================================
--- 
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/.classpath
   2008-12-23 09:55:11 UTC (rev 3283)
+++ 
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/.classpath
   2008-12-23 10:50:28 UTC (rev 3284)
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry kind="src" path="src"/>
-       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-       <classpathentry kind="lib" path="src/libraries/skinlf.jar"/>
-       <classpathentry combineaccessrules="false" kind="src" path="/TuxAPI"/>
-       <classpathentry combineaccessrules="false" kind="src" 
path="/tuxdroid-installer-paths"/>
-       <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+       <classpathentry combineaccessrules="false" kind="src" path="/TuxAPI"/>
+       <classpathentry combineaccessrules="false" kind="src" 
path="/tuxdroid-installer-paths"/>
+       <classpathentry kind="lib" path="C:/Program 
Files/Kysoh/Tuxdroid/resources/tools/tooltip/skinlf.jar"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>

Modified: 
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/src/FileUtils.java
===================================================================
--- 
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/src/FileUtils.java
   2008-12-23 09:55:11 UTC (rev 3283)
+++ 
software_suite_v2/software/tools/control_center_presentation/trunk/control_center_presentation/src/FileUtils.java
   2008-12-23 10:50:28 UTC (rev 3284)
@@ -23,9 +23,12 @@
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.Reader;
 import java.io.StringReader;
 
@@ -112,6 +115,51 @@
        
        
        /**
+        * Detect encoding to make use if file exists.
+        * @throws IOException 
+        */
+       private static String detectEncoding(File settings) throws IOException
+       {       
+               //Try to get xml file header.
+               String encoding = "";
+               BufferedReader br = null;
+               
+               try
+               {
+                       InputStream ips = new FileInputStream(settings); 
+                       InputStreamReader ipsr = new InputStreamReader(ips);
+                       br = new BufferedReader(ipsr);
+                       
+                       //Read the first line of xml file.
+                       encoding = br.readLine();
+                       encoding = 
encoding.substring(encoding.indexOf("encoding"));
+                       encoding = encoding.substring(encoding.indexOf("=") + 
1);
+                       encoding = encoding.substring(0, encoding.indexOf(" 
")).replace("\"", "");
+                       
+                       if(encoding.equalsIgnoreCase("UTF-8"))
+                       {
+                               encoding = "UTF-8";
+                       }
+                       
+                       else
+                       {
+                               encoding = "ISO-8859-1";
+                       }
+                       
+                       br.close();
+                       ipsr.close();
+                       ips.close();
+               }               
+               
+               catch (Exception e)
+               {
+                       br.close();
+               }
+               
+               return encoding;
+       }
+       
+       /**
         * Register changes into xml file.
         * @param document
         */
@@ -127,8 +175,8 @@
             Transformer transformer = fabrique.newTransformer();
             //Setting xml properties.
             transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-            transformer.setOutputProperty(OutputKeys.STANDALONE, "no");
-            transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
+            transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
+            transformer.setOutputProperty(OutputKeys.ENCODING, 
detectEncoding(file));
             
             // Registration.
             transformer.transform(source, resultat);
@@ -187,8 +235,6 @@
                        Node langn = 
document.getElementsByTagName(markup).item(0);
                        return 
Boolean.valueOf(langn.getChildNodes().item(0).getTextContent());
                }catch(NullPointerException e){
-                       System.out.println("error");
-                       e.printStackTrace();
                        return true;
                }
        }


------------------------------------------------------------------------------
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to