jochen      2005/05/22 14:01:13

  Modified:    src/java/org/apache/xmlrpc/parser Tag: b20050512_streaming
                        TypeParserImpl.java RecursiveTypeParserImpl.java
                        TypeParser.java
               src/java/org/apache/xmlrpc/jaxb Tag: b20050512_streaming
                        JaxbParser.java
               src/java/org/apache/xmlrpc/common Tag: b20050512_streaming
                        TypeFactoryImpl.java
  Added:       src/java/org/apache/xmlrpc/parser Tag: b20050512_streaming
                        SerializableParser.java
  Log:
  Added support for instances of java.io.Serializable.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.3   +2 -1      
ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/TypeParserImpl.java
  
  Index: TypeParserImpl.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/TypeParserImpl.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- TypeParserImpl.java       21 May 2005 21:23:51 -0000      1.1.2.2
  +++ TypeParserImpl.java       22 May 2005 21:01:13 -0000      1.1.2.3
  @@ -15,6 +15,7 @@
    */
   package org.apache.xmlrpc.parser;
   
  +import org.apache.xmlrpc.XmlRpcException;
   import org.xml.sax.Locator;
   import org.xml.sax.SAXException;
   import org.xml.sax.SAXParseException;
  @@ -31,7 +32,7 @@
         * @param pResult The result object.
         */
        public void setResult(Object pResult) { result = pResult; }
  -     public Object getResult() { return result; }
  +     public Object getResult() throws XmlRpcException { return result; }
   
        /** Returns the document locator.
         * @return Locator object describing the current location within the
  
  
  
  1.1.2.4   +6 -1      
ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/RecursiveTypeParserImpl.java
  
  Index: RecursiveTypeParserImpl.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/RecursiveTypeParserImpl.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- RecursiveTypeParserImpl.java      21 May 2005 21:23:51 -0000      1.1.2.3
  +++ RecursiveTypeParserImpl.java      22 May 2005 21:01:13 -0000      1.1.2.4
  @@ -18,6 +18,7 @@
   import javax.xml.namespace.QName;
   
   import org.apache.ws.commons.util.NamespaceContextImpl;
  +import org.apache.xmlrpc.XmlRpcException;
   import org.apache.xmlrpc.common.TypeFactory;
   import org.apache.xmlrpc.common.XmlRpcExtensionException;
   import org.apache.xmlrpc.common.XmlRpcStreamConfig;
  @@ -66,7 +67,11 @@
                                text = null;
                        } else {
                                typeParser.endDocument();
  -                             addResult(typeParser.getResult());
  +                             try {
  +                                     addResult(typeParser.getResult());
  +                             } catch (XmlRpcException e) {
  +                                     throw new SAXException(e);
  +                             }
                                typeParser = null;
                        }
                } else {
  
  
  
  1.1.2.2   +3 -1      
ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/TypeParser.java
  
  Index: TypeParser.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/TypeParser.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- TypeParser.java   12 May 2005 01:58:50 -0000      1.1.2.1
  +++ TypeParser.java   22 May 2005 21:01:13 -0000      1.1.2.2
  @@ -15,6 +15,7 @@
    */
   package org.apache.xmlrpc.parser;
   
  +import org.apache.xmlrpc.XmlRpcException;
   import org.xml.sax.ContentHandler;
   
   
  @@ -24,8 +25,9 @@
   public interface TypeParser extends ContentHandler {
        /** Returns the parsed object.
         * @return The parameter or result object.
  +      * @throws XmlRpcException Creating the result object failed.
         * @throws IllegalStateException The method was invoked before
         * [EMAIL PROTECTED] org.xml.sax.ContentHandler#endDocument}.
         */
  -     public Object getResult();
  +     public Object getResult() throws XmlRpcException;
   }
  
  
  
  No                   revision
  
  Index: TypeParser.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/TypeParser.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- TypeParser.java   12 May 2005 01:58:50 -0000      1.1.2.1
  +++ TypeParser.java   22 May 2005 21:01:13 -0000      1.1.2.2
  @@ -15,6 +15,7 @@
    */
   package org.apache.xmlrpc.parser;
   
  +import org.apache.xmlrpc.XmlRpcException;
   import org.xml.sax.ContentHandler;
   
   
  @@ -24,8 +25,9 @@
   public interface TypeParser extends ContentHandler {
        /** Returns the parsed object.
         * @return The parameter or result object.
  +      * @throws XmlRpcException Creating the result object failed.
         * @throws IllegalStateException The method was invoked before
         * [EMAIL PROTECTED] org.xml.sax.ContentHandler#endDocument}.
         */
  -     public Object getResult();
  +     public Object getResult() throws XmlRpcException;
   }
  
  
  
  No                   revision
  
  Index: TypeParser.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/TypeParser.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- TypeParser.java   12 May 2005 01:58:50 -0000      1.1.2.1
  +++ TypeParser.java   22 May 2005 21:01:13 -0000      1.1.2.2
  @@ -15,6 +15,7 @@
    */
   package org.apache.xmlrpc.parser;
   
  +import org.apache.xmlrpc.XmlRpcException;
   import org.xml.sax.ContentHandler;
   
   
  @@ -24,8 +25,9 @@
   public interface TypeParser extends ContentHandler {
        /** Returns the parsed object.
         * @return The parameter or result object.
  +      * @throws XmlRpcException Creating the result object failed.
         * @throws IllegalStateException The method was invoked before
         * [EMAIL PROTECTED] org.xml.sax.ContentHandler#endDocument}.
         */
  -     public Object getResult();
  +     public Object getResult() throws XmlRpcException;
   }
  
  
  
  1.1.2.1   +40 -0     
