Thanks for the fix, James!
However, um, wouldn't just adding "else { param = null; }" to the final if in the
earlier version have been a little simpler?
--G
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, January 15, 2003 5:05 PM
> To: [EMAIL PROTECTED]
> Subject: cvs commit: xml-axis/java/src/org/apache/axis/description
> OperationDesc.java
>
>
> jmsnell 2003/01/15 14:04:39
>
> Modified: java/src/org/apache/axis/description OperationDesc.java
> Log:
> Fixing a problem with the getOutputParamByQName method.
> See bug #16141
>
> Revision Changes Path
> 1.31 +13 -9
> 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/Operat
> ionDesc.java,v
> retrieving revision 1.30
> retrieving revision 1.31
> diff -u -r1.30 -r1.31
> --- OperationDesc.java 17 Dec 2002 13:35:03 -0000 1.30
> +++ OperationDesc.java 15 Jan 2003 22:04:38 -0000 1.31
> @@ -359,18 +359,22 @@
> ParameterDesc param = null;
>
> for (Iterator i = parameters.iterator(); i.hasNext();) {
> - param = (ParameterDesc) i.next();
> + ParameterDesc pnext = (ParameterDesc)i.next();
> if (param.getQName().equals(qname) &&
> - param.getMode() != ParameterDesc.IN)
> - return param;
> + param.getMode() != ParameterDesc.IN) {
> + param = pnext;
> + break;
> + }
> }
>
> - if (null == returnDesc.getQName() ){
> - param= new ParameterDesc( returnDesc); //Create copy
> - param.setQName(qname);
> - }
> - else if ( qname.equals(returnDesc.getQName())) {
> - param = returnDesc;
> + if (param == null) {
> + if (null == returnDesc.getQName() ){
> + param= new ParameterDesc( returnDesc);
> //Create copy
> + param.setQName(qname);
> + }
> + else if ( qname.equals(returnDesc.getQName())) {
> + param = returnDesc;
> + }
> }
>
> return param;
>
>
>
>