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]>

Reply via email to