butek       2002/06/21 07:48:39

  Modified:    java/src/org/apache/axis/description ParameterDesc.java
                        ServiceDesc.java
               java/test/wsdl Wsdl2javaTestSuite.xml
               java/test/wsdl/roundtrip RoundtripPortType.java
                        RoundtripTestServiceTestCase.java
                        RoundtripTestSoapBindingImpl.java
  Added:       java/test/wsdl/roundtrip/holders BondInvestmentHolder.java
  Log:
  Fixed http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10103
  
  Java2WSDL didn't work with Holders.  It used to.  It now does again.  And
  this time I've added a method to the roundtrip test to make sure it continues
  to work.
  
  Revision  Changes    Path
  1.11      +5 -2      xml-axis/java/src/org/apache/axis/description/ParameterDesc.java
  
  Index: ParameterDesc.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/description/ParameterDesc.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ParameterDesc.java        11 Jun 2002 14:53:54 -0000      1.10
  +++ ParameterDesc.java        21 Jun 2002 14:48:38 -0000      1.11
  @@ -118,8 +118,11 @@
       }
   
       public String toString() {
  -        return "(" + typeEntry + ", " + getName() + ", "
  -                + (mode == IN ? "IN)" : mode == INOUT ? "INOUT)" : "OUT)" + 
"position:" + order);
  +        return "name:  " + name
  +                + "\ntypeEntry:  " + typeEntry
  +                + "\nmode:  " + (mode == IN ? "IN" : mode == INOUT ? "INOUT" : 
"OUT:  " + "position:" + order)
  +                + "\ntypeQName:  " + typeQName
  +                + "\njavaType:  " + javaType;
       } // toString
       
       /**
  
  
  
  1.28      +2 -1      xml-axis/java/src/org/apache/axis/description/ServiceDesc.java
  
  Index: ServiceDesc.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/ServiceDesc.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- ServiceDesc.java  14 Jun 2002 22:39:50 -0000      1.27
  +++ ServiceDesc.java  21 Jun 2002 14:48:38 -0000      1.28
  @@ -718,7 +718,6 @@
               } else {
                   paramDesc.setName("in" + k);
               }
  -            paramDesc.setJavaType(type);
   
               // If it's a Holder, mark it INOUT and set the type to the
               // held type.  Otherwise it's IN with its own type.
  @@ -727,9 +726,11 @@
               if (heldClass != null) {
                   paramDesc.setMode(ParameterDesc.INOUT);
                   paramDesc.setTypeQName(tm.getTypeQName(heldClass));
  +                paramDesc.setJavaType(heldClass);
               } else {
                   paramDesc.setMode(ParameterDesc.IN);
                   paramDesc.setTypeQName(tm.getTypeQName(type));
  +                paramDesc.setJavaType(type);
               }
               operation.addParameter(paramDesc);
           }
  
  
  
  1.106     +5 -0      xml-axis/java/test/wsdl/Wsdl2javaTestSuite.xml
  
  Index: Wsdl2javaTestSuite.xml
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/Wsdl2javaTestSuite.xml,v
  retrieving revision 1.105
  retrieving revision 1.106
  diff -u -r1.105 -r1.106
  --- Wsdl2javaTestSuite.xml    19 Jun 2002 19:11:50 -0000      1.105
  +++ Wsdl2javaTestSuite.xml    21 Jun 2002 14:48:38 -0000      1.106
  @@ -181,6 +181,11 @@
           <include name="InvalidCompanyId.java"/>
         </fileset>
       </copy>
  +    <copy todir="${build.dir}/work/test/wsdl/roundtrip/holders" overwrite="yes">
  +      <fileset dir="${test.dir}/wsdl/roundtrip/holders">
  +        <include name="BondInvestmentHolder.java"/>
  +     </fileset>
  +    </copy>
       <!-- Compile the Web Service -->
       <javac srcdir="${build.dir}/work" destdir="${build.dest}" debug="${debug}">
         <classpath refid="test-classpath" />
  
  
  
  1.8       +5 -0      xml-axis/java/test/wsdl/roundtrip/RoundtripPortType.java
  
  Index: RoundtripPortType.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/roundtrip/RoundtripPortType.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RoundtripPortType.java    21 Jun 2002 13:00:30 -0000      1.7
  +++ RoundtripPortType.java    21 Jun 2002 14:48:38 -0000      1.8
  @@ -64,6 +64,10 @@
   import test.wsdl.roundtrip.InvalidTradeExchange;
   import test.wsdl.roundtrip.InvalidCompanyId;
   
  +import test.wsdl.roundtrip.holders.BondInvestmentHolder;
  +
  +import javax.xml.rpc.holders.StringHolder;
  +
   /**
    * The RoundtripPortType interface defines the methods necessary when
    * when implementing this interface.  
  @@ -170,5 +174,6 @@
       public int getId(BondInvestment investment) throws java.rmi.RemoteException;
       public int getId(Investment investment) throws java.rmi.RemoteException;
   
  +    public void holderTest(StringHolder sh, BondInvestmentHolder bih);
   } // RoundtripPortType
   
  
  
  
  1.14      +19 -0     
xml-axis/java/test/wsdl/roundtrip/RoundtripTestServiceTestCase.java
  
  Index: RoundtripTestServiceTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/test/wsdl/roundtrip/RoundtripTestServiceTestCase.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- RoundtripTestServiceTestCase.java 21 Jun 2002 13:00:30 -0000      1.13
  +++ RoundtripTestServiceTestCase.java 21 Jun 2002 14:48:38 -0000      1.14
  @@ -69,6 +69,8 @@
   
   import javax.xml.rpc.ServiceException;
   
  +import javax.xml.rpc.holders.StringHolder;
  +
   import test.wsdl.roundtrip.Investment;
   import test.wsdl.roundtrip.BondInvestment;
   import test.wsdl.roundtrip.StockInvestment;
  @@ -80,6 +82,8 @@
   import test.wsdl.roundtrip.InvalidTradeExchange;
   import test.wsdl.roundtrip.InvalidCompanyId;
   
  +import test.wsdl.roundtrip.holders.BondInvestmentHolder;
  +
   /**
    * This class contains the test methods to verify that Java mapping
    * to XML/WSDL works as specified by the JAX-RPC specification.
  @@ -1217,6 +1221,21 @@
           }
   
       } // testInvalidTradeExchange
  +
  +    /**
  +     * Make sure holder inout parameters can be round tripped.
  +     */
  +    public void testHolderTest() {
  +        try {
  +            StringHolder sh = new StringHolder("hi there");
  +            BondInvestment bi = new BondInvestment();
  +            BondInvestmentHolder bih = new BondInvestmentHolder(bi);
  +            binding.holderTest(sh, bih);
  +        }
  +        catch (RemoteException re) {
  +            fail("Remote Exception caught:  " + re);
  +        }
  +    } // testHolderTest
   
   } // End class RoundtripTestServiceTestCase
   
  
  
  
  1.13      +8 -0      
