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 jo...@apache.org on 2005/07/05 10:04:32 UTC
cvs commit: ws-jaxme/src/test/jaxb enumeration.xsd
jochen 2005/07/05 01:04:32
Modified: . status.xml
src/jaxme/org/apache/ws/jaxme/generator/sg/impl
EnumerationSG.java
src/test/jaxb enumeration.xsd
Log:
Fixed, that driver and handler classes could not be compiled, if enumerations had default values.
Revision Changes Path
1.57 +10 -0 ws-jaxme/status.xml
Index: status.xml
===================================================================
RCS file: /home/cvs/ws-jaxme/status.xml,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- status.xml 20 May 2005 20:21:23 -0000 1.56
+++ status.xml 5 Jul 2005 08:04:31 -0000 1.57
@@ -35,6 +35,16 @@
Added support for mixed content.
</action>
</release>
+ <release version="0.4.1" date="Not yet released">
+ <action dev="JW" type="enhancement" context="generator">
+ Use of xs:extension is now mapped to proper Java
+ inheritance (at least for the bean classes).
+ </action>
+ <action dev="JW" type="fix" context="generator">
+ Fixed that the handler and driver classes could not
+ be compiled, if enumerations had default values.
+ </action>
+ </release>
<release version="0.4" date="2005-May-19">
<action dev="JW" type="fix" context="xs">
The methods XSSimpleContentImpl.isEmpty(),
1.6 +1 -1 ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/EnumerationSG.java
Index: EnumerationSG.java
===================================================================
RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/EnumerationSG.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- EnumerationSG.java 28 Apr 2005 23:57:53 -0000 1.5
+++ EnumerationSG.java 5 Jul 2005 08:04:32 -0000 1.6
@@ -147,7 +147,7 @@
public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException {
for (int i = 0; i < values.length; i++) {
if (values[i].getValue().equals(pValue)) {
- return new TypedValueImpl(values[i].getName(), qName);
+ return new TypedValueImpl(new Object[]{qName, ".", values[i].getName()}, qName);
}
}
return super.getCastFromString(pController, pValue);
1.4 +264 -264 ws-jaxme/src/test/jaxb/enumeration.xsd
Index: enumeration.xsd
===================================================================
RCS file: /home/cvs/ws-jaxme/src/test/jaxb/enumeration.xsd,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- enumeration.xsd 29 Sep 2004 08:41:02 -0000 1.3
+++ enumeration.xsd 5 Jul 2005 08:04:32 -0000 1.4
@@ -1,264 +1,264 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2003, 2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xml:lang="EN"
- targetNamespace="http://ws.apache.org/jaxme/test/misc/enumeration"
- xmlns:ex="http://ws.apache.org/jaxme/test/misc/enumeration"
- xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
- xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
- jaxb:extensionBindingPrefixes="xjc"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- jaxb:version="1.0">
- <xs:annotation>
- <xs:documentation>
- Demonstration of a complex type with all sorts of enumeration values.
- </xs:documentation>
- <xs:appinfo>
- <jaxb:globalBindings
- typesafeEnumBase="xs:string xs:int xs:long xs:short xs:double xs:float">
- <xjc:serializable/>
- </jaxb:globalBindings>
- </xs:appinfo>
- </xs:annotation>
-
- <!-- In this example the typesafeEnumMember instances are part of the
- typesafeEnumClass. -->
- <xs:simpleType name="StringType">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumClass name="MyStringTypeClass">
- <jaxb:typesafeEnumMember name="FOO" value="FOO"/>
- <jaxb:typesafeEnumMember name="BAR" value="BAR"/>
- </jaxb:typesafeEnumClass>
- </xs:appinfo>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:enumeration value="FOO"/>
- <xs:enumeration value="BAR"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- Here's another case: The typesafeEnumMember instances are part
- of their respective values. Choose your own style. -->
- <xs:simpleType name="IntType">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumClass name="MyIntTypeClass"/>
- </xs:appinfo>
- </xs:annotation>
- <xs:restriction base="xs:int">
- <xs:enumeration value="3">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumMember name="INT3"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="0">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumMember name="INT0"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="-7">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumMember name="INT_7"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- I personally prefer the former style, for shortness. So we
- revert to this style. -->
- <xs:simpleType name="LongType">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumClass name="MyLongTypeClass">
- <jaxb:typesafeEnumMember name="LONG_POSITIVE" value="987298379879887"/>
- <jaxb:typesafeEnumMember name="LONG_ZERO" value="0"/>
- <jaxb:typesafeEnumMember name="LONG_NEGATIVE" value="-23987982739273989"/>
- </jaxb:typesafeEnumClass>
- </xs:appinfo>
- </xs:annotation>
- <xs:restriction base="xs:long">
- <xs:enumeration value="987298379879887"/>
- <xs:enumeration value="0"/>
- <xs:enumeration value="-23987982739273989"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="ShortType">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumClass name="MyShortTypeClass">
- <jaxb:typesafeEnumMember name="SHORT_POSITIVE" value="3468"/>
- <jaxb:typesafeEnumMember name="SHORT_ZERO" value="0"/>
- <jaxb:typesafeEnumMember name="SHORT_NEGATIVE" value="-23"/>
- </jaxb:typesafeEnumClass>
- </xs:appinfo>
- </xs:annotation>
- <xs:restriction base="xs:short">
- <xs:enumeration value="3468"/>
- <xs:enumeration value="0"/>
- <xs:enumeration value="-23"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="DoubleType">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumClass name="MyDoubleTypeClass">
- <jaxb:typesafeEnumMember name="DOUBLE_POSITIVE" value="3249239847982.234"/>
- <jaxb:typesafeEnumMember name="DOUBLE_ZERO" value="0"/>
- <jaxb:typesafeEnumMember name="DOUBLE_NEGATIVE" value="-324234.234"/>
- </jaxb:typesafeEnumClass>
- </xs:appinfo>
- </xs:annotation>
- <xs:restriction base="xs:double">
- <xs:enumeration value="3249239847982.234"/>
- <xs:enumeration value="0"/>
- <xs:enumeration value="-324234.234"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="FloatType">
- <xs:annotation>
- <xs:appinfo>
- <jaxb:typesafeEnumClass name="MyFloatTypeClass">
- <jaxb:typesafeEnumMember name="FLOAT_POSITIVE" value="47982.234"/>
- <jaxb:typesafeEnumMember name="FLOAT_ZERO" value="0"/>
- <jaxb:typesafeEnumMember name="FLOAT_NEGATIVE" value="-24234.234"/>
- </jaxb:typesafeEnumClass>
- </xs:appinfo>
- </xs:annotation>
- <xs:restriction base="xs:float">
- <xs:enumeration value="47982.234"/>
- <xs:enumeration value="0"/>
- <xs:enumeration value="-24234.234"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="AllSimpleTypes">
- <xs:sequence>
- <xs:element name="StringElem" type="ex:StringType"/>
- <xs:element name="IntElem" type="ex:IntType"/>
- <xs:element name="LongElem" type="ex:LongType"/>
- <xs:element name="ShortElem" type="ex:ShortType"/>
- <xs:element name="DoubleElem" type="ex:DoubleType"/>
- <xs:element name="FloatElem" type="ex:FloatType"/>
- <xs:element name="DateTimeElem" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:dateTime">
- <xs:enumeration value="2002-12-17T12:23:11"/>
- <xs:enumeration value="2002-12-16T12:00:11"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DateElem" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:date">
- <xs:enumeration value="2002-12-17"/>
- <xs:enumeration value="2002-12-16"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="TimeElem" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:time">
- <xs:enumeration value="12:23:11"/>
- <xs:enumeration value="12:00:11"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="AllTypesElement">
- <xs:complexType>
- <xs:sequence>
- <xs:element type="ex:AllSimpleTypes" name="AllSimpleTypesElement"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="LocalEnumElement">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="LocalString">
- <xs:simpleType>
- <xs:annotation><xs:appinfo>
- <jaxb:typesafeEnumClass name="LocalStringCl"/>
- </xs:appinfo></xs:annotation>
- <xs:restriction base="xs:string">
- <xs:enumeration value="a"/>
- <xs:enumeration value="b"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="LocalInt">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:enumeration value="0"/>
- <xs:enumeration value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="LocalDouble">
- <xs:simpleType>
- <xs:restriction base="xs:double">
- <xs:enumeration value="0.0"/>
- <xs:enumeration value="1.0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="LocalEnumAttribute">
- <xs:complexType>
- <xs:attribute name="stringAttr">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="a"/>
- <xs:enumeration value="b"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="intAttr">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:enumeration value="0"/>
- <xs:enumeration value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="doubleAttr">
- <xs:simpleType>
- <xs:restriction base="xs:double">
- <xs:enumeration value="0.0"/>
- <xs:enumeration value="1.0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
-</xs:schema>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2003, 2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xml:lang="EN"
+ targetNamespace="http://ws.apache.org/jaxme/test/misc/enumeration"
+ xmlns:ex="http://ws.apache.org/jaxme/test/misc/enumeration"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+ jaxb:extensionBindingPrefixes="xjc"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ jaxb:version="1.0">
+ <xs:annotation>
+ <xs:documentation>
+ Demonstration of a complex type with all sorts of enumeration values.
+ </xs:documentation>
+ <xs:appinfo>
+ <jaxb:globalBindings
+ typesafeEnumBase="xs:string xs:int xs:long xs:short xs:double xs:float">
+ <xjc:serializable/>
+ </jaxb:globalBindings>
+ </xs:appinfo>
+ </xs:annotation>
+
+ <!-- In this example the typesafeEnumMember instances are part of the
+ typesafeEnumClass. -->
+ <xs:simpleType name="StringType">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumClass name="MyStringTypeClass">
+ <jaxb:typesafeEnumMember name="FOO" value="FOO"/>
+ <jaxb:typesafeEnumMember name="BAR" value="BAR"/>
+ </jaxb:typesafeEnumClass>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FOO"/>
+ <xs:enumeration value="BAR"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Here's another case: The typesafeEnumMember instances are part
+ of their respective values. Choose your own style. -->
+ <xs:simpleType name="IntType">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumClass name="MyIntTypeClass"/>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="3">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumMember name="INT3"/>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumMember name="INT0"/>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="-7">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumMember name="INT_7"/>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- I personally prefer the former style, for shortness. So we
+ revert to this style. -->
+ <xs:simpleType name="LongType">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumClass name="MyLongTypeClass">
+ <jaxb:typesafeEnumMember name="LONG_POSITIVE" value="987298379879887"/>
+ <jaxb:typesafeEnumMember name="LONG_ZERO" value="0"/>
+ <jaxb:typesafeEnumMember name="LONG_NEGATIVE" value="-23987982739273989"/>
+ </jaxb:typesafeEnumClass>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:restriction base="xs:long">
+ <xs:enumeration value="987298379879887"/>
+ <xs:enumeration value="0"/>
+ <xs:enumeration value="-23987982739273989"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="ShortType">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumClass name="MyShortTypeClass">
+ <jaxb:typesafeEnumMember name="SHORT_POSITIVE" value="3468"/>
+ <jaxb:typesafeEnumMember name="SHORT_ZERO" value="0"/>
+ <jaxb:typesafeEnumMember name="SHORT_NEGATIVE" value="-23"/>
+ </jaxb:typesafeEnumClass>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:restriction base="xs:short">
+ <xs:enumeration value="3468"/>
+ <xs:enumeration value="0"/>
+ <xs:enumeration value="-23"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="DoubleType">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumClass name="MyDoubleTypeClass">
+ <jaxb:typesafeEnumMember name="DOUBLE_POSITIVE" value="3249239847982.234"/>
+ <jaxb:typesafeEnumMember name="DOUBLE_ZERO" value="0"/>
+ <jaxb:typesafeEnumMember name="DOUBLE_NEGATIVE" value="-324234.234"/>
+ </jaxb:typesafeEnumClass>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:restriction base="xs:double">
+ <xs:enumeration value="3249239847982.234"/>
+ <xs:enumeration value="0"/>
+ <xs:enumeration value="-324234.234"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="FloatType">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:typesafeEnumClass name="MyFloatTypeClass">
+ <jaxb:typesafeEnumMember name="FLOAT_POSITIVE" value="47982.234"/>
+ <jaxb:typesafeEnumMember name="FLOAT_ZERO" value="0"/>
+ <jaxb:typesafeEnumMember name="FLOAT_NEGATIVE" value="-24234.234"/>
+ </jaxb:typesafeEnumClass>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:restriction base="xs:float">
+ <xs:enumeration value="47982.234"/>
+ <xs:enumeration value="0"/>
+ <xs:enumeration value="-24234.234"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="AllSimpleTypes">
+ <xs:sequence>
+ <xs:element name="StringElem" type="ex:StringType"/>
+ <xs:element name="IntElem" type="ex:IntType"/>
+ <xs:element name="LongElem" type="ex:LongType"/>
+ <xs:element name="ShortElem" type="ex:ShortType"/>
+ <xs:element name="DoubleElem" type="ex:DoubleType"/>
+ <xs:element name="FloatElem" type="ex:FloatType"/>
+ <xs:element name="DateTimeElem" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:dateTime">
+ <xs:enumeration value="2002-12-17T12:23:11"/>
+ <xs:enumeration value="2002-12-16T12:00:11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="DateElem" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:date">
+ <xs:enumeration value="2002-12-17"/>
+ <xs:enumeration value="2002-12-16"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="TimeElem" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:time">
+ <xs:enumeration value="12:23:11"/>
+ <xs:enumeration value="12:00:11"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="AllTypesElement">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element type="ex:AllSimpleTypes" name="AllSimpleTypesElement"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="LocalEnumElement">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LocalString">
+ <xs:simpleType>
+ <xs:annotation><xs:appinfo>
+ <jaxb:typesafeEnumClass name="LocalStringCl"/>
+ </xs:appinfo></xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="a"/>
+ <xs:enumeration value="b"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="LocalInt">
+ <xs:simpleType>
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="0"/>
+ <xs:enumeration value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="LocalDouble">
+ <xs:simpleType>
+ <xs:restriction base="xs:double">
+ <xs:enumeration value="0.0"/>
+ <xs:enumeration value="1.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="LocalEnumAttribute">
+ <xs:complexType>
+ <xs:attribute name="stringAttr" default="b">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="a"/>
+ <xs:enumeration value="b"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="intAttr">
+ <xs:simpleType>
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="0"/>
+ <xs:enumeration value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="doubleAttr">
+ <xs:simpleType>
+ <xs:restriction base="xs:double">
+ <xs:enumeration value="0.0"/>
+ <xs:enumeration value="1.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org