dims        2002/09/23 12:24:40

  Modified:    java/test/wsdl/types ComprehensiveTypes.wsdl
               java/src/org/apache/axis/wsdl/toJava JavaBeanWriter.java
  Log:
  Fix and test case for Bug 10645 - Problem with simple types restricted to xsd:date 
and xsd:dateTime
  from "Sapozhnikov, Michael" <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.44      +12 -1     xml-axis/java/test/wsdl/types/ComprehensiveTypes.wsdl
  
  Index: ComprehensiveTypes.wsdl
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/types/ComprehensiveTypes.wsdl,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- ComprehensiveTypes.wsdl   15 Sep 2002 19:16:17 -0000      1.43
  +++ ComprehensiveTypes.wsdl   23 Sep 2002 19:24:39 -0000      1.44
  @@ -16,12 +16,21 @@
     <types>
       <xsd:schema 
           targetNamespace="urn:comprehensive-types.types.wsdl.test"
  -        xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
  +        xmlns:xsd="http://www.w3.org/1999/XMLSchema";
  +        xmlns:xsd2="http://www.w3.org/2001/XMLSchema";>
   
         <xsd:simpleType name="simple">
           <xsd:restriction base="xsd:string" />
         </xsd:simpleType>
         
  +      <xsd:simpleType name="simpleDate">
  +        <xsd:restriction base="xsd:date" />
  +      </xsd:simpleType>
  +
  +      <xsd:simpleType name="simpleDateTime">
  +        <xsd:restriction base="xsd2:dateTime" />
  +      </xsd:simpleType>
  +      
         <xsd:simpleType name="enum">
           <xsd:restriction base="xsd:string">
             <xsd:enumeration value="one"/>                      
  @@ -91,6 +100,8 @@
           <xsd:complexType>
             <xsd:all>
               <xsd:element name="one" type="typens:simple"/> <!-- Ref to a simple 
type -->
  +            <xsd:element name="dateone" type="typens:simpleDate"/>
  +            <xsd:element name="datetwo" type="typens:simpleDateTime"/>
               <xsd:element name="two" type="typens2:fwd"/> <!-- Forward type use to 
dif namespace -->
               <xsd:element ref="typens2:three"/>           <!-- Forward ref use to a 
dif namespace -->
               <xsd:element ref="typens:enumValue" maxOccurs="unbounded" /> <!-- ref & 
maxOccurs -->
  
  
  
  1.31      +19 -0     
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
  
  Index: JavaBeanWriter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- JavaBeanWriter.java       18 Sep 2002 16:10:36 -0000      1.30
  +++ JavaBeanWriter.java       23 Sep 2002 19:24:40 -0000      1.31
  @@ -429,7 +429,26 @@
                       pw.println("        catch 
(org.apache.axis.types.URI.MalformedURIException mue) {");
                       pw.println("            this.value = new 
org.apache.axis.types.URI();");
                       pw.println("       }");
  +                } 
  +                else if (simpleValueType.equals("java.util.Date")) {
  +                  pw.println("        try {");
  +                  pw.println("            this.value = 
(java.text.DateFormat.getDateTimeInstance()).parse(value);");
  +                  pw.println("        }");
  +                  pw.println("        catch (java.text.ParseException e){");
  +                  pw.println("            throw new 
java.lang.RuntimeException(e.toString());");
  +                  pw.println("        }");
                   }
  +                else if (simpleValueType.equals("java.util.Calendar")) {
  +                  pw.println("        java.util.Calendar cal = 
java.util.Calendar.getInstance();"); 
  +                  pw.println("        try {");
  +                  pw.println("          java.util.Date dt = 
(java.text.DateFormat.getDateTimeInstance()).parse(value);");
  +                  pw.println("          cal.setTime(dt);");
  +                  pw.println("          this.value = cal;");
  +                  pw.println("        }");
  +                  pw.println("        catch (java.text.ParseException e){");
  +                  pw.println("            throw new 
java.lang.RuntimeException(e.toString());");
  +                  pw.println("        }");
  +                }                
                   else {
                       pw.println("        this.value = new " +
                                  simpleValueType + "(value);");
  
  
  


Reply via email to