You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sc...@apache.org on 2002/01/26 03:47:22 UTC

cvs commit: xml-axis/java/src/org/apache/axis/message BodyBuilder.java MessageElement.java RPCElement.java RPCHandler.java RPCParam.java SOAPEnvelope.java SOAPFaultBuilder.java SOAPHandler.java SOAPHeader.java

scheu       02/01/25 18:47:22

  Modified:    java/src/org/apache/axis/message BodyBuilder.java
                        MessageElement.java RPCElement.java RPCHandler.java
                        RPCParam.java SOAPEnvelope.java
                        SOAPFaultBuilder.java SOAPHandler.java
                        SOAPHeader.java
  Log:
  (See prior commits)
  
  Revision  Changes    Path
  1.14      +2 -2      xml-axis/java/src/org/apache/axis/message/BodyBuilder.java
  
  Index: BodyBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/BodyBuilder.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- BodyBuilder.java	6 Dec 2001 17:09:41 -0000	1.13
  +++ BodyBuilder.java	26 Jan 2002 02:47:22 -0000	1.14
  @@ -106,7 +106,7 @@
            * description, which can then tell us what to create.
            */
           boolean isRoot = true;
  -        String root = attributes.getValue(Constants.URI_SOAP_ENC,
  +        String root = attributes.getValue(Constants.URI_CURRENT_SOAP_ENC,
                                           Constants.ATTR_ROOT);
           if ((root != null) && root.equals("0")) isRoot = false;
   
  @@ -147,7 +147,7 @@
               element = new SOAPBodyElement(namespace, localName, prefix,
                                         attributes, context);
               if (element.getFixupDeserializer() != null)
  -                handler = element.getFixupDeserializer();
  +                handler = (SOAPHandler) element.getFixupDeserializer();
           }
   
           if (handler == null)
  
  
  
  1.72      +11 -13    xml-axis/java/src/org/apache/axis/message/MessageElement.java
  
  Index: MessageElement.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/MessageElement.java,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- MessageElement.java	16 Jan 2002 16:25:42 -0000	1.71
  +++ MessageElement.java	26 Jan 2002 02:47:22 -0000	1.72
  @@ -60,9 +60,8 @@
   import org.apache.axis.configuration.NullProvider;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
  -import org.apache.axis.encoding.SOAPTypeMappingRegistry;
   import org.apache.axis.encoding.SerializationContext;
  -import org.apache.axis.encoding.TypeMappingRegistry;
  +import org.apache.axis.encoding.SerializationContextImpl;
   import org.apache.axis.utils.Mapping;
   import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.XMLUtils;
  @@ -163,7 +162,7 @@
               this.attributes = new AttributesImpl();
           } else {
               this.attributes = new AttributesImpl(attributes);
  -            String rootVal = attributes.getValue(Constants.URI_SOAP_ENC, Constants.ATTR_ROOT);
  +            String rootVal = attributes.getValue(Constants.URI_CURRENT_SOAP_ENC, Constants.ATTR_ROOT);
               if (rootVal != null)
                   _isRoot = rootVal.equals("1");
   
  @@ -176,8 +175,8 @@
               href = attributes.getValue(Constants.ATTR_HREF);
   
               // If there's an arrayType attribute, we can pretty well guess that we're an Array???
  -            if (attributes.getValue(Constants.URI_SOAP_ENC, Constants.ATTR_ARRAY_TYPE) != null)
  -                typeQName = SOAPTypeMappingRegistry.SOAP_ARRAY;
  +            if (attributes.getValue(Constants.URI_CURRENT_SOAP_ENC, Constants.ATTR_ARRAY_TYPE) != null)
  +                typeQName = Constants.SOAP_ARRAY;
           }
       }
   
  @@ -313,14 +312,13 @@
           if (context == null)
               throw new Exception(JavaUtils.getMessage("noContext00"));
   
  -        TypeMappingRegistry tmr = context.getTypeMappingRegistry();
  -        Deserializer dser = tmr.getDeserializer(type);
  +        Deserializer dser = context.getDeserializerForType(type);
           if (dser == null)
               throw new Exception(JavaUtils.getMessage("noDeser00", "" + type));
   
  -        context.pushElementHandler(new EnvelopeHandler(dser));
  +        context.pushElementHandler(new EnvelopeHandler((SOAPHandler)dser));
   
  -        publishToHandler(context);
  +        publishToHandler((org.xml.sax.ContentHandler) context);
   
           return dser.getValue();
       }
  @@ -419,9 +417,9 @@
           if(context != null)
           {
               MessageContext msgContext = context.getMessageContext();
  -            serializeContext = new SerializationContext(writer, msgContext);
  +            serializeContext = new SerializationContextImpl(writer, msgContext);
           } else {
  -            serializeContext = new SerializationContext(writer);
  +            serializeContext = new SerializationContextImpl(writer);
           }
           output(serializeContext);
           writer.close();
  @@ -506,8 +504,8 @@
       public String toString() {
           try {
               StringWriter  writer = new StringWriter();
  -            SerializationContext serContext = new SerializationContext(writer, 
  -                                                                       null);
  +            SerializationContext serContext = new SerializationContextImpl(writer, 
  +                                                                           null);
               serContext.setSendDecl(false);
               this.output(serContext);
               return( writer.toString() );
  
  
  
  1.30      +3 -4      xml-axis/java/src/org/apache/axis/message/RPCElement.java
  
  Index: RPCElement.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCElement.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- RPCElement.java	18 Jan 2002 17:45:26 -0000	1.29
  +++ RPCElement.java	26 Jan 2002 02:47:22 -0000	1.30
  @@ -115,7 +115,7 @@
           
           needDeser = false;
           
  -        publishToHandler(context);
  +        publishToHandler((org.xml.sax.ContentHandler) context);
       }
       
       /** This gets the FIRST param whose name matches.
  @@ -167,13 +167,12 @@
       {
   /*
           if (encodingStyle != null) {
  -            QName qn = new QName(Constants.URI_SOAP_ENC,
  +            QName qn = new QName(Constants.URI_CURRENT_SOAP_ENC, 
                                    Constants.ATTR_ENCODING_STYLE);
   
               if (attributes == null)
                   attributes = new AttributesImpl();
  -
  -            attributes.addAttribute(Constants.URI_SOAP_ENC,
  +            attributes.addAttribute(Constants.URI_CURRENT_SOAP_ENC, 
                                       Constants.ATTR_ENCODING_STYLE,
                                       context.qName2String(qn),
                                       "CDATA",
  
  
  
  1.23      +9 -7      xml-axis/java/src/org/apache/axis/message/RPCHandler.java
  
  Index: RPCHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCHandler.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- RPCHandler.java	4 Jan 2002 22:30:03 -0000	1.22
  +++ RPCHandler.java	26 Jan 2002 02:47:22 -0000	1.23
  @@ -67,7 +67,9 @@
   import org.apache.axis.client.Call;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
  -import org.apache.axis.encoding.TypeMappingRegistry;
  +import org.apache.axis.encoding.DeserializerImpl;
  +import org.apache.axis.encoding.TypeMapping;
  +import org.apache.axis.encoding.FieldTarget;
   import org.apache.axis.utils.AxisClassLoader;
   import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.cache.JavaClass;
  @@ -176,7 +178,7 @@
           String isNil = attributes.getValue(Constants.URI_2001_SCHEMA_XSI,"nil");
   
           if ( isNil != null && isNil.equals("true") )
  -          return( new Deserializer() );
  +          return( (SOAPHandler) new DeserializerImpl() );
           
           // xsi:type always overrides everything else
           if (type == null) {
  @@ -206,7 +208,7 @@
               if (type == null && defaultParamTypes!=null &&
                   params.size()<=defaultParamTypes.length) {
   
  -                TypeMappingRegistry typeMap = context.getTypeMappingRegistry();
  +                TypeMapping typeMap = context.getTypeMapping();
                   int index = params.size()-1;
                   if (index+1<defaultParamTypes.length)
                       if (defaultParamTypes[0]==MessageContext.class) index++;
  @@ -219,9 +221,9 @@
           
           Deserializer dser;
           if (type != null) {
  -            dser = context.getTypeMappingRegistry().getDeserializer(type);
  +            dser = context.getDeserializerForType(type);
           } else {
  -            dser = new Deserializer();
  +            dser = new DeserializerImpl();
           }
   
           if (dser == null) {
  @@ -230,13 +232,13 @@
           }
           
           dser.registerValueTarget(
  -             new Deserializer.FieldTarget(currentParam, 
  +             new FieldTarget(currentParam, 
                    RPCParam.getValueField()));
           
           if (category.isDebugEnabled()) {
               category.debug(JavaUtils.getMessage("exit00", "RPCHandler.onStartChild()"));
           }
  -        return dser;
  +        return (SOAPHandler) dser;
       }
       
       public void endElement(String namespace, String localName,
  
  
  
  1.30      +5 -1      xml-axis/java/src/org/apache/axis/message/RPCParam.java
  
  Index: RPCParam.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCParam.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- RPCParam.java	7 Nov 2001 19:00:42 -0000	1.29
  +++ RPCParam.java	26 Jan 2002 02:47:22 -0000	1.30
  @@ -129,6 +129,10 @@
       public void serialize(SerializationContext context)
           throws IOException
       {
  -        context.serialize(new QName(namespaceURI,name), null, value);
  +        if (value != null) {
  +            context.serialize(new QName(namespaceURI,name), null, value, value.getClass());
  +        } else {
  +            context.serialize(new QName(namespaceURI,name), null, value, null);
  +        }
       }
   }
  
  
  
  1.54      +2 -1      xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java
  
  Index: SOAPEnvelope.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- SOAPEnvelope.java	18 Jan 2002 17:45:26 -0000	1.53
  +++ SOAPEnvelope.java	26 Jan 2002 02:47:22 -0000	1.54
  @@ -61,6 +61,7 @@
   import org.apache.axis.configuration.NullProvider;
   import org.apache.axis.client.AxisClient;
   import org.apache.axis.encoding.DeserializationContext;
  +import org.apache.axis.encoding.DeserializationContextImpl;
   import org.apache.axis.encoding.SerializationContext;
   import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.Mapping;
  @@ -121,7 +122,7 @@
               DeserializationContext dser = null ;
               AxisClient     tmpEngine = new AxisClient(new NullProvider());
               MessageContext msgContext = new MessageContext(tmpEngine);
  -            dser = new DeserializationContext(is, msgContext,
  +            dser = new DeserializationContextImpl(is, msgContext,
                                                 Message.REQUEST, this );
               dser.parse();
           }
  
  
  
  1.16      +18 -11    xml-axis/java/src/org/apache/axis/message/SOAPFaultBuilder.java
  
  Index: SOAPFaultBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPFaultBuilder.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- SOAPFaultBuilder.java	5 Dec 2001 17:42:08 -0000	1.15
  +++ SOAPFaultBuilder.java	26 Jan 2002 02:47:22 -0000	1.16
  @@ -58,8 +58,8 @@
   import org.apache.axis.Constants;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
  -import org.apache.axis.encoding.SOAPTypeMappingRegistry;
  -import org.apache.axis.encoding.ValueReceiver;
  +import org.apache.axis.encoding.Callback;
  +import org.apache.axis.encoding.CallbackTarget;
   import org.apache.axis.utils.QFault;
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
  @@ -78,7 +78,7 @@
    * @author Glen Daniels (gdaniels@macromedia.com)
    * @author Tom Jordahl (tomj@macromedia.com)
    */
  -public class SOAPFaultBuilder extends SOAPHandler implements ValueReceiver
  +public class SOAPFaultBuilder extends SOAPHandler implements Callback
   {
       protected SOAPFaultElement element;
       protected DeserializationContext context;
  @@ -92,9 +92,9 @@
       protected Element[] faultDetails;
   
       static {
  -        fields.put(Constants.ELEM_FAULT_CODE, SOAPTypeMappingRegistry.XSD_STRING);
  -        fields.put(Constants.ELEM_FAULT_STRING, SOAPTypeMappingRegistry.XSD_STRING);
  -        fields.put(Constants.ELEM_FAULT_ACTOR, SOAPTypeMappingRegistry.XSD_STRING);
  +        fields.put(Constants.ELEM_FAULT_CODE, Constants.XSD_STRING);
  +        fields.put(Constants.ELEM_FAULT_STRING, Constants.XSD_STRING);
  +        fields.put(Constants.ELEM_FAULT_ACTOR, Constants.XSD_STRING);
           fields.put(Constants.ELEM_FAULT_DETAIL, null);
       }
       
  @@ -152,12 +152,13 @@
           QName qName = (QName)fields.get(name);
           
           if (qName != null) {
  -            currentDeser = context.getTypeMappingRegistry().
  -                          getDeserializer(qName);
  -            currentDeser.registerCallback(this, name);
  +            currentDeser = context.getDeserializerForType(qName);
  +            if (currentDeser != null) {
  +                currentDeser.registerValueTarget(new CallbackTarget(this, name));
  +            }
           }
           
  -        return currentDeser;
  +        return (SOAPHandler) currentDeser;
       }
   
       public void onEndChild(String namespace, String localName,
  @@ -185,7 +186,13 @@
           }
       }
   
  -    public void valueReady(Object value, Object hint)
  +    /* 
  +     * Defined by Callback.
  +     * This method gets control when the callback is invoked.
  +     * @param is the value to set.
  +     * @param hint is an Object that provide additional hint information.
  +     */
  +    public void setValue(Object value, Object hint)
       {
           String name = (String)hint;
           if (name.equals(Constants.ELEM_FAULT_CODE)) {
  
  
  
  1.6       +1 -1      xml-axis/java/src/org/apache/axis/message/SOAPHandler.java
  
  Index: SOAPHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SOAPHandler.java	30 Oct 2001 14:19:29 -0000	1.5
  +++ SOAPHandler.java	26 Jan 2002 02:47:22 -0000	1.6
  @@ -74,7 +74,7 @@
           throws SAXException
       {
           // By default, make a new element
  -        if (!context.doneParsing) {
  +        if (!context.isDoneParsing()) {
               if (myElement == null)
                   myElement = new MessageElement(namespace, localName,
                                                  qName, attributes, context);
  
  
  
  1.32      +1 -1      xml-axis/java/src/org/apache/axis/message/SOAPHeader.java
  
  Index: SOAPHeader.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHeader.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- SOAPHeader.java	16 Jan 2002 16:25:42 -0000	1.31
  +++ SOAPHeader.java	26 Jan 2002 02:47:22 -0000	1.32
  @@ -153,7 +153,7 @@
           if (value == null) {
               super.outputImpl(context);
           } else {
  -            context.serialize(new QName(namespaceURI,name), attributes, value);
  +            context.serialize(new QName(namespaceURI,name), attributes, value, value.getClass() );
           }
       }
   };