You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by ma...@apache.org on 2005/04/27 08:25:49 UTC

cvs commit: ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl JAXBTypeSG.java

mac         2005/04/26 23:25:49

  Modified:    src/jaxme/org/apache/ws/jaxme/generator/types Tag: v0_4
                        DurationSG.java DateTimeSG.java BooleanSG.java
                        DateSG.java ByteSG.java DecimalSG.java
                        Base64BinarySG.java HexBinarySG.java FloatSG.java
                        AtomicTypeSGImpl.java LongSG.java DoubleSG.java
                        IntegerSG.java TimeSG.java ShortSG.java
               src/test/jaxb Tag: v0_4 defaults.xsd
               src/jaxme/org/apache/ws/jaxme/generator/sg/impl Tag: v0_4
                        JAXBTypeSG.java
  Log:
  Fixed default value generation for primitive types.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.4.2.1   +10 -4     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DurationSG.java
  
  Index: DurationSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DurationSG.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- DurationSG.java	8 Apr 2005 23:10:45 -0000	1.4
  +++ DurationSG.java	27 Apr 2005 06:25:49 -0000	1.4.2.1
  @@ -53,10 +53,16 @@
   
     public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
       try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseDuration(pValue), DURATION_TYPE);
  -    } catch (RuntimeException e) {
  -      throw new LocSAXException("Failed to convert string value to dateTime instance: " + pValue, getLocator());
  -    }
  +    	return new TypedValueImpl("org.apache.ws.jaxme.util.Duration.valueOf(\"" + pValue + "\")", DURATION_TYPE);
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   
     public TypedValue getCastToString(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, DirectAccessible pData) {
  
  
  
  1.5.2.1   +21 -4     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DateTimeSG.java
  
  Index: DateTimeSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DateTimeSG.java,v
  retrieving revision 1.5
  retrieving revision 1.5.2.1
  diff -u -r1.5 -r1.5.2.1
  --- DateTimeSG.java	8 Apr 2005 23:10:45 -0000	1.5
  +++ DateTimeSG.java	27 Apr 2005 06:25:49 -0000	1.5.2.1
  @@ -35,6 +35,7 @@
   import org.apache.ws.jaxme.js.TypedValue;
   import org.apache.ws.jaxme.js.impl.TypedValueImpl;
   import org.apache.ws.jaxme.xs.XSType;
  +import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
   import org.apache.ws.jaxme.xs.util.XsDateTimeFormat;
   import org.xml.sax.SAXException;
   
  @@ -56,10 +57,26 @@
       protected Class getFormatClass() { return XsDateTimeFormat.class; }
       public JavaQName getRuntimeType(SimpleTypeSG pController) { return CALENDAR_TYPE; }
   
  -    public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
  -        return new TypedValueImpl(new DatatypeConverterImpl().parseDateTime(pValue),
  -								  getDatatypeType());
  -    }
  +    public TypedValue getCastFromString(SimpleTypeSG pController, String pValue)
  +			throws SAXException {
  +		try {
  +			Calendar calendar = new DatatypeConverterImpl().parseDate(pValue);
  +			return new TypedValueImpl(
  +					new Object[] { "new java.util.GregorianCalendar("
  +							+ calendar.get(Calendar.YEAR) + ","
  +							+ calendar.get(Calendar.MONTH) + ","
  +							+ calendar.get(Calendar.DAY_OF_MONTH) + ")" },
  +					getDatatypeType());
  +		} catch (RuntimeException e) {
  +			try {
  +				throw new LocSAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue, getLocator());
  +			} catch (Exception e1) {
  +				throw new SAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue);
  +			}
  +		}
  +	}
   
       public TypedValue getCastFromString(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, Object pData) throws SAXException {
           boolean mayBeDate;
  
  
  
  1.3.2.1   +9 -3      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/BooleanSG.java
  
  Index: BooleanSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/BooleanSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- BooleanSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ BooleanSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -50,8 +50,14 @@
       try {
         return new TypedValueImpl(new DatatypeConverterImpl().parseBoolean(pValue) ? Boolean.TRUE : Boolean.FALSE,
   			  					BOOLEAN_OBJECT_TYPE);
  -    } catch (RuntimeException e) {
  -      throw new LocSAXException("Failed to convert string value to boolean: " + pValue, getLocator());
  -    }
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   }
  
  
  
  1.4.2.1   +22 -8     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DateSG.java
  
  Index: DateSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DateSG.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- DateSG.java	8 Apr 2005 23:10:45 -0000	1.4
  +++ DateSG.java	27 Apr 2005 06:25:49 -0000	1.4.2.1
  @@ -16,6 +16,8 @@
    */
   package org.apache.ws.jaxme.generator.types;
   
  +import java.util.Calendar;
  +
   import org.apache.ws.jaxme.generator.sg.SGFactory;
   import org.apache.ws.jaxme.generator.sg.SchemaSG;
   import org.apache.ws.jaxme.generator.sg.SimpleTypeSG;
  @@ -40,12 +42,24 @@
     protected String getDatatypeName() { return "Date"; }
     protected Class getFormatClass() { return XsDateFormat.class; }
     
  -  public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
  -    try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseDate(pValue),
  -			  					getDatatypeType());
  -    } catch (RuntimeException e) {
  -      throw new LocSAXException("Failed to convert string value to date instance: " + pValue, getLocator());
  -    }
  -  }
  +  public TypedValue getCastFromString(SimpleTypeSG pController, String pValue)
  +			throws SAXException {
  +		try {
  +			Calendar calendar = new DatatypeConverterImpl().parseDate(pValue);
  +			return new TypedValueImpl(
  +					new Object[] { "new java.util.GregorianCalendar("
  +							+ calendar.get(Calendar.YEAR) + ","
  +							+ calendar.get(Calendar.MONTH) + ","
  +							+ calendar.get(Calendar.DAY_OF_MONTH) + ")" },
  +					getDatatypeType());
  +		} catch (RuntimeException e) {
  +			try {
  +				throw new LocSAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue, getLocator());
  +			} catch (Exception e1) {
  +				throw new SAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue);
  +			}
  +		}
  +	}
   }
  
  
  
  1.3.2.1   +9 -3      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/ByteSG.java
  
  Index: ByteSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/ByteSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- ByteSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ ByteSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -51,8 +51,14 @@
       try {
         return new TypedValueImpl(new Object[]{"((", BYTE_TYPE, ") ", new Byte(new DatatypeConverterImpl().parseByte(pValue)), ")"},
   			  					BYTE_TYPE);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert byte value to integer: " + pValue, getLocator());
  -    }
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   }
  
  
  
  1.3.2.1   +10 -4     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DecimalSG.java
  
  Index: DecimalSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DecimalSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- DecimalSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ DecimalSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -51,10 +51,16 @@
   
     public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
       try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseDecimal(pValue), DECIMAL_TYPE);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to BigInteger: " + pValue, getLocator());
  -    }
  +    	return new TypedValueImpl("new java.math.BigDecimal(\"" + pValue + "\")", DECIMAL_TYPE);
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   
     public void forAllNonNullValues(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, SGlet pSGlet) throws SAXException {
  
  
  
  1.3.2.1   +0 -8      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/Base64BinarySG.java
  
  Index: Base64BinarySG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/Base64BinarySG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- Base64BinarySG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ Base64BinarySG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -48,14 +48,6 @@
     protected String getDatatypeName() { return "Base64Binary"; }
     protected JavaQName getDatatypeType() { return BYTE_ARRAY_TYPE; }
   
  -  public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
  -    try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseBase64Binary(pValue), byte[].class);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to Base64Binary: " + pValue, getLocator());
  -    }
  -  }
  -
     public void forAllNonNullValues(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, SGlet pSGlet) throws SAXException {
       LocalJavaField f = pMethod.newJavaField(BYTE_ARRAY_TYPE);
       f.addLine(pValue);
  
  
  
  1.3.2.1   +0 -8      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/HexBinarySG.java
  
  Index: HexBinarySG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/HexBinarySG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- HexBinarySG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ HexBinarySG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -48,14 +48,6 @@
     protected String getDatatypeName() { return "HexBinary"; }
     protected JavaQName getDatatypeType() { return BYTE_ARRAY_TYPE; }
   
  -  public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
  -    try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseHexBinary(pValue), BYTE_ARRAY_TYPE);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to HexBinary: " + pValue, getLocator());
  -    }
  -  }
  -
     public void forAllNonNullValues(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, SGlet pSGlet) throws SAXException {
       LocalJavaField f = pMethod.newJavaField(BYTE_ARRAY_TYPE);
       f.addLine(pValue);
  
  
  
  1.3.2.1   +9 -3      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/FloatSG.java
  
  Index: FloatSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/FloatSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- FloatSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ FloatSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -50,8 +50,14 @@
     public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
       try {
         return new TypedValueImpl(new Float(new DatatypeConverterImpl().parseFloat(pValue)) + "f", FLOAT_TYPE);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to float: " + pValue, getLocator());
  -    }
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   }
  
  
  
  1.3.2.1   +19 -0     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/AtomicTypeSGImpl.java
  
  Index: AtomicTypeSGImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/AtomicTypeSGImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- AtomicTypeSGImpl.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ AtomicTypeSGImpl.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -33,6 +33,7 @@
   import org.apache.ws.jaxme.js.TypedValue;
   import org.apache.ws.jaxme.js.impl.TypedValueImpl;
   import org.apache.ws.jaxme.xs.XSType;
  +import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
   import org.xml.sax.SAXException;
   
   
  @@ -58,6 +59,24 @@
       return atomicTypeSG;
     }
   
  +   public TypedValue getCastFromString(SimpleTypeSG pController, String pValue)
  +			throws SAXException {
  +		try {
  +			return new TypedValueImpl(new Object[] {
  +					"javax.xml.bind.DatatypeConverter",
  +					".parse" + getDatatypeName() + "(\"", pValue, "\")" },
  +					getDatatypeType());
  +		} catch (RuntimeException e) {
  +			try {
  +				throw new LocSAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue, getLocator());
  +			} catch (Exception e1) {
  +				throw new SAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue);
  +			}
  +		}
  +	}
  +  
     public TypedValue getCastFromString(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, Object pData) throws SAXException {
   	Object value;
   	if (pData == null) {
  
  
  
  1.3.2.1   +9 -3      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/LongSG.java
  
  Index: LongSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/LongSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- LongSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ LongSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -50,8 +50,14 @@
     public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
       try {
         return new TypedValueImpl(new Long(new DatatypeConverterImpl().parseLong(pValue)) + "l", LONG_TYPE);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to long: " + pValue, getLocator());
  -    }
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   }
  
  
  
  1.3.2.1   +10 -4     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DoubleSG.java
  
  Index: DoubleSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/DoubleSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- DoubleSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ DoubleSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -49,9 +49,15 @@
   
     public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
       try {
  -      return new TypedValueImpl(new Double(new DatatypeConverterImpl().parseDouble(pValue)), getDatatypeType());
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to double: " + pValue, getLocator());
  -    }
  +    	return new TypedValueImpl(new Double(new DatatypeConverterImpl().parseDouble(pValue)) + "d", getDatatypeType());
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   }
  
  
  
  1.4.2.1   +1 -1      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/IntegerSG.java
  
  Index: IntegerSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/IntegerSG.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- IntegerSG.java	8 Apr 2005 23:10:45 -0000	1.4
  +++ IntegerSG.java	27 Apr 2005 06:25:49 -0000	1.4.2.1
  @@ -54,7 +54,7 @@
   
     public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
       try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseInteger(pValue), INTEGER_TYPE);
  +    	return new TypedValueImpl("new java.math.BigInteger(\"" + pValue + "\")", INTEGER_TYPE);
       } catch (NumberFormatException e) {
         throw new LocSAXException("Failed to convert string value to BigInteger: " + pValue, getLocator());
       }
  
  
  
  1.4.2.1   +25 -7     ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/TimeSG.java
  
  Index: TimeSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/TimeSG.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- TimeSG.java	8 Apr 2005 23:10:45 -0000	1.4
  +++ TimeSG.java	27 Apr 2005 06:25:49 -0000	1.4.2.1
  @@ -16,6 +16,8 @@
    */
   package org.apache.ws.jaxme.generator.types;
   
  +import java.util.Calendar;
  +
   import org.apache.ws.jaxme.generator.sg.SGFactory;
   import org.apache.ws.jaxme.generator.sg.SchemaSG;
   import org.apache.ws.jaxme.generator.sg.SimpleTypeSG;
  @@ -41,11 +43,27 @@
     protected String getDatatypeName() { return "Time"; }
     protected Class getFormatClass() { return XsTimeFormat.class; }
     
  -  public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
  -    try {
  -      return new TypedValueImpl(new DatatypeConverterImpl().parseTime(pValue), getDatatypeType());
  -    } catch (RuntimeException e) {
  -      throw new LocSAXException("Failed to convert string value to time instance: " + pValue, getLocator());
  -    }
  -  }
  +    public TypedValue getCastFromString(SimpleTypeSG pController, String pValue)
  +			throws SAXException {
  +		try {
  +			Calendar calendar = new DatatypeConverterImpl().parseTime(pValue);
  +			return new TypedValueImpl(
  +					new Object[] { "new java.util.GregorianCalendar("
  +							+ calendar.get(Calendar.YEAR) + ","
  +							+ calendar.get(Calendar.MONTH) + ","
  +							+ calendar.get(Calendar.DAY_OF_MONTH) + ","
  +							+ calendar.get(Calendar.HOUR_OF_DAY) + ","
  +							+ calendar.get(Calendar.MINUTE) + ","
  +							+ calendar.get(Calendar.SECOND) + ")" },
  +					getDatatypeType());
  +		} catch (RuntimeException e) {
  +			try {
  +				throw new LocSAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue, getLocator());
  +			} catch (Exception e1) {
  +				throw new SAXException("Failed to convert string value to "
  +						+ getDatatypeName() + " instance: " + pValue);
  +			}
  +		}
  +	}
   }
  
  
  
  1.3.2.1   +9 -3      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/ShortSG.java
  
  Index: ShortSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/types/ShortSG.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- ShortSG.java	8 Apr 2005 23:10:45 -0000	1.3
  +++ ShortSG.java	27 Apr 2005 06:25:49 -0000	1.3.2.1
  @@ -51,8 +51,14 @@
       try {
         return new TypedValueImpl(new Object[]{"((", SHORT_TYPE, ")", new Short(new DatatypeConverterImpl().parseShort(pValue)), ")"},
   			  					SHORT_TYPE);
  -    } catch (NumberFormatException e) {
  -      throw new LocSAXException("Failed to convert string value to short: " + pValue, getLocator());
  -    }
  +	} catch (RuntimeException e) {
  +		try {
  +			throw new LocSAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue, getLocator());
  +		} catch (Exception e1) {
  +			throw new SAXException("Failed to convert string value to "
  +					+ getDatatypeName() + " instance: " + pValue);
  +		}
  +	}
     }
   }
  
  
  
  No                   revision
  No                   revision
  1.2.2.1   +55 -0     ws-jaxme/src/test/jaxb/defaults.xsd
  
  Index: defaults.xsd
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/test/jaxb/defaults.xsd,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- defaults.xsd	23 Jul 2004 07:17:57 -0000	1.2
  +++ defaults.xsd	27 Apr 2005 06:25:49 -0000	1.2.2.1
  @@ -48,4 +48,59 @@
   	  </xs:sequence>
   	</xs:complexType>
     </xs:element>
  +
  +  <xs:element name="defaultValuesElt">
  +  	<xs:complexType>
  +  		<xs:attribute name="string" type="xs:string" default="string" />
  +  		<xs:attribute name="boolean" type="xs:boolean" default="true" />
  +  		<xs:attribute name="float" type="xs:float" default="1" />
  +  		<xs:attribute name="double" type="xs:double" default="1" />
  +  		<xs:attribute name="decimal" type="xs:decimal" default="1" />
  +  		<xs:attribute name="duration" type="xs:duration"
  +  			default="P1D" />
  +  		<xs:attribute name="dateTime" type="xs:dateTime"
  +  			default="2001-12-31T12:30:30" />
  +  		<xs:attribute name="time" type="xs:time" default="12:00:00" />
  +  		<xs:attribute name="date" type="xs:date" default="2002-01-01" />
  +  		<xs:attribute name="hexBinary" type="xs:hexBinary"
  +  			default="0F00" />
  +  		<xs:attribute name="base64Binary" type="xs:base64Binary"
  +  			default="B64S" />
  +  		<xs:attribute name="anyURI" type="xs:anyURI"
  +  			default="http://tempuri.org" />
  +  		<xs:attribute name="QName" type="xs:QName" default="QName" />
  +  		<xs:attribute name="normalizedString"
  +  			type="xs:normalizedString" default="" />
  +  		<xs:attribute name="token" type="xs:token" default="token" />
  +  		<xs:attribute name="language" type="xs:language" default="EN" />
  +		<xs:attribute name="NMTOKEN" type="xs:NMTOKEN"
  +			default="NMTOKEN" />
  +		<xs:attribute name="NMTOKENS" type="xs:NMTOKENS"
  +			default="NMTOKENS,NMTOKENS1"/>  		
  +  		<xs:attribute name="Name" type="xs:Name" default="Name" />
  +  		<xs:attribute name="NCName" type="xs:NCName" default="NCName" />
  +  		<xs:attribute name="IDREF" type="xs:IDREF" default="idvalue0" />
  +  		<xs:attribute name="integer" type="xs:integer" default="1" />
  +  		<xs:attribute name="nonPositiveInteger"
  +  			type="xs:nonPositiveInteger" default="-1" />
  +  		<xs:attribute name="negativeInteger" type="xs:negativeInteger"
  +  			default="-1" />
  +  		<xs:attribute name="long" type="xs:long" default="1" />
  +  		<xs:attribute name="int" type="xs:int" default="1" />
  +  		<xs:attribute name="short" type="xs:short" default="1" />
  +  		<xs:attribute name="byte" type="xs:byte" default="1" />
  +  		<xs:attribute name="nonNegativeInteger"
  +  			type="xs:nonNegativeInteger" default="1" />
  +  		<xs:attribute name="unsignedLong" type="xs:unsignedLong"
  +  			default="1" />
  +  		<xs:attribute name="unsignedInt" type="xs:unsignedInt"
  +  			default="1" />
  +  		<xs:attribute name="unsignedShort" type="xs:unsignedShort"
  +  			default="1" />
  +  		<xs:attribute name="unsignedByte" type="xs:unsignedByte"
  +  			default="1" />
  +  		<xs:attribute name="positiveInteger" type="xs:positiveInteger"
  +  			default="1" />
  +  	</xs:complexType>
  +  </xs:element>
   </xs:schema>
  
  
  
  No                   revision
  No                   revision
  1.13.2.2  +2 -7      ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
  
  Index: JAXBTypeSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java,v
  retrieving revision 1.13.2.1
  retrieving revision 1.13.2.2
  diff -u -r1.13.2.1 -r1.13.2.2
  --- JAXBTypeSG.java	20 Apr 2005 19:30:04 -0000	1.13.2.1
  +++ JAXBTypeSG.java	27 Apr 2005 06:25:49 -0000	1.13.2.2
  @@ -292,15 +292,10 @@
         if (!pController.isComplex()) {
           Object o = pController.getSimpleTypeSG().getInitialValue(pSource);
           if (o == null && pDefaultValue != null) {
  -          if (runtimeType.equals(StringSG.STRING_TYPE)) {
  -            o = "\"" + pDefaultValue + "\"";
  -          }
  -          else {
  -            o = pDefaultValue;
  -          }
  +            o = pController.getSimpleTypeSG().getCastFromString(pDefaultValue);
           }
           if (o != null) {
  -          jf.addLine(o);
  +            jf.addLine(o);
           }
         }
         return jf;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org