proyal 2002/07/26 12:26:29
Modified: src/java/org/apache/avalon/framework/configuration
DefaultConfigurationSerializer.java
Log:
Add method to serialize to String
Revision Changes Path
1.16 +27 -8
jakarta-avalon/src/java/org/apache/avalon/framework/configuration/DefaultConfigurationSerializer.java
Index: DefaultConfigurationSerializer.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/configuration/DefaultConfigurationSerializer.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- DefaultConfigurationSerializer.java 24 Jul 2002 15:50:18 -0000
1.15
+++ DefaultConfigurationSerializer.java 26 Jul 2002 19:26:29 -0000
1.16
@@ -11,10 +11,12 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.io.StringWriter;
import java.net.URL;
import java.util.Properties;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.Result;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
@@ -57,14 +59,14 @@
* @param out an <code>OutputStream</code> value
* @return contenthandler that goes to specified OutputStream
*/
- protected ContentHandler createContentHandler( final OutputStream out )
+ protected ContentHandler createContentHandler( final Result result )
{
try
{
TransformerHandler handler =
getTransformerFactory().newTransformerHandler();
m_format.put( OutputKeys.METHOD, "xml" );
- handler.setResult( new StreamResult( out ) );
+ handler.setResult( result );
handler.getTransformer().setOutputProperties( m_format );
return handler;
@@ -237,12 +239,12 @@
throws SAXException, IOException, ConfigurationException
{
OutputStream outputStream = null;
- try
+ try
{
outputStream = new FileOutputStream( file );
serialize( outputStream, source );
- }
- finally
+ }
+ finally
{
if( outputStream != null )
{
@@ -262,7 +264,7 @@
public void serialize( final OutputStream outputStream, final
Configuration source )
throws SAXException, IOException, ConfigurationException
{
- serialize( createContentHandler( outputStream ), source );
+ serialize( createContentHandler( new StreamResult( outputStream ) ),
source );
}
/**
@@ -278,11 +280,11 @@
throws SAXException, IOException, ConfigurationException
{
OutputStream outputStream = null;
- try
+ try
{
outputStream = new URL( uri ).openConnection().getOutputStream();
serialize( outputStream, source );
- }
+ }
finally
{
if( outputStream != null )
@@ -290,5 +292,22 @@
outputStream.close();
}
}
+ }
+
+ /**
+ * Serialize the configuration object to a string
+ * @param source a <code>Configuration</code> value
+ * @return configuration serialized as a string.
+ * @throws SAXException if an error occurs
+ * @throws ConfigurationException if an error occurs
+ */
+ public String serialize( final Configuration source )
+ throws SAXException, ConfigurationException
+ {
+ final StringWriter writer = new StringWriter();
+
+ serialize( createContentHandler( new StreamResult( writer ) ),
source );
+
+ return writer.toString();
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>