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 gd...@apache.org on 2002/10/07 22:18:58 UTC

cvs commit: xml-axis/java/test/wsdl/faults FaultServiceTestCase.java

gdaniels    2002/10/07 13:18:58

  Modified:    java/src/org/apache/axis/description Tag: interop4
                        OperationDesc.java
               java/src/org/apache/axis/encoding Tag: interop4
                        DeserializerImpl.java
               java/src/org/apache/axis/encoding/ser Tag: interop4
                        ArrayDeserializer.java BeanDeserializer.java
               java/src/org/apache/axis/message Tag: interop4
                        SOAPFaultDetailsBuilder.java
               java/src/org/apache/axis/utils Tag: interop4 BeanUtils.java
               java/src/org/apache/axis/wsdl/toJava Tag: interop4
                        JavaBeanHelperWriter.java
               java/test/wsdl/faults Tag: interop4
                        FaultServiceTestCase.java
  Log:
  Further progress towards functional-tests passage
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.23.2.4  +17 -4     xml-axis/java/src/org/apache/axis/description/OperationDesc.java
  
  Index: OperationDesc.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/OperationDesc.java,v
  retrieving revision 1.23.2.3
  retrieving revision 1.23.2.4
  diff -u -r1.23.2.3 -r1.23.2.4
  --- OperationDesc.java	7 Oct 2002 02:23:27 -0000	1.23.2.3
  +++ OperationDesc.java	7 Oct 2002 20:18:57 -0000	1.23.2.4
  @@ -364,12 +364,25 @@
           if (faults == null || cls == null) {
               return null;
           }
  -        for (Iterator iterator = faults.iterator(); iterator.hasNext();) {
  -            FaultDesc desc = (FaultDesc) iterator.next();
  -            if (cls.getName().equals(desc.getClassName())) {
  -                return desc;
  +
  +        while (cls != null) {
  +            // Check each class in the inheritance hierarchy, stopping at
  +            // java.* or javax.* classes.
  +
  +            for (Iterator iterator = faults.iterator(); iterator.hasNext();) {
  +                FaultDesc desc = (FaultDesc) iterator.next();
  +                if (cls.getName().equals(desc.getClassName())) {
  +                    return desc;
  +                }
  +            }
  +
  +            cls = cls.getSuperclass();
  +            if (cls != null && (cls.getName().startsWith("java.") ||
  +                    cls.getName().startsWith("javax."))) {
  +                cls = null;
               }
           }
  +
           return null;
       }
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.30.2.6  +5 -4      xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java
  
  Index: DeserializerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java,v
  retrieving revision 1.30.2.5
  retrieving revision 1.30.2.6
  diff -u -r1.30.2.5 -r1.30.2.6
  --- DeserializerImpl.java	7 Oct 2002 17:10:57 -0000	1.30.2.5
  +++ DeserializerImpl.java	7 Oct 2002 20:18:57 -0000	1.30.2.6
  @@ -303,7 +303,7 @@
           // lets us know when it's done so we can take it off our list.
           dSer.registerValueTarget(new CallbackTarget(this, dSer));
       }
  -    
  +
       protected boolean isHref = false;
       protected boolean isNil  = false;  // xsd:nil attribute is set to true
       protected String id = null;  // Set to the id of the element
  @@ -446,12 +446,13 @@
                                DeserializationContext context)
           throws SAXException
       {
  +        QName type = context.getTypeFromAttributes(namespace,
  +                                                   localName,
  +                                                   attributes);
  +
           // If I'm the base class, try replacing myself with an
           // appropriate deserializer gleaned from type info.
           if (this.getClass().equals(DeserializerImpl.class)) {
  -            QName type = context.getTypeFromAttributes(namespace,
  -                                                       localName,
  -                                                       attributes);
               // If no type is specified, use the defaultType if available.
               // xsd:string is used if no type is provided.
               if (type == null) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.30.2.3  +1 -1      xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java
  
  Index: ArrayDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java,v
  retrieving revision 1.30.2.2
  retrieving revision 1.30.2.3
  diff -u -r1.30.2.2 -r1.30.2.3
  --- ArrayDeserializer.java	7 Oct 2002 03:42:28 -0000	1.30.2.2
  +++ ArrayDeserializer.java	7 Oct 2002 20:18:57 -0000	1.30.2.3
  @@ -391,7 +391,7 @@
   
           // Get the deserializer for the type. 
           Deserializer dSer = null;
  -        if (itemType != null) {
  +        if (itemType != null && (context.getCurElement().getHref() == null)) {
               dSer = context.getDeserializerForType(itemType);
           }
   
  
  
  
  1.55.4.2  +1 -1      xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
  
  Index: BeanDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java,v
  retrieving revision 1.55.4.1
  retrieving revision 1.55.4.2
  diff -u -r1.55.4.1 -r1.55.4.2
  --- BeanDeserializer.java	7 Oct 2002 02:23:28 -0000	1.55.4.1
  +++ BeanDeserializer.java	7 Oct 2002 20:18:57 -0000	1.55.4.2
  @@ -432,7 +432,7 @@
           
           Deserializer dSer = null;
   
  -        if (xmlType != null) {
  +        if (xmlType != null && href == null) {
               // Use the xmlType to get the deserializer.
               dSer = context.getDeserializerForType(xmlType);
           } else {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.6   +8 -1      xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java
  
  Index: SOAPFaultDetailsBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- SOAPFaultDetailsBuilder.java	5 Oct 2002 05:26:07 -0000	1.1.2.5
  +++ SOAPFaultDetailsBuilder.java	7 Oct 2002 20:18:58 -0000	1.1.2.6
  @@ -62,6 +62,7 @@
   import org.apache.axis.encoding.Deserializer;
   import org.apache.axis.encoding.Callback;
   import org.apache.axis.encoding.CallbackTarget;
  +import org.apache.axis.encoding.DeserializerImpl;
   import org.apache.axis.utils.ClassUtils;
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
  @@ -113,7 +114,13 @@
                   builder.setFaultClass(faultDesc.getClass());
                   builder.setWaiting(true);
                   // register callback for the data, use the xmlType from fault info
  -                Deserializer dser = context.getDeserializerForType(faultDesc.getXmlType());
  +                Deserializer dser = null;
  +                if (attributes.getValue("href") == null) {
  +                    dser = context.getDeserializerForType(faultDesc.getXmlType());
  +                } else {
  +                    dser = new DeserializerImpl();
  +                    dser.setDefaultType(faultDesc.getXmlType());
  +                }
                   if (dser != null) {
                       dser.registerValueTarget(new CallbackTarget(this, "faultData"));
                   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.15.2.2  +1 -1      xml-axis/java/src/org/apache/axis/utils/BeanUtils.java
  
  Index: BeanUtils.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/BeanUtils.java,v
  retrieving revision 1.15.2.1
  retrieving revision 1.15.2.2
  diff -u -r1.15.2.1 -r1.15.2.2
  --- BeanUtils.java	3 Oct 2002 18:58:07 -0000	1.15.2.1
  +++ BeanUtils.java	7 Oct 2002 20:18:58 -0000	1.15.2.2
  @@ -122,7 +122,7 @@
                                   result = Introspector.
                                           getBeanInfo(secJavaType,Exception.class).
                                           getPropertyDescriptors();
  -                            } else if (superClass == AxisFault.class) {
  +                            } else if (AxisFault.class.isAssignableFrom(secJavaType)) {
                                   // Don't include AxisFault data
                                   result = Introspector.
                                           getBeanInfo(secJavaType,AxisFault.class).
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.24.2.1  +5 -1      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java
  
  Index: JavaBeanHelperWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java,v
  retrieving revision 1.24
  retrieving revision 1.24.2.1
  diff -u -r1.24 -r1.24.2.1
  --- JavaBeanHelperWriter.java	19 Sep 2002 20:25:12 -0000	1.24
  +++ JavaBeanHelperWriter.java	7 Oct 2002 20:18:58 -0000	1.24.2.1
  @@ -272,7 +272,11 @@
                       QName xmlName = elem.getName();
                       
                       // Some special handling for arrays
  -                    QName xmlType = elem.getType().getQName();
  +                    TypeEntry elemType = elem.getType();
  +                    if (elemType.getRefType() != null) {
  +                        elemType = elemType.getRefType();
  +                    }
  +                    QName xmlType = elemType.getQName();
                       if (xmlType != null && xmlType.getLocalPart().indexOf("[") > 0) {
                           // Skip array types, because they are special
                           xmlType = null;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.8.2   +6 -6      xml-axis/java/test/wsdl/faults/FaultServiceTestCase.java
  
  Index: FaultServiceTestCase.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/faults/FaultServiceTestCase.java,v
  retrieving revision 1.4.8.1
  retrieving revision 1.4.8.2
  diff -u -r1.4.8.1 -r1.4.8.2
  --- FaultServiceTestCase.java	3 Oct 2002 14:51:50 -0000	1.4.8.1
  +++ FaultServiceTestCase.java	7 Oct 2002 20:18:58 -0000	1.4.8.2
  @@ -76,12 +76,12 @@
           // that it throws a DerivedFault, but we know the impl actually
           // throws DerivedFault2 which extends DerivedFault)
           catch (DerivedFault2 e) {
  -            //assertEquals("Param A in DerivedFault2 doesn't match original", 
  -            //        a, e.getA());
  -            //assertEquals("Param B in DerivedFault2 doesn't match original", 
  -            //        b, e.getB());
  -            //assertEquals("Param C in DerivedFault2 doesn't match original", 
  -            //        c, e.getC(), 0.01F);
  +            assertEquals("Param A in DerivedFault2 doesn't match original",
  +                    a, e.getA());
  +            assertEquals("Param B in DerivedFault2 doesn't match original",
  +                    b, e.getB());
  +            assertEquals("Param C in DerivedFault2 doesn't match original",
  +                    c, e.getC(), 0.01F);
           }
           catch (DerivedFault e) {
               throw new junit.framework.