ws-xmlrpc/src/java/org/apache/xmlrpc/parser/Attic/SerializableParser.java
  
  
  
  
  No                   revision
  No                   revision
  1.1.2.2   +4 -4      
ws-xmlrpc/src/java/org/apache/xmlrpc/jaxb/Attic/JaxbParser.java
  
  Index: JaxbParser.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/jaxb/Attic/JaxbParser.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- JaxbParser.java   21 May 2005 22:01:24 -0000      1.1.2.1
  +++ JaxbParser.java   22 May 2005 21:01:13 -0000      1.1.2.2
  @@ -1,11 +1,10 @@
   package org.apache.xmlrpc.jaxb;
   
  -import java.lang.reflect.UndeclaredThrowableException;
  -
   import javax.xml.bind.JAXBContext;
   import javax.xml.bind.JAXBException;
   import javax.xml.bind.UnmarshallerHandler;
   
  +import org.apache.xmlrpc.XmlRpcException;
   import org.apache.xmlrpc.parser.ExtParser;
   import org.xml.sax.ContentHandler;
   import org.xml.sax.SAXException;
  @@ -34,11 +33,12 @@
        }
   
        protected String getTagName() { return JaxbSerializer.JAXB_TAG; }
  -     public Object getResult() {
  +
  +     public Object getResult() throws XmlRpcException {
                try {
                        return handler.getResult();
                } catch (JAXBException e) {
  -                     throw new UndeclaredThrowableException(e);
  +                     throw new XmlRpcException("Failed to create result 
object: " + e.getMessage(), e);
                }
        }
   }
  
  
  
  No                   revision
  No                   revision
  1.1.2.6   +12 -0     
ws-xmlrpc/src/java/org/apache/xmlrpc/common/Attic/TypeFactoryImpl.java
  
  Index: TypeFactoryImpl.java
  ===================================================================
  RCS file: 
/home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/common/Attic/TypeFactoryImpl.java,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- TypeFactoryImpl.java      21 May 2005 22:01:24 -0000      1.1.2.5
  +++ TypeFactoryImpl.java      22 May 2005 21:01:13 -0000      1.1.2.6
  @@ -15,6 +15,7 @@
    */
   package org.apache.xmlrpc.common;
   
  +import java.io.Serializable;
   import java.util.Date;
   import java.util.List;
   import java.util.Map;
  @@ -34,6 +35,7 @@
   import org.apache.xmlrpc.parser.NodeParser;
   import org.apache.xmlrpc.parser.NullParser;
   import org.apache.xmlrpc.parser.ObjectArrayParser;
  +import org.apache.xmlrpc.parser.SerializableParser;
   import org.apache.xmlrpc.parser.TypeParser;
   import org.apache.xmlrpc.serializer.BooleanSerializer;
   import org.apache.xmlrpc.serializer.ByteArraySerializer;
  @@ -49,6 +51,7 @@
   import org.apache.xmlrpc.serializer.NodeSerializer;
   import org.apache.xmlrpc.serializer.NullSerializer;
   import org.apache.xmlrpc.serializer.ObjectArraySerializer;
  +import org.apache.xmlrpc.serializer.SerializableSerializer;
   import org.apache.xmlrpc.serializer.StringSerializer;
   import org.apache.xmlrpc.serializer.TypeSerializer;
   import org.apache.xmlrpc.serializer.XmlRpcWriter;
  @@ -70,6 +73,7 @@
        private static final TypeSerializer LONG_SERIALIZER = new 
I8Serializer();
        private static final TypeSerializer FLOAT_SERIALIZER = new 
FloatSerializer();
        private static final TypeSerializer NODE_SERIALIZER = new 
NodeSerializer();
  +     private static final TypeSerializer SERIALIZABLE_SERIALIZER = new 
SerializableSerializer();
   
        private final XmlRpcController controller;
   
  @@ -143,6 +147,12 @@
                        } else {
                                throw new SAXException(new 
XmlRpcExtensionException("DOM nodes aren't supported, if 
isEnabledForExtensions() == false"));
                        }
  +             } else if (pObject instanceof Serializable) {
  +                     if (pConfig.isEnabledForExtensions()) {
  +                             return SERIALIZABLE_SERIALIZER;
  +                     } else {
  +                             throw new SAXException(new 
XmlRpcExtensionException("Serializable objects aren't supported, if 
isEnabledForExtensions() == false"));
  +                     }
                } else {
                        return null;
                }
  @@ -165,6 +175,8 @@
                                return new FloatParser();
                        } else if (NodeSerializer.DOM_TAG.equals(pLocalName)) {
                                return new NodeParser();
  +                     } else if 
(SerializableSerializer.SERIALIZABLE_TAG.equals(pLocalName)) {
  +                             return new SerializableParser();
                        }
                } else if ("".equals(pURI)) {
                        if (I4Serializer.INT_TAG.equals(pLocalName)  ||  
I4Serializer.I4_TAG.equals(pLocalName)) {
  
  
  

Reply via email to