You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/09/17 17:15:48 UTC

svn commit: r576474 - in /directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core: ConnectionManager.java io/ConnectionIO.java

Author: pamarcelot
Date: Mon Sep 17 08:15:47 2007
New Revision: 576474

URL: http://svn.apache.org/viewvc?rev=576474&view=rev
Log:
Fix for DIRSTUDIO-191 (Connection Name mess up if it contains non-ascii chars).

Modified:
    directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java
    directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionIO.java

Modified: directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java?rev=576474&r1=576473&r2=576474&view=diff
==============================================================================
--- directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java (original)
+++ directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionManager.java Mon Sep 17 08:15:47 2007
@@ -22,9 +22,9 @@
 
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -262,7 +262,7 @@
         // To avoid a corrupt file, save object to a temp file first 
         try
         {
-            ConnectionIO.save( connectionParameters, new FileWriter( getConnectionStoreFileName() + "-temp" ) );
+            ConnectionIO.save( connectionParameters, new FileOutputStream( getConnectionStoreFileName() + "-temp" ) );
         }
         catch ( IOException e )
         {
@@ -277,7 +277,7 @@
         {
             file.delete();
         }
-        
+
         try
         {
             String content = FileUtils.readFileToString( tempFile, "UTF-8" );
@@ -300,14 +300,15 @@
 
         try
         {
-            connectionParameters = ConnectionIO.load( new FileReader( getConnectionStoreFileName() ) );
+            connectionParameters = ConnectionIO.load( new FileInputStream( getConnectionStoreFileName() ) );
         }
         catch ( Exception e )
         {
             // If loading failed, try with temp file
             try
             {
-                connectionParameters = ConnectionIO.load( new FileReader( getConnectionStoreFileName() + "-temp" ) );
+                connectionParameters = ConnectionIO
+                    .load( new FileInputStream( getConnectionStoreFileName() + "-temp" ) );
             }
             catch ( FileNotFoundException e1 )
             {

Modified: directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionIO.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionIO.java?rev=576474&r1=576473&r2=576474&view=diff
==============================================================================
--- directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionIO.java (original)
+++ directory/studio/trunk/studio-connection-core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionIO.java Mon Sep 17 08:15:47 2007
@@ -20,9 +20,8 @@
 package org.apache.directory.studio.connection.core.io;
 
 
-import java.io.BufferedWriter;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -30,13 +29,6 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
 import org.apache.directory.studio.connection.core.ConnectionParameter;
 import org.apache.directory.studio.connection.core.ConnectionParameter.AuthenticationMethod;
 import org.apache.directory.studio.connection.core.ConnectionParameter.EncryptionMethod;
@@ -45,9 +37,9 @@
 import org.dom4j.DocumentException;
 import org.dom4j.DocumentHelper;
 import org.dom4j.Element;
-import org.dom4j.io.DocumentResult;
-import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
 import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
 
 
 /**
@@ -78,14 +70,14 @@
     /**
      * Loads the connections using the reader
      *
-     * @param reader
-     *      the reader
+     * @param stream
+     *      the FileInputStream
      * @return
      *      the connections
      * @throws ConnectionIOException 
      *      if an error occurs when converting the document
      */
-    public static List<ConnectionParameter> load( FileReader reader ) throws ConnectionIOException
+    public static List<ConnectionParameter> load( FileInputStream stream ) throws ConnectionIOException
     {
         List<ConnectionParameter> connections = new ArrayList<ConnectionParameter>();
 
@@ -94,7 +86,7 @@
 
         try
         {
-            document = saxReader.read( reader );
+            document = saxReader.read( stream );
         }
         catch ( DocumentException e )
         {
@@ -240,12 +232,12 @@
      *
      * @param connections
      *      the connections
-     * @param writer
-     *      the writer
+     * @param stream
+     *      the OutputStream
      * @throws IOException
      *      if an I/O error occurs
      */
-    public static void save( List<ConnectionParameter> connections, FileWriter writer ) throws IOException
+    public static void save( List<ConnectionParameter> connections, FileOutputStream stream ) throws IOException
     {
         // Creating the Document
         Document document = DocumentHelper.createDocument();
@@ -262,9 +254,11 @@
         }
 
         // Writing the file to disk
-        BufferedWriter buffWriter = new BufferedWriter( writer );
-        buffWriter.write( styleDocument( document ).asXML() );
-        buffWriter.close();
+        OutputFormat outformat = OutputFormat.createPrettyPrint();
+        outformat.setEncoding( "UTF-8" );
+        XMLWriter writer = new XMLWriter( stream, outformat );
+        writer.write( document );
+        writer.flush();
     }
 
 
@@ -318,45 +312,5 @@
                 extendedPropertyElement.addAttribute( VALUE_TAG, element.getValue() );
             }
         }
-    }
-
-
-    /**
-     * XML Pretty Printer XSLT Transformation
-     * 
-     * @param document
-     *      the Dom4j Document
-     * @return
-     */
-    private static Document styleDocument( Document document )
-    {
-        // load the transformer using JAXP
-        TransformerFactory factory = TransformerFactory.newInstance();
-        Transformer transformer = null;
-        try
-        {
-            transformer = factory.newTransformer( new StreamSource( ConnectionCorePlugin.class
-                .getResourceAsStream( "XmlFileFormat.xslt" ) ) );
-        }
-        catch ( TransformerConfigurationException e1 )
-        {
-            // Will never occur
-        }
-
-        // now lets style the given document
-        DocumentSource source = new DocumentSource( document );
-        DocumentResult result = new DocumentResult();
-        try
-        {
-            transformer.transform( source, result );
-        }
-        catch ( TransformerException e )
-        {
-            // Will never occur
-        }
-
-        // return the transformed document
-        Document transformedDoc = result.getDocument();
-        return transformedDoc;
     }
 }