Re: cvs commit: ws-axis/java/src/org/apache/axis/deployment/wsdd WSDDConstants.java WSDDOperation.java WSDDParameter.java

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: cvs commit: ws-axis/java/src/org/apache/axis/deployment/wsdd WSDDConstants.java WSDDOperation.java WSDDParameter.java

dims
Glen,

i mean one of the things in the parameters bag has to become the
returnParamDesc....

-- dims

On 5/4/05, Glen Daniels <[hidden email]> wrote:

> Whoa - you don't really mean "getting rid of the returnParamDesc",
> right?  We need that!
>
> I'll try to review this stuff tonight.
>
> --Glen
>
> Davanum Srinivas wrote:
> > Glen,
> >
> > We need to get rid of 2 things now (retItemType and retItemQName)
> > basically by getting rid of the returnParamDesc in OperationDesc. I
> > wanted to see if this fixes Jonas problems (easy to revert back change
> > - just sync with code in axis 1.2 branche - hehehe)
> >
> > -- dims
> >
> > On 4 May 2005 09:45:28 -0000, [hidden email] <[hidden email]> wrote:
> >
> >>dims        2005/05/04 02:45:28
> >>
> >>  Modified:    java/src/org/apache/axis/encoding/ser ArraySerializer.java
> >>               java/src/org/apache/axis/wsdl/toJava JavaDeployWriter.java
> >>               java/src/org/apache/axis/description ParameterDesc.java
> >>               java/src/org/apache/axis/message RPCParam.java
> >>               java/src/org/apache/axis/encoding SerializationContext.java
> >>               java/src/org/apache/axis/deployment/wsdd WSDDConstants.java
> >>                        WSDDOperation.java WSDDParameter.java
> >>  Log:
> >>  Fix for the breakage in test/wsdl/marshall (jonas identified problem)
> >>
> >>  Revision  Changes    Path
> >>  1.68      +8 -4      ws-axis/java/src/org/apache/axis/encoding/ser/ArraySerializer.java
> >>
> >>  Index: ArraySerializer.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/ser/ArraySerializer.java,v
> >>  retrieving revision 1.67
> >>  retrieving revision 1.68
> >>  diff -u -r1.67 -r1.68
> >>  --- ArraySerializer.java      1 May 2005 19:39:25 -0000       1.67
> >>  +++ ArraySerializer.java      4 May 2005 09:45:27 -0000       1.68
> >>  @@ -158,13 +158,17 @@
> >>               componentTypeQName = context.getCurrentXMLType();
> >>               if (componentTypeQName != null) {
> >>                   if ((componentTypeQName.equals(xmlType) ||
> >>  -                     componentTypeQName.equals(Constants.XSD_ANYTYPE) ||
> >>  -                     componentTypeQName.equals(soap.getArrayType()))) {
> >>  -                         componentTypeQName = null;
> >>  -                     }
> >>  +                        componentTypeQName.equals(Constants.XSD_ANYTYPE) ||
> >>  +                        componentTypeQName.equals(soap.getArrayType()))) {
> >>  +                    componentTypeQName = null;
> >>  +                }
> >>               }
> >>           }
> >>
> >>  +        if (componentTypeQName == null) {
> >>  +            componentTypeQName = context.getItemType();
> >>  +        }
> >>  +
> >>           // Then check the type mapping for the class
> >>           if (componentTypeQName == null) {
> >>               componentTypeQName = context.getQNameForClass(componentClass);
> >>
> >>  1.94      +10 -1     ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java
> >>
> >>  Index: JavaDeployWriter.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java,v
> >>  retrieving revision 1.93
> >>  retrieving revision 1.94
> >>  diff -u -r1.93 -r1.94
> >>  --- JavaDeployWriter.java     2 May 2005 11:39:36 -0000       1.93
> >>  +++ JavaDeployWriter.java     4 May 2005 09:45:27 -0000       1.94
> >>  @@ -573,12 +573,21 @@
> >>
> >>           Parameter retParam = params.returnParam;
> >>           if (retParam != null) {
> >>  -            QName returnItemQName = Utils.getItemQName(retParam.getType());
> >>  +            TypeEntry type = retParam.getType();
> >>  +            QName returnItemQName = Utils.getItemQName(type);
> >>               if (returnItemQName != null) {
> >>                   pw.print(" returnItemQName=\"");
> >>                   pw.print(Utils.genQNameAttributeString(returnItemQName, "tns"));
> >>                   pw.print("\"");
> >>               }
> >>  +            if(type.getComponentType()!=null){
> >>  +                QName returnItemType = type.getComponentType();
> >>  +                if (returnItemType != null) {
> >>  +                    pw.print(" returnItemType=\"");
> >>  +                    pw.print(Utils.genQNameAttributeString(returnItemType, "tns2"));
> >>  +                    pw.print("\"");
> >>  +                }
> >>  +            }
> >>           }
> >>
> >>           if (SOAPAction != null) {
> >>
> >>  1.33      +26 -18    ws-axis/java/src/org/apache/axis/description/ParameterDesc.java
> >>
> >>  Index: ParameterDesc.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/description/ParameterDesc.java,v
> >>  retrieving revision 1.32
> >>  retrieving revision 1.33
> >>  diff -u -r1.32 -r1.33
> >>  --- ParameterDesc.java        12 Apr 2005 22:18:15 -0000      1.32
> >>  +++ ParameterDesc.java        4 May 2005 09:45:27 -0000       1.33
> >>  @@ -59,22 +59,22 @@
> >>        * determine if it gets written as a "bare" or a "wrapped" schema.
> >>        */
> >>       private QName itemQName;
> >>  +    private QName itemType;
> >>
> >>       /** Indicates whether input/output values are stored in the header */
> >>       private boolean inHeader = false;
> >>  -    private boolean outHeader = false;
> >>  +    private boolean outHeader = false;
> >>
> >>       /** The documentation for the parameter */
> >>        private String documentation = null;
> >>
> >>  -
> >>       public ParameterDesc() {
> >>       }
> >>
> >>       /**
> >>        * Constructor-copy
> >>        *
> >>  -     * @param copy the copy
> >>  +     * @param copy the copy
> >>        */
> >>       public ParameterDesc(ParameterDesc copy) {
> >>           name = copy.name;
> >>  @@ -138,9 +138,9 @@
> >>           String text="";
> >>           text+=indent + "name:       " + name + "\n";
> >>           text+=indent + "typeEntry:  " + typeEntry + "\n";
> >>  -        text+=indent + "mode:       " + (mode == IN ?
> >>  -                                         "IN" : mode == INOUT ?
> >>  -                                         "INOUT" : "OUT") + "\n";
> >>  +        text+=indent + "mode:       " + (mode == IN ?
> >>  +                                         "IN" : mode == INOUT ?
> >>  +                                         "INOUT" : "OUT") + "\n";
> >>           text+=indent + "position:   " + order + "\n";
> >>           text+=indent + "isReturn:   " + isReturn + "\n";
> >>           text+=indent + "typeQName:  " + typeQName + "\n";
> >>  @@ -149,15 +149,15 @@
> >>           text+=indent + "outHeader:  " + outHeader+ "\n";
> >>           return text;
> >>       } // toString
> >>  -
> >>  +
> >>       /**
> >>        * Get a mode constant from a string.  Defaults to IN, and returns
> >>        * OUT or INOUT if the string matches (ignoring case).
> >>  -     */
> >>  +     */
> >>       public static byte modeFromString(String modeStr)
> >>       {
> >>           byte ret = IN;
> >>  -        if (modeStr == null) {
> >>  +        if (modeStr == null) {
> >>               return IN;
> >>           } else if (modeStr.equalsIgnoreCase("out")) {
> >>               ret = OUT;
> >>  @@ -166,7 +166,7 @@
> >>           }
> >>           return ret;
> >>       }
> >>  -
> >>  +
> >>       public static String getModeAsString(byte mode)
> >>       {
> >>           if (mode == INOUT) {
> >>  @@ -176,7 +176,7 @@
> >>           } else if (mode == IN) {
> >>               return "in";
> >>           }
> >>  -
> >>  +
> >>           throw new IllegalArgumentException(
> >>                   Messages.getMessage("badParameterMode", Byte.toString(mode)));
> >>       }
> >>  @@ -210,7 +210,7 @@
> >>           this.typeQName = typeQName;
> >>       }
> >>
> >>  -    /**
> >>  +    /**
> >>        * Get the java type (note that this is javaType in the signature.)
> >>        * @return Class javaType
> >>        */
> >>  @@ -218,8 +218,8 @@
> >>           return javaType;
> >>       }
> >>
> >>  -    /**
> >>  -     * Set the java type (note that this is javaType in the signature.)
> >>  +    /**
> >>  +     * Set the java type (note that this is javaType in the signature.)
> >>        */
> >>       public void setJavaType(Class javaType) {
> >>           // The javaType must match the mode.  A Holder is expected for OUT/INOUT
> >>  @@ -230,10 +230,10 @@
> >>                   mode != IN && !isReturn &&
> >>                   !javax.xml.rpc.holders.Holder.class.isAssignableFrom(javaType)) {
> >>                   throw new IllegalArgumentException(
> >>  -                     Messages.getMessage("setJavaTypeErr00",
> >>  +                     Messages.getMessage("setJavaTypeErr00",
> >>                                             javaType.getName(),
> >>                                             getModeAsString(mode)));
> >>  -            }
> >>  +            }
> >>           }
> >>
> >>           this.javaType = javaType;
> >>  @@ -290,7 +290,7 @@
> >>        * get the documentation for the parameter
> >>        */
> >>        public String getDocumentation() {
> >>  -     return documentation;
> >>  +     return documentation;
> >>       }
> >>
> >>       /**
> >>  @@ -343,4 +343,12 @@
> >>       public void setItemQName(QName itemQName) {
> >>           this.itemQName = itemQName;
> >>       }
> >>  -} // class ParameterDesc
> >>  +
> >>  +    public QName getItemType() {
> >>  +        return itemType;
> >>  +    }
> >>  +
> >>  +    public void setItemType(QName itemType) {
> >>  +        this.itemType = itemType;
> >>  +    }
> >>  +}
> >>
> >>  1.65      +3 -0      ws-axis/java/src/org/apache/axis/message/RPCParam.java
> >>
> >>  Index: RPCParam.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/message/RPCParam.java,v
> >>  retrieving revision 1.64
> >>  retrieving revision 1.65
> >>  diff -u -r1.64 -r1.65
> >>  --- RPCParam.java     12 Apr 2005 22:18:15 -0000      1.64
> >>  +++ RPCParam.java     4 May 2005 09:45:27 -0000       1.65
> >>  @@ -193,6 +193,9 @@
> >>                   }
> >>               }
> >>               context.setItemQName(itemQName);
> >>  +
> >>  +            QName itemType = paramDesc.getItemType();
> >>  +            context.setItemType(itemType);
> >>           }
> >>           context.serialize(getQName(),  // element qname
> >>                             null,   // no extra attrs
> >>
> >>  1.108     +11 -1     ws-axis/java/src/org/apache/axis/encoding/SerializationContext.java
> >>
> >>  Index: SerializationContext.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/SerializationContext.java,v
> >>  retrieving revision 1.107
> >>  retrieving revision 1.108
> >>  diff -u -r1.107 -r1.108
> >>  --- SerializationContext.java 12 Apr 2005 22:18:15 -0000      1.107
> >>  +++ SerializationContext.java 4 May 2005 09:45:27 -0000       1.108
> >>  @@ -101,6 +101,8 @@
> >>       private QName currentXMLType;
> >>       /** The item QName if we're serializing a literal array... */
> >>       private QName itemQName;
> >>  +    /** The item type if we're serializing a literal array... */
> >>  +    private QName itemType;
> >>
> >>       /** The SOAP context we're using */
> >>       private SOAPConstants soapConstants = SOAPConstants.SOAP11_CONSTANTS;
> >>  @@ -167,7 +169,7 @@
> >>
> >>       /** The encoding to serialize */
> >>       private String encoding = XMLEncoderFactory.DEFAULT_ENCODING;
> >>  -
> >>  +
> >>       class MultiRefItem {
> >>           String id;
> >>           QName xmlType;
> >>  @@ -1595,4 +1597,12 @@
> >>       public void setItemQName(QName itemQName) {
> >>           this.itemQName = itemQName;
> >>       }
> >>  +
> >>  +    public QName getItemType() {
> >>  +        return itemType;
> >>  +    }
> >>  +
> >>  +    public void setItemType(QName itemType) {
> >>  +        this.itemType = itemType;
> >>  +    }
> >>   }
> >>  \ No newline at end of file
> >>
> >>  1.37      +3 -1      ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDConstants.java
> >>
> >>  Index: WSDDConstants.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDConstants.java,v
> >>  retrieving revision 1.36
> >>  retrieving revision 1.37
> >>  diff -u -r1.36 -r1.37
> >>  --- WSDDConstants.java        18 Apr 2005 17:17:12 -0000      1.36
> >>  +++ WSDDConstants.java        4 May 2005 09:45:28 -0000       1.37
> >>  @@ -138,7 +138,9 @@
> >>       public static final String ATTR_RETQNAME = "returnQName";
> >>       public static final String ATTR_RETTYPE = "returnType";
> >>       public static final String ATTR_RETITEMQNAME = "returnItemQName";
> >>  -    public static final String ATTR_ITEMQNAME = "itemQName";
> >>  +    public static final String ATTR_RETITEMTYPE = "returnItemType";
> >>  +    public static final String ATTR_ITEMQNAME = "itemQName";
> >>  +    public static final String ATTR_ITEMTYPE = "itemType";
> >>       public static final String ATTR_MODE = "mode";
> >>       public static final String ATTR_INHEADER = "inHeader";
> >>       public static final String ATTR_OUTHEADER = "outHeader";
> >>
> >>  1.32      +12 -6     ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDOperation.java
> >>
> >>  Index: WSDDOperation.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDOperation.java,v
> >>  retrieving revision 1.31
> >>  retrieving revision 1.32
> >>  diff -u -r1.31 -r1.32
> >>  --- WSDDOperation.java        18 Apr 2005 17:17:12 -0000      1.31
> >>  +++ WSDDOperation.java        4 May 2005 09:45:28 -0000       1.32
> >>  @@ -90,11 +90,17 @@
> >>               param.setItemQName(XMLUtils.getQNameFromString(retItemQName, e));
> >>           }
> >>
> >>  +        String retItemType = e.getAttribute(ATTR_RETITEMTYPE);
> >>  +        if (retItemType != null && !retItemType.equals("")) {
> >>  +            ParameterDesc param = desc.getReturnParamDesc();
> >>  +            param.setItemType(XMLUtils.getQNameFromString(retItemType, e));
> >>  +        }
> >>  +
> >>           String soapAction = e.getAttribute(ATTR_SOAPACTION);
> >>           if (soapAction != null) {
> >>               desc.setSoapAction(soapAction);
> >>           }
> >>  -
> >>  +
> >>           String mepString = e.getAttribute(ATTR_MEP);
> >>           if (mepString != null) {
> >>               desc.setMep(mepString);
> >>  @@ -106,7 +112,7 @@
> >>               WSDDParameter parameter = new WSDDParameter(paramEl, desc);
> >>               desc.addParameter(parameter.getParameter());
> >>           }
> >>  -
> >>  +
> >>           Element [] faultElems = getChildElements(e, ELEM_WSDD_FAULT);
> >>           for (int i = 0; i < faultElems.length; i++) {
> >>               Element faultElem = faultElems[i];
> >>  @@ -118,7 +124,7 @@
> >>           if (docElem != null) {
> >>               WSDDDocumentation documentation = new WSDDDocumentation(docElem);
> >>               desc.setDocumentation(documentation.getValue());
> >>  -        }
> >>  +        }
> >>       }
> >>
> >>       /**
> >>  @@ -147,10 +153,10 @@
> >>           if (desc.getName() != null) {
> >>               attrs.addAttribute("", ATTR_NAME, ATTR_NAME, "CDATA", desc.getName());
> >>           }
> >>  -
> >>  +
> >>           if (desc.getElementQName() != null) {
> >>  -            attrs.addAttribute("", ATTR_QNAME, ATTR_QNAME,
> >>  -                               "CDATA",
> >>  +            attrs.addAttribute("", ATTR_QNAME, ATTR_QNAME,
> >>  +                               "CDATA",
> >>                                  context.qName2String(desc.getElementQName()));
> >>           }
> >>
> >>  1.20      +11 -0     ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDParameter.java
> >>
> >>  Index: WSDDParameter.java
> >>  ===================================================================
> >>  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/deployment/wsdd/WSDDParameter.java,v
> >>  retrieving revision 1.19
> >>  retrieving revision 1.20
> >>  diff -u -r1.19 -r1.20
> >>  --- WSDDParameter.java        18 Apr 2005 17:17:12 -0000      1.19
> >>  +++ WSDDParameter.java        4 May 2005 09:45:28 -0000       1.20
> >>  @@ -73,6 +73,11 @@
> >>               parameter.setItemQName(XMLUtils.getQNameFromString(itemQNameStr, e));
> >>           }
> >>
> >>  +        String itemTypeStr = e.getAttribute(ATTR_ITEMTYPE);
> >>  +        if (itemTypeStr != null && !itemTypeStr.equals("")) {
> >>  +            parameter.setItemType(XMLUtils.getQNameFromString(itemTypeStr, e));
> >>  +        }
> >>  +
> >>           Element docElem = getChildElement(e, ELEM_WSDD_DOC);
> >>           if (docElem != null) {
> >>               WSDDDocumentation documentation = new WSDDDocumentation(docElem);
> >>  @@ -136,6 +141,12 @@
> >>                                  context.qName2String(itemQName));
> >>           }
> >>
> >>  +        QName itemType = parameter.getItemType();
> >>  +        if (itemType != null) {
> >>  +            attrs.addAttribute("", ATTR_ITEMTYPE, ATTR_ITEMTYPE, "CDATA",
> >>  +                    context.qName2String(itemType));
> >>  +        }
> >>  +
> >>           context.startElement(getElementName(), attrs);
> >>
> >>           if (parameter.getDocumentation() != null) {
> >>
> >>
> >
> >
> >
>


--
Davanum Srinivas - http://webservices.apache.org/~dims/