[jboss-svn-commits] JBoss Common SVN: r2861 - in jbossxb/trunk/src/main/java/org/jboss/xb/binding: parser and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 10 17:48:00 EDT 2008


Author: alesj
Date: 2008-06-10 17:47:59 -0400 (Tue, 10 Jun 2008)
New Revision: 2861

Modified:
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/Unmarshaller.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/JBossXBParser.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/sax/SaxJBossXBParser.java
Log:
[JBXB-144]; enable both stream/reader and systemId.

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/Unmarshaller.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/Unmarshaller.java	2008-06-10 21:20:30 UTC (rev 2860)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/Unmarshaller.java	2008-06-10 21:47:59 UTC (rev 2861)
@@ -24,10 +24,10 @@
 import java.io.InputStream;
 import java.io.Reader;
 
+import org.jboss.xb.binding.metadata.unmarshalling.DocumentBinding;
 import org.jboss.xb.binding.parser.JBossXBParser;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-import org.jboss.xb.binding.metadata.unmarshalling.DocumentBinding;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.ErrorHandler;
 
@@ -67,18 +67,30 @@
 
    Object unmarshal(Reader xmlReader, SchemaBinding schemaBinding) throws JBossXBException;
 
+   Object unmarshal(Reader xmlReader, String systemId, SchemaBinding schemaBinding) throws JBossXBException;
+
    Object unmarshal(InputStream xmlStream, SchemaBinding schemaBinding) throws JBossXBException;
 
+   Object unmarshal(InputStream xmlStream, String systemId, SchemaBinding schemaBinding) throws JBossXBException;
+
    Object unmarshal(String xml, SchemaBindingResolver schemaResolver) throws JBossXBException;
 
    Object unmarshal(Reader xmlReader, SchemaBindingResolver schemaResolver) throws JBossXBException;
 
+   Object unmarshal(Reader xmlReader, String systemId, SchemaBindingResolver schemaResolver) throws JBossXBException;
+
    Object unmarshal(InputStream xmlStream, SchemaBindingResolver schemaResolver) throws JBossXBException;
 
+   Object unmarshal(InputStream xmlStream, String systemId, SchemaBindingResolver schemaResolver) throws JBossXBException;
+
    Object unmarshal(Reader reader, ObjectModelFactory factory, Object root) throws JBossXBException;
 
+   Object unmarshal(Reader reader, String systemId, ObjectModelFactory factory, Object root) throws JBossXBException;
+
    Object unmarshal(InputStream is, ObjectModelFactory factory, Object root) throws JBossXBException;
 
+   Object unmarshal(InputStream is, String systemId, ObjectModelFactory factory, Object root) throws JBossXBException;
+
    Object unmarshal(String systemId, ObjectModelFactory factory, Object root) throws JBossXBException;
 
    Object unmarshal(String systemId, ObjectModelFactory factory, DocumentBinding binding) throws JBossXBException;

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java	2008-06-10 21:20:30 UTC (rev 2860)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java	2008-06-10 21:47:59 UTC (rev 2861)
@@ -24,12 +24,12 @@
 import java.io.InputStream;
 import java.io.Reader;
 
+import org.jboss.xb.binding.metadata.unmarshalling.DocumentBinding;
 import org.jboss.xb.binding.parser.JBossXBParser;
 import org.jboss.xb.binding.parser.sax.SaxJBossXBParser;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler;
-import org.jboss.xb.binding.metadata.unmarshalling.DocumentBinding;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.ErrorHandler;
 
@@ -126,6 +126,13 @@
       return cHandler.getRoot();
    }
 
+   public Object unmarshal(Reader xmlReader, String systemId, SchemaBinding schemaBinding) throws JBossXBException
+   {
+      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
+      parser.parse(xmlReader, systemId, cHandler);
+      return cHandler.getRoot();
+   }
+
    public Object unmarshal(InputStream xmlStream, SchemaBinding schemaBinding) throws JBossXBException
    {
       JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
@@ -133,6 +140,13 @@
       return cHandler.getRoot();
    }
 
+   public Object unmarshal(InputStream xmlStream, String systemId, SchemaBinding schemaBinding) throws JBossXBException
+   {
+      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
+      parser.parse(xmlStream, systemId, cHandler);
+      return cHandler.getRoot();
+   }
+
    public Object unmarshal(String xml, SchemaBindingResolver schemaResolver) throws JBossXBException
    {
       JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
@@ -147,6 +161,13 @@
       return cHandler.getRoot();
    }
 
+   public Object unmarshal(Reader xmlReader, String systemId, SchemaBindingResolver schemaResolver) throws JBossXBException
+   {
+      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
+      parser.parse(xmlReader, systemId, cHandler);
+      return cHandler.getRoot();
+   }
+
    public Object unmarshal(InputStream xmlStream, SchemaBindingResolver schemaResolver) throws JBossXBException
    {
       JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
@@ -154,6 +175,13 @@
       return cHandler.getRoot();
    }
 
+   public Object unmarshal(InputStream xmlStream, String systemId, SchemaBindingResolver schemaResolver) throws JBossXBException
+   {
+      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
+      parser.parse(xmlStream, systemId, cHandler);
+      return cHandler.getRoot();
+   }
+
    public Object unmarshal(Reader reader, ObjectModelFactory factory, Object root) throws JBossXBException
    {
       if(builder == null)
@@ -165,6 +193,17 @@
       return builder.getRoot();
    }
 
+   public Object unmarshal(Reader reader, String systemId, ObjectModelFactory factory, Object root) throws JBossXBException
+   {
+      if(builder == null)
+      {
+         builder = new ObjectModelBuilder();
+      }
+      builder.init(factory, root);
+      parser.parse(reader, systemId, builder);
+      return builder.getRoot();
+   }
+
    public Object unmarshal(InputStream is, ObjectModelFactory factory, Object root) throws JBossXBException
    {
       if(builder == null)
@@ -176,6 +215,17 @@
       return builder.getRoot();
    }
 
+   public Object unmarshal(InputStream is, String systemId, ObjectModelFactory factory, Object root) throws JBossXBException
+   {
+      if(builder == null)
+      {
+         builder = new ObjectModelBuilder();
+      }
+      builder.init(factory, root);
+      parser.parse(is, systemId, builder);
+      return builder.getRoot();
+   }
+
    public Object unmarshal(String systemId, ObjectModelFactory factory, Object root) throws JBossXBException
    {
       if(builder == null)

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/JBossXBParser.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/JBossXBParser.java	2008-06-10 21:20:30 UTC (rev 2860)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/JBossXBParser.java	2008-06-10 21:47:59 UTC (rev 2861)
@@ -21,15 +21,14 @@
   */
 package org.jboss.xb.binding.parser;
 
+import java.io.InputStream;
+import java.io.Reader;
+
+import org.apache.xerces.xs.XSTypeDefinition;
+import org.jboss.xb.binding.JBossXBException;
 import org.xml.sax.Attributes;
 import org.xml.sax.EntityResolver;
-import org.xml.sax.SAXException;
-import org.jboss.xb.binding.JBossXBException;
-import org.apache.xerces.xs.XSTypeDefinition;
 
-import java.io.Reader;
-import java.io.InputStream;
-
 /**
  * @author <a href="mailto:alex at jboss.org">Alexey Loubyansky</a>
  * @version <tt>$Revision$</tt>
@@ -71,5 +70,9 @@
 
    void parse(InputStream is, ContentHandler handler) throws JBossXBException;
 
+   void parse(InputStream is, String systemId, ContentHandler handler) throws JBossXBException;
+
    void parse(Reader reader, ContentHandler handler) throws JBossXBException;
+
+   void parse(Reader reader, String systemId, ContentHandler handler) throws JBossXBException;
 }

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/sax/SaxJBossXBParser.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/sax/SaxJBossXBParser.java	2008-06-10 21:20:30 UTC (rev 2860)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/parser/sax/SaxJBossXBParser.java	2008-06-10 21:47:59 UTC (rev 2861)
@@ -180,13 +180,21 @@
 
    public void parse(InputStream is, ContentHandler handler) throws JBossXBException
    {
+      parse(is, null, handler);
+   }
+
+   public void parse(InputStream is, String systemId, ContentHandler handler) throws JBossXBException
+   {
       this.contentHandler = handler;
       trace = log.isTraceEnabled();
       
       logParserInfo();
       try
       {
-         reader.parse(new InputSource(is));
+         InputSource source = new InputSource(is);
+         if (systemId != null)
+            source.setSystemId(systemId);
+         reader.parse(source);
       }
       catch(Throwable e)
       {
@@ -196,13 +204,21 @@
 
    public void parse(Reader reader, ContentHandler handler) throws JBossXBException
    {
+      parse(reader, null, handler);   
+   }
+
+   public void parse(Reader reader, String systemId, ContentHandler handler) throws JBossXBException
+   {
       this.contentHandler = handler;
       trace = log.isTraceEnabled();
       
       logParserInfo();
       try
       {
-         this.reader.parse(new InputSource(reader));
+         InputSource source = new InputSource(reader);
+         if (systemId != null)
+            source.setSystemId(systemId);
+         this.reader.parse(source);
       }
       catch(Throwable e)
       {




More information about the jboss-svn-commits mailing list