Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 47306 invoked from network); 17 Sep 2007 13:02:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Sep 2007 13:02:43 -0000 Received: (qmail 16832 invoked by uid 500); 17 Sep 2007 13:02:36 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 16768 invoked by uid 500); 17 Sep 2007 13:02:35 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 16756 invoked by uid 99); 17 Sep 2007 13:02:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Sep 2007 06:02:35 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Sep 2007 13:04:26 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 27F191A9832; Mon, 17 Sep 2007 06:02:13 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r576406 - in /directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor: PluginUtils.java model/io/ProjectsExporter.java model/io/ProjectsImporter.java view/wizards/ExportProjectsWizard.java Date: Mon, 17 Sep 2007 13:02:10 -0000 To: commits@directory.apache.org From: pamarcelot@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20070917130213.27F191A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: pamarcelot Date: Mon Sep 17 06:02:06 2007 New Revision: 576406 URL: http://svn.apache.org/viewvc?rev=576406&view=rev Log: Fix for DIRSTUDIO-201 (Project Name mess up if it contains non-ascii chars). Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/PluginUtils.java directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/ExportProjectsWizard.java Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/PluginUtils.java URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/PluginUtils.java?rev=576406&r1=576405&r2=576406&view=diff ============================================================================== --- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/PluginUtils.java (original) +++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/PluginUtils.java Mon Sep 17 06:02:06 2007 @@ -20,10 +20,11 @@ package org.apache.directory.studio.schemaeditor; -import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; @@ -43,6 +44,8 @@ import org.apache.directory.studio.schemaeditor.model.io.XMLSchemaFileImportException; import org.apache.directory.studio.schemaeditor.model.io.XMLSchemaFileImporter; import org.apache.directory.studio.schemaeditor.view.ViewUtils; +import org.dom4j.io.OutputFormat; +import org.dom4j.io.XMLWriter; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtensionPoint; @@ -174,14 +177,24 @@ */ public static void saveProjects() { - ProjectsHandler projectsHandler = Activator.getDefault().getProjectsHandler(); - File projectsFile = getProjectsFile(); - try { - BufferedWriter buffWriter = new BufferedWriter( new FileWriter( projectsFile ) ); - buffWriter.write( ProjectsExporter.toXml( projectsHandler.getProjects().toArray( new Project[0] ) ) ); - buffWriter.close(); + OutputFormat outformat = OutputFormat.createPrettyPrint(); + outformat.setEncoding( "UTF-8" ); + XMLWriter writer = new XMLWriter( new FileOutputStream( getProjectsFile() ), outformat ); + writer.write( ProjectsExporter.toDocument( Activator.getDefault().getProjectsHandler().getProjects() + .toArray( new Project[0] ) ) ); + writer.flush(); + } + catch ( UnsupportedEncodingException e ) + { + PluginUtils.logError( "An error occured when saving the projects.", e ); + ViewUtils.displayErrorMessageBox( "Projects Saving Error", "An error occured when saving the projects." ); + } + catch ( FileNotFoundException e ) + { + PluginUtils.logError( "An error occured when saving the projects.", e ); + ViewUtils.displayErrorMessageBox( "Projects Saving Error", "An error occured when saving the projects." ); } catch ( IOException e ) { Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java?rev=576406&r1=576405&r2=576406&view=diff ============================================================================== --- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java (original) +++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java Mon Sep 17 06:02:06 2007 @@ -20,15 +20,9 @@ package org.apache.directory.studio.schemaeditor.model.io; +import java.io.UnsupportedEncodingException; import java.util.List; -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.schemaeditor.Activator; import org.apache.directory.studio.schemaeditor.model.Project; import org.apache.directory.studio.schemaeditor.model.ProjectType; import org.apache.directory.studio.schemaeditor.model.Schema; @@ -36,8 +30,6 @@ import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; -import org.dom4j.io.DocumentResult; -import org.dom4j.io.DocumentSource; /** @@ -59,15 +51,15 @@ /** - * Converts the given project to its code representation - * in XML file format. - * + * Converts the given project to its representation + * in Dom4J Document. + * * @param project * the project to convert * @return - * the corresponding code representation + * the corresponding Dom4j Document representation */ - public static String toXml( Project project ) + public static Document toDocument( Project project ) { // Creating the Document Document document = DocumentHelper.createDocument(); @@ -75,20 +67,20 @@ // Adding the project addProject( project, document ); - return styleDocument( document ).asXML(); + return document; } /** - * Converts the given projects to their code representation - * in XML file format. + * Converts the given projects to their representation + * in Dom4J Document. * * @param projects * the projects to convert * @return - * the corresponding code representation + * the corresponding Dom4j Document representation */ - public static String toXml( Project[] projects ) + public static Document toDocument( Project[] projects ) { // Creating the Document Document document = DocumentHelper.createDocument(); @@ -102,7 +94,7 @@ } } - return styleDocument( document ).asXML(); + return document; } @@ -125,7 +117,15 @@ String name = project.getName(); if ( ( name != null ) && ( !name.equals( "" ) ) ) { - element.addAttribute( NAME_TAG, name ); + try + { + element.addAttribute( NAME_TAG, new String ( name.getBytes("UTF-8"), "UTF-8") ); + } + catch ( UnsupportedEncodingException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } } // Type @@ -158,45 +158,5 @@ XMLSchemaFileExporter .addSchemas( project.getSchemaHandler().getSchemas().toArray( new Schema[0] ), element ); } - } - - - /** - * 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( Activator.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; } } Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java?rev=576406&r1=576405&r2=576406&view=diff ============================================================================== --- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java (original) +++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java Mon Sep 17 06:02:06 2007 @@ -191,7 +191,6 @@ for ( SchemaConnector sc : schemaConnectors ) { if ( sc.getId().equalsIgnoreCase( schemaConnectorId ) ) - ; { schemaConnector = sc; } Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/ExportProjectsWizard.java URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/ExportProjectsWizard.java?rev=576406&r1=576405&r2=576406&view=diff ============================================================================== --- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/ExportProjectsWizard.java (original) +++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/ExportProjectsWizard.java Mon Sep 17 06:02:06 2007 @@ -20,9 +20,10 @@ package org.apache.directory.studio.schemaeditor.view.wizards; -import java.io.BufferedWriter; -import java.io.FileWriter; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import org.apache.directory.studio.schemaeditor.Activator; @@ -30,6 +31,8 @@ import org.apache.directory.studio.schemaeditor.model.Project; import org.apache.directory.studio.schemaeditor.model.io.ProjectsExporter; import org.apache.directory.studio.schemaeditor.view.ViewUtils; +import org.dom4j.io.OutputFormat; +import org.dom4j.io.XMLWriter; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.viewers.IStructuredSelection; @@ -90,10 +93,26 @@ try { - BufferedWriter buffWriter = new BufferedWriter( new FileWriter( exportDirectory + "/" - + project.getName() + ".schemaproject" ) ); - buffWriter.write( ProjectsExporter.toXml( project ) ); - buffWriter.close(); + OutputFormat outformat = OutputFormat.createPrettyPrint(); + outformat.setEncoding( "UTF-8" ); + XMLWriter writer = new XMLWriter( new FileOutputStream( exportDirectory + "/" + + project.getName() + ".schemaproject" ), outformat ); + writer.write( ProjectsExporter.toDocument( project ) ); + writer.flush(); + } + catch ( UnsupportedEncodingException e ) + { + PluginUtils.logError( + "An error occured when saving the project " + project.getName() + ".", e ); + ViewUtils.displayErrorMessageBox( "Error", "An error occured when saving the project " + + project.getName() + "." ); + } + catch ( FileNotFoundException e ) + { + PluginUtils.logError( + "An error occured when saving the project " + project.getName() + ".", e ); + ViewUtils.displayErrorMessageBox( "Error", "An error occured when saving the project " + + project.getName() + "." ); } catch ( IOException e ) {