xml-axis/java/test/wsdl/roundtrip/RoundtripTestSoapBindingImpl.java
  
  Index: RoundtripTestSoapBindingImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/test/wsdl/roundtrip/RoundtripTestSoapBindingImpl.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- RoundtripTestSoapBindingImpl.java 21 Jun 2002 13:00:30 -0000      1.12
  +++ RoundtripTestSoapBindingImpl.java 21 Jun 2002 14:48:38 -0000      1.13
  @@ -70,8 +70,12 @@
   import test.wsdl.roundtrip.InvalidTradeExchange;
   import test.wsdl.roundtrip.InvalidCompanyId;
   
  +import test.wsdl.roundtrip.holders.BondInvestmentHolder;
  +
   import java.rmi.RemoteException;
   
  +import javax.xml.rpc.holders.StringHolder;
  +
   /**
    * This class contains the implementations of the methods defined in the
    * RoundtripPortType interface.  Most of the methods compare the actual
  @@ -685,6 +689,10 @@
       public int getId(Investment investment) 
           throws java.rmi.RemoteException {
           return investment.getId();
  +    }
  +
  +    // This is a compile-time test, so we don't need any runtime test code.
  +    public void holderTest(StringHolder sh, BondInvestmentHolder bih) {
       }
   
   } // End class RoundtripTypesTestSoapBindingImpl
  
  
  
  1.1                  
xml-axis/java/test/wsdl/roundtrip/holders/BondInvestmentHolder.java
  
  Index: BondInvestmentHolder.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip.holders;
  
  import javax.xml.rpc.holders.Holder;
  
  import test.wsdl.roundtrip.BondInvestment;
  
  public final class BondInvestmentHolder implements Holder {
  
      /** Field _value */
      public BondInvestment value;
  
      /**
       * Constructor BondInvestmentHolder
       */
      public BondInvestmentHolder() {}
  
      /**
       * Constructor BondInvestmentHolder
       *
       * @param value
       */
      public BondInvestmentHolder(BondInvestment value) {
          this.value = value;
      }
  }
  
  
  


Reply via email to