cvs commit: spice/sandbox/metaclass/src/java/org/realityforge/metaclass/io MetaClassIOXml.java

Peter Donald <[email protected]>
Newsgroups gmane.comp.java.spice.cvs
Message-ID <[email protected]>
donaldp     03/10/29 02:28:02

  Modified:    sandbox/metaclass/src/java/org/realityforge/metaclass/io
                        MetaClassIOXml.java
  Log:
  Add deserialization of XML via new code - does not work atm
  
  Revision  Changes    Path
  1.6       +18 -2     spice/sandbox/metaclass/src/java/org/realityforge/metaclass/io/MetaClassIOXml.java
  
  Index: MetaClassIOXml.java
  ===================================================================
  RCS file: /cvsroot/spice/spice/sandbox/metaclass/src/java/org/realityforge/metaclass/io/MetaClassIOXml.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MetaClassIOXml.java	28 Oct 2003 08:15:02 -0000	1.5
  +++ MetaClassIOXml.java	29 Oct 2003 10:28:02 -0000	1.6
  @@ -16,15 +16,19 @@
   import javax.xml.transform.sax.SAXTransformerFactory;
   import javax.xml.transform.sax.TransformerHandler;
   import javax.xml.transform.stream.StreamResult;
  +import javax.xml.parsers.DocumentBuilderFactory;
  +import javax.xml.parsers.DocumentBuilder;
   import org.realityforge.metaclass.model.ClassDescriptor;
   import org.xml.sax.SAXException;
  +import org.w3c.dom.Document;
  +import org.w3c.dom.Element;
   
   /**
    * This is a utility class that writes out the ClassDescriptor
    * to a stream using the xml format outlined in documentation.
    *
    * @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
  - * @version $Revision: 1.5 $ $Date: 2003/10/28 08:15:02 $
  + * @version $Revision: 1.6 $ $Date: 2003/10/29 10:28:02 $
    */
   public class MetaClassIOXml
       implements MetaClassIO
  @@ -40,7 +44,19 @@
       public ClassDescriptor deserializeClass( final InputStream input )
           throws IOException
       {
  -        throw new IOException( "Not supported yet!" );
  +        final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  +        try
  +        {
  +            final DocumentBuilder builder = factory.newDocumentBuilder();
  +            final Document document = builder.parse( input );
  +            final DOMMetaClassDeserializer deserializer = new DOMMetaClassDeserializer();
  +            final Element element = document.getDocumentElement();
  +            return deserializer.buildClassDescriptor( element );
  +        }
  +        catch( final Exception e )
  +        {
  +            throw new IOException( e.getMessage() );
  +        }
       }
   
       /**
  
  
  


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.