axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject cvs commit: ws-axis/java/src/org/apache/axis/deployment/wsdd WSDDConstants.java WSDDOperation.java WSDDParameter.java
Date Wed, 04 May 2005 09:45:28 GMT
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) {
  
  
  

Mime
View raw message