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 2009/08/11 12:00:28 UTC
svn commit: r803048 - in
/directory/studio/trunk/apacheds-configuration/src/main:
java/org/apache/directory/studio/apacheds/configuration/editor/
java/org/apache/directory/studio/apacheds/configuration/model/
java/org/apache/directory/studio/apacheds/c...
Author: pamarcelot
Date: Tue Aug 11 10:00:28 2009
New Revision: 803048
URL: http://svn.apache.org/viewvc?rev=803048&view=rev
Log:
Fix for DIRSTUDIO-521 (Replace the XSLT transformation by the use of the Dom4J OutputFormat class for XML pretty print).
Removed:
directory/studio/trunk/apacheds-configuration/src/main/resources/org/apache/directory/studio/apacheds/configuration/template.xslt
Modified:
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ServerConfigurationEditor.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/AbstractServerXmlIO.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerXmlIO.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerXmlIOV150.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v151/ServerXmlIOV151.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v152/ServerXmlIOV152.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v153/ServerXmlIOV153.java
directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v154/ServerXmlIOV154.java
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ServerConfigurationEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ServerConfigurationEditor.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ServerConfigurationEditor.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ServerConfigurationEditor.java Tue Aug 11 10:00:28 2009
@@ -482,8 +482,9 @@
* the {@link FileEditorInput}
* @throws ServerConfigurationWriterException
* @throws CoreException
+ * @throws IOException
*/
- private void saveConfiguration( FileEditorInput fei, IProgressMonitor monitor ) throws CoreException
+ private void saveConfiguration( FileEditorInput fei, IProgressMonitor monitor ) throws CoreException, IOException
{
String xml = serverXmlIO.toXml( serverConfiguration );
fei.getFile().setContents( new ByteArrayInputStream( xml.getBytes() ), true, true, monitor );
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/AbstractServerXmlIO.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/AbstractServerXmlIO.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/AbstractServerXmlIO.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/AbstractServerXmlIO.java Tue Aug 11 10:00:28 2009
@@ -30,19 +30,12 @@
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttributes;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamSource;
import org.apache.directory.shared.ldap.ldif.LdifReader;
import org.apache.directory.shared.ldap.util.StringTools;
-import org.apache.directory.studio.apacheds.configuration.ApacheDSConfigurationPlugin;
import org.apache.directory.studio.apacheds.configuration.StudioEntityResolver;
import org.dom4j.Document;
import org.dom4j.Element;
-import org.dom4j.io.DocumentResult;
-import org.dom4j.io.DocumentSource;
import org.dom4j.io.SAXReader;
import org.eclipse.osgi.util.NLS;
@@ -254,36 +247,6 @@
}
- /**
- * XML Pretty Printer XSLT Tranformation
- *
- * @param document
- * the Dom4j Document
- * @return
- * the stylized Document
- * @throws TransformerException
- */
- public static Document styleDocument( Document document ) throws TransformerException
- {
- // load the transformer using JAXP
- TransformerFactory factory = TransformerFactory.newInstance();
- Transformer transformer = null;
-
- transformer = factory.newTransformer( new StreamSource( ApacheDSConfigurationPlugin.class
- .getResourceAsStream( "template.xslt" ) ) ); //$NON-NLS-1$
-
- // now lets style the given document
- DocumentSource source = new DocumentSource( document );
- DocumentResult result = new DocumentResult();
-
- transformer.transform( source, result );
-
- // return the transformed document
- Document transformedDoc = result.getDocument();
- return transformedDoc;
- }
-
-
/* (non-Javadoc)
* @see org.apache.directory.studio.apacheds.configuration.model.ServerXmlIO#isValid(java.io.InputStream)
*/
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerXmlIO.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerXmlIO.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerXmlIO.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerXmlIO.java Tue Aug 11 10:00:28 2009
@@ -20,6 +20,7 @@
package org.apache.directory.studio.apacheds.configuration.model;
+import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
@@ -79,6 +80,8 @@
* the server configuration
* @return
* the corresponding XML representation
+ * @throws IOException
+ * if an error occurs when converting the server configuration as XML
*/
- public String toXml( ServerConfiguration serverConfiguration );
+ public String toXml( ServerConfiguration serverConfiguration ) throws IOException;
}
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerXmlIOV150.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerXmlIOV150.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerXmlIOV150.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerXmlIOV150.java Tue Aug 11 10:00:28 2009
@@ -20,7 +20,10 @@
package org.apache.directory.studio.apacheds.configuration.model.v150;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -30,7 +33,6 @@
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttributes;
-import javax.xml.transform.TransformerException;
import org.apache.directory.studio.apacheds.configuration.StudioEntityResolver;
import org.apache.directory.studio.apacheds.configuration.model.AbstractServerXmlIO;
@@ -40,7 +42,9 @@
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
/**
@@ -317,8 +321,7 @@
}
else
{
- throw new ServerXmlIOException(
- Messages.getString("ServerXmlIOV150.0") ); //$NON-NLS-1$
+ throw new ServerXmlIOException( Messages.getString( "ServerXmlIOV150.0" ) ); //$NON-NLS-1$
}
// Other Partitions
@@ -650,7 +653,7 @@
/* (non-Javadoc)
* @see org.apache.directory.studio.apacheds.configuration.model.ServerXmlIO#toXml(org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration)
*/
- public String toXml( ServerConfiguration serverConfiguration )
+ public String toXml( ServerConfiguration serverConfiguration ) throws IOException
{
Document document = DocumentHelper.createDocument();
Element root = document.addElement( "beans" ); //$NON-NLS-1$
@@ -670,20 +673,22 @@
// CustomEditors Bean
createCustomEditorsBean( root );
- Document stylizedDocument = null;
- try
- {
- stylizedDocument = styleDocument( document );
- }
- catch ( TransformerException e )
- {
- // Will never occur
- }
-
- stylizedDocument.addDocType( "beans", "-//SPRING//DTD BEAN//EN", //$NON-NLS-1$ //$NON-NLS-2$
+ // Adding specific doctype
+ document.addDocType( "beans", "-//SPRING//DTD BEAN//EN", //$NON-NLS-1$ //$NON-NLS-2$
"http://www.springframework.org/dtd/spring-beans.dtd" ); //$NON-NLS-1$
- return stylizedDocument.asXML();
+ // Creating the output stream we're going to put the XML in
+ OutputStream os = new ByteArrayOutputStream();
+ OutputFormat outformat = OutputFormat.createPrettyPrint();
+ outformat.setEncoding( "UTF-8" ); //$NON-NLS-1$
+
+ // Writing the XML.
+ XMLWriter writer = new XMLWriter( os, outformat );
+ writer.write( document );
+ writer.flush();
+ writer.close();
+
+ return os.toString();
}
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v151/ServerXmlIOV151.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v151/ServerXmlIOV151.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v151/ServerXmlIOV151.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v151/ServerXmlIOV151.java Tue Aug 11 10:00:28 2009
@@ -20,7 +20,10 @@
package org.apache.directory.studio.apacheds.configuration.model.v151;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -30,7 +33,6 @@
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttributes;
-import javax.xml.transform.TransformerException;
import org.apache.directory.studio.apacheds.configuration.StudioEntityResolver;
import org.apache.directory.studio.apacheds.configuration.model.AbstractServerXmlIO;
@@ -40,7 +42,9 @@
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
/**
@@ -888,7 +892,7 @@
/* (non-Javadoc)
* @see org.apache.directory.studio.apacheds.configuration.model.ServerXmlIO#toXml(org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration)
*/
- public String toXml( ServerConfiguration serverConfiguration )
+ public String toXml( ServerConfiguration serverConfiguration ) throws IOException
{
Document document = DocumentHelper.createDocument();
Element root = document.addElement( "beans" ); //$NON-NLS-1$
@@ -925,21 +929,23 @@
// CustomEditors Bean
createCustomEditorsBean( root );
-
- Document stylizedDocument = null;
- try
- {
- stylizedDocument = styleDocument( document );
- }
- catch ( TransformerException e )
- {
- // Will never occur
- }
-
- stylizedDocument.addDocType( "beans", "-//SPRING//DTD BEAN//EN", //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Adding specific doctype
+ document.addDocType( "beans", "-//SPRING//DTD BEAN//EN", //$NON-NLS-1$ //$NON-NLS-2$
"http://www.springframework.org/dtd/spring-beans.dtd" ); //$NON-NLS-1$
- return stylizedDocument.asXML();
+ // Creating the output stream we're going to put the XML in
+ OutputStream os = new ByteArrayOutputStream();
+ OutputFormat outformat = OutputFormat.createPrettyPrint();
+ outformat.setEncoding( "UTF-8" ); //$NON-NLS-1$
+
+ // Writing the XML.
+ XMLWriter writer = new XMLWriter( os, outformat );
+ writer.write( document );
+ writer.flush();
+ writer.close();
+
+ return os.toString();
}
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v152/ServerXmlIOV152.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v152/ServerXmlIOV152.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v152/ServerXmlIOV152.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v152/ServerXmlIOV152.java Tue Aug 11 10:00:28 2009
@@ -20,7 +20,10 @@
package org.apache.directory.studio.apacheds.configuration.model.v152;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -29,7 +32,6 @@
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
-import javax.xml.transform.TransformerException;
import org.apache.directory.studio.apacheds.configuration.StudioEntityResolver;
import org.apache.directory.studio.apacheds.configuration.model.AbstractServerXmlIO;
@@ -41,7 +43,9 @@
import org.dom4j.Element;
import org.dom4j.Namespace;
import org.dom4j.QName;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
import org.eclipse.osgi.util.NLS;
@@ -1353,7 +1357,7 @@
/* (non-Javadoc)
* @see org.apache.directory.studio.apacheds.configuration.model.ServerXmlIO#toXml(org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration)
*/
- public String toXml( ServerConfiguration serverConfiguration )
+ public String toXml( ServerConfiguration serverConfiguration ) throws IOException
{
// Creating the document
Document document = DocumentHelper.createDocument();
@@ -1407,17 +1411,18 @@
// CustomEditorConfigurer Bean
createCustomEditorConfigurerBean( root );
- Document stylizedDocument = null;
- try
- {
- stylizedDocument = styleDocument( document );
- }
- catch ( TransformerException e )
- {
- // Will never occur
- }
-
- return stylizedDocument.asXML();
+ // Creating the output stream we're going to put the XML in
+ OutputStream os = new ByteArrayOutputStream();
+ OutputFormat outformat = OutputFormat.createPrettyPrint();
+ outformat.setEncoding( "UTF-8" ); //$NON-NLS-1$
+
+ // Writing the XML.
+ XMLWriter writer = new XMLWriter( os, outformat );
+ writer.write( document );
+ writer.flush();
+ writer.close();
+
+ return os.toString();
}
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v153/ServerXmlIOV153.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v153/ServerXmlIOV153.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v153/ServerXmlIOV153.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v153/ServerXmlIOV153.java Tue Aug 11 10:00:28 2009
@@ -20,7 +20,10 @@
package org.apache.directory.studio.apacheds.configuration.model.v153;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -29,7 +32,6 @@
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
-import javax.xml.transform.TransformerException;
import org.apache.directory.studio.apacheds.configuration.StudioEntityResolver;
import org.apache.directory.studio.apacheds.configuration.model.AbstractServerXmlIO;
@@ -41,7 +43,9 @@
import org.dom4j.Element;
import org.dom4j.Namespace;
import org.dom4j.QName;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
import org.eclipse.osgi.util.NLS;
@@ -1410,7 +1414,7 @@
/* (non-Javadoc)
* @see org.apache.directory.studio.apacheds.configuration.model.ServerXmlIO#toXml(org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration)
*/
- public String toXml( ServerConfiguration serverConfiguration )
+ public String toXml( ServerConfiguration serverConfiguration ) throws IOException
{
// Creating the document
Document document = DocumentHelper.createDocument();
@@ -1464,17 +1468,18 @@
// CustomEditorConfigurer Bean
createCustomEditorConfigurerBean( root );
- Document stylizedDocument = null;
- try
- {
- stylizedDocument = styleDocument( document );
- }
- catch ( TransformerException e )
- {
- // Will never occur
- }
-
- return stylizedDocument.asXML();
+ // Creating the output stream we're going to put the XML in
+ OutputStream os = new ByteArrayOutputStream();
+ OutputFormat outformat = OutputFormat.createPrettyPrint();
+ outformat.setEncoding( "UTF-8" ); //$NON-NLS-1$
+
+ // Writing the XML.
+ XMLWriter writer = new XMLWriter( os, outformat );
+ writer.write( document );
+ writer.flush();
+ writer.close();
+
+ return os.toString();
}
Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v154/ServerXmlIOV154.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v154/ServerXmlIOV154.java?rev=803048&r1=803047&r2=803048&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v154/ServerXmlIOV154.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v154/ServerXmlIOV154.java Tue Aug 11 10:00:28 2009
@@ -20,13 +20,14 @@
package org.apache.directory.studio.apacheds.configuration.model.v154;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import javax.xml.transform.TransformerException;
-
import org.apache.directory.studio.apacheds.configuration.StudioEntityResolver;
import org.apache.directory.studio.apacheds.configuration.model.AbstractServerXmlIO;
import org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration;
@@ -37,7 +38,9 @@
import org.dom4j.Element;
import org.dom4j.Namespace;
import org.dom4j.QName;
+import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
/**
@@ -1273,7 +1276,7 @@
/* (non-Javadoc)
* @see org.apache.directory.studio.apacheds.configuration.model.ServerXmlIO#toXml(org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration)
*/
- public String toXml( ServerConfiguration serverConfiguration )
+ public String toXml( ServerConfiguration serverConfiguration ) throws IOException
{
// Creating the document
Document document = DocumentHelper.createDocument();
@@ -1327,17 +1330,18 @@
// CustomEditorConfigurer Bean
createCustomEditorConfigurerBean( root );
- Document stylizedDocument = null;
- try
- {
- stylizedDocument = styleDocument( document );
- }
- catch ( TransformerException e )
- {
- // Will never occur
- }
+ // Creating the output stream we're going to put the XML in
+ OutputStream os = new ByteArrayOutputStream();
+ OutputFormat outformat = OutputFormat.createPrettyPrint();
+ outformat.setEncoding( "UTF-8" ); //$NON-NLS-1$
+
+ // Writing the XML.
+ XMLWriter writer = new XMLWriter( os, outformat );
+ writer.write( document );
+ writer.flush();
+ writer.close();
- return stylizedDocument.asXML();
+ return os.toString();
}