You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2006/10/10 07:56:02 UTC
svn commit: r454632 [2/2] - in
/webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema:
ExtensionUtility.java template/ADBBeanTemplate.xsl
Modified: webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl?view=diff&rev=454632&r1=454631&r2=454632
==============================================================================
--- webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl (original)
+++ webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl Mon Oct 9 22:56:02 2006
@@ -116,371 +116,407 @@
<xsl:choose>
- <xsl:when test="@removed">
+ <xsl:when test="@removed">
- /**
- * Auto generated getter method
- * Overridden from <xsl:value-of select="$restriction"/>
- *
- * @throws RuntimeException
- */
- public <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text>get<xsl:value-of select="$javaName"/>(){
- throw new java.lang.RuntimeException();
- }
+ /**
+ * Auto generated getter method
+ * Overridden from <xsl:value-of select="$restriction"/>
+ *
+ * @throws RuntimeException
+ */
+ public <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text>get<xsl:value-of select="$javaName"/>(){
+ throw new java.lang.RuntimeException();
+ }
+
+ /**
+ * Auto generated setter method
+ * Overridden from <xsl:value-of select="$restriction"/>
+ *
+ * @param param <xsl:value-of select="$javaName"/>
+ * @throws RuntimeException
+ */
+ public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ throw new java.lang.RuntimeException();
+ }
- /**
- * Auto generated setter method
- * Overridden from <xsl:value-of select="$restriction"/>
- *
- * @param param <xsl:value-of select="$javaName"/>
- * @throws RuntimeException
- */
- public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
- throw new java.lang.RuntimeException();
- }
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="(@restricted) and (@occuranceChanged) and (not(@typeChanged))">
+ <xsl:variable name="basePropertyType"><xsl:value-of select="@arrayBaseType"/></xsl:variable>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="(@restricted) and (@occuranceChanged) and (not(@typeChanged))">
- <xsl:variable name="basePropertyType"><xsl:value-of select="@arrayBaseType"/></xsl:variable>
+ <!-- generate the validator Method, this is specifiacally for validating the arrays-->
+ /**
+ * Validate the array for <xsl:value-of select="$javaName"/>
+ * Overridden from <xsl:value-of select="$restriction"/>
+ */
+ protected void validate<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ <xsl:if test="not(@unbound)">
+ if ((param != null) && (param.length > <xsl:value-of select="@maxOccurs"/>)){
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:if>
+ <xsl:if test="$min!=0">
+ if ((param != null) && (param.length < <xsl:value-of select="$min"/>)){
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:if>
+ }
- <!-- generate the validator Method, this is specifiacally for validating the arrays-->
- /**
- * Validate the array for <xsl:value-of select="$javaName"/>
- * Overridden from <xsl:value-of select="$restriction"/>
- */
- protected void validate<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
- <xsl:if test="not(@unbound)">
- if (param.length > <xsl:value-of select="@maxOccurs"/>){
- throw new java.lang.RuntimeException();
- }
- </xsl:if>
- <xsl:if test="$min!=0">
- if (param.length < <xsl:value-of select="$min"/>){
- throw new java.lang.RuntimeException();
- }
- </xsl:if>
- }
+ /**
+ * Auto generated setter method
+ * Overridden from <xsl:value-of select="$restriction"/>
+ *
+ * @param param <xsl:value-of select="$javaName"/>
+ */
+ public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ <!-- call the validator-->
+ validate<xsl:value-of select="$javaName"/>(param);
- /**
- * Auto generated setter method
- * Overridden from <xsl:value-of select="$restriction"/>
- *
- * @param param <xsl:value-of select="$javaName"/>
- */
- public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
- <!-- call the validator-->
- validate<xsl:value-of select="$javaName"/>(param);
-
- <xsl:if test="$choice">
- clearAllSettingTrackers();
- </xsl:if>
- <xsl:if test="$min=0 or $choice">
- <!-- the updating of setting tracker for null values should
- happen if the attribute is marked as nillable. Else
- the user can set a null value and it is never marked
- as set
- -->
- <xsl:choose>
- <xsl:when test="not(@nillable) and not(@primitive)">
- if (param !=null){
- //update the setting tracker
- <xsl:value-of select="$settingTracker"/> = true;
- }
- </xsl:when>
- <xsl:otherwise>
- //update the setting tracker
- <xsl:value-of select="$settingTracker"/> = true;
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- this.<xsl:value-of select="$varName"/>=param;
- }
- </xsl:when>
- <xsl:otherwise>
+ <xsl:if test="$choice">
+ clearAllSettingTrackers();
+ </xsl:if>
+ <xsl:if test="$min=0 or $choice">
+ <!-- the updating of setting tracker for null values should
+ happen if the attribute is marked as nillable. Else
+ the user can set a null value and it is never marked
+ as set
+ -->
+ <xsl:choose>
+ <xsl:when test="@primitive and not(@array)">
+ // setting primitive variable always to true
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:when>
+ <xsl:otherwise>
+ if (param != null){
+ //update the setting tracker
+ <xsl:value-of select="$settingTracker"/> = true;
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$settingTracker"/> = false;
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ this.<xsl:value-of select="$varName"/>=param;
+ }
+ </xsl:when>
+ <xsl:otherwise>
- /**
- * field for <xsl:value-of select="$javaName"/>
- <xsl:if test="@attribute">
- * This was an Attribute!</xsl:if>
- <xsl:if test="@array">
- * This was an Array!</xsl:if>
- <xsl:if test="@typeChanged">
- * Type of this field is a subtype of its original.</xsl:if>
- <xsl:if test="(@rewrite) and (@occuranceChanged)">
- * This field was an array in <xsl:value-of select="$restriction"/>.</xsl:if>
- */
-
- protected <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text><xsl:value-of select="$varName" /> ;
- <xsl:if test="enumFacet">
- private static java.util.HashMap _table_ = new java.util.HashMap();
-
- // Constructor
- protected <xsl:value-of select="$name"/>(<xsl:value-of select="$propertyType"/> value) {
- <xsl:value-of select="$varName" /> = value;
- <xsl:choose>
- <xsl:when test="@primitive">
- _table_.put(<xsl:value-of select="$varName" /> + "", this);
- </xsl:when>
- <xsl:otherwise>
- _table_.put(<xsl:value-of select="$varName" />, this);
- </xsl:otherwise>
- </xsl:choose>
+ /**
+ * field for <xsl:value-of select="$javaName"/>
+ <xsl:if test="@attribute">
+ * This was an Attribute!</xsl:if>
+ <xsl:if test="@array">
+ * This was an Array!</xsl:if>
+ <xsl:if test="@typeChanged">
+ * Type of this field is a subtype of its original.</xsl:if>
+ <xsl:if test="(@rewrite) and (@occuranceChanged)">
+ * This field was an array in <xsl:value-of select="$restriction"/>.</xsl:if>
+ */
+
+ protected <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text><xsl:value-of select="$varName" /> ;
+ <xsl:if test="enumFacet">
+ private static java.util.HashMap _table_ = new java.util.HashMap();
+
+ // Constructor
+ protected <xsl:value-of select="$name"/>(<xsl:value-of select="$propertyType"/> value) {
+ <xsl:value-of select="$varName" /> = value;
+ <xsl:choose>
+ <xsl:when test="@primitive">
+ _table_.put(<xsl:value-of select="$varName" /> + "", this);
+ </xsl:when>
+ <xsl:otherwise>
+ _table_.put(<xsl:value-of select="$varName" />, this);
+ </xsl:otherwise>
+ </xsl:choose>
- }
+ }
- <xsl:for-each select="enumFacet">
- public static final <xsl:value-of select="$propertyType"/> _<xsl:value-of select="@id"/> =
- org.apache.axis2.databinding.utils.ConverterUtil.convertTo<xsl:value-of select="$shortTypeName"/>("<xsl:value-of select="@value"/>");
- </xsl:for-each>
- <xsl:for-each select="enumFacet">
- public static final <xsl:value-of select="$name"/><xsl:text> </xsl:text><xsl:value-of select="@id"/> =
- new <xsl:value-of select="$name"/>(_<xsl:value-of select="@id"/>);
- </xsl:for-each>
-
- public <xsl:value-of select="$propertyType"/> getValue() { return <xsl:value-of select="$varName" />;}
- public static <xsl:value-of select="$name"/> fromValue(<xsl:value-of select="$propertyType"/> value)
- throws java.lang.IllegalArgumentException {
- <xsl:value-of select="$name"/> enumeration = (<xsl:value-of select="$name"/>)
- <xsl:choose>
- <xsl:when test="@primitive">
- _table_.get(value + "");
- </xsl:when>
- <xsl:otherwise>
- _table_.get(value);
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:for-each select="enumFacet">
+ public static final <xsl:value-of select="$propertyType"/> _<xsl:value-of select="@id"/> =
+ org.apache.axis2.databinding.utils.ConverterUtil.convertTo<xsl:value-of select="$shortTypeName"/>("<xsl:value-of select="@value"/>");
+ </xsl:for-each>
+ <xsl:for-each select="enumFacet">
+ public static final <xsl:value-of select="$name"/><xsl:text> </xsl:text><xsl:value-of select="@id"/> =
+ new <xsl:value-of select="$name"/>(_<xsl:value-of select="@id"/>);
+ </xsl:for-each>
- if (enumeration==null) throw new java.lang.IllegalArgumentException();
- return enumeration;
- }
- public static <xsl:value-of select="$name"/> fromString(java.lang.String value)
- throws java.lang.IllegalArgumentException {
- try {
- <xsl:choose>
- <xsl:when test="@primitive">
- return fromValue(org.apache.axis2.databinding.utils.ConverterUtil.convertTo<xsl:value-of select="$shortTypeName"/>(value));
- </xsl:when>
- <xsl:otherwise>
- return fromValue(new <xsl:value-of select="$propertyType"/>(value));
- </xsl:otherwise>
- </xsl:choose>
+ public <xsl:value-of select="$propertyType"/> getValue() { return <xsl:value-of select="$varName" />;}
+ public static <xsl:value-of select="$name"/> fromValue(<xsl:value-of select="$propertyType"/> value)
+ throws java.lang.IllegalArgumentException {
+ <xsl:value-of select="$name"/> enumeration = (<xsl:value-of select="$name"/>)
+ <xsl:choose>
+ <xsl:when test="@primitive">
+ _table_.get(value + "");
+ </xsl:when>
+ <xsl:otherwise>
+ _table_.get(value);
+ </xsl:otherwise>
+ </xsl:choose>
- } catch (java.lang.Exception e) {
- throw new java.lang.IllegalArgumentException();
+ if (enumeration==null) throw new java.lang.IllegalArgumentException();
+ return enumeration;
}
- }
- public boolean equals(java.lang.Object obj) {return (obj == this);}
- public int hashCode() { return toString().hashCode();}
- public java.lang.String toString() {
- <xsl:choose>
- <xsl:when test="@primitive">
- return <xsl:value-of select="$varName"/> + "";
- </xsl:when>
- <xsl:otherwise>
- return <xsl:value-of select="$varName"/>.toString();
- </xsl:otherwise>
- </xsl:choose>
+ public static <xsl:value-of select="$name"/> fromString(java.lang.String value)
+ throws java.lang.IllegalArgumentException {
+ try {
+ <xsl:choose>
+ <xsl:when test="@primitive">
+ return fromValue(org.apache.axis2.databinding.utils.ConverterUtil.convertTo<xsl:value-of select="$shortTypeName"/>(value));
+ </xsl:when>
+ <xsl:otherwise>
+ return fromValue(new <xsl:value-of select="$propertyType"/>(value));
+ </xsl:otherwise>
+ </xsl:choose>
- }
-
- </xsl:if>
- <xsl:if test="not(enumFacet)">
- <!-- Generate a tracker only if the min occurs is zero, which means if the user does
- not bother to set that value, we do not send it -->
- <xsl:if test="$min=0 or $choice">
- /* This tracker boolean wil be used to detect whether the user called the set method
- * for this attribute. It will be used to determine whether to include this field
- * in the serialized XML
- */
- protected boolean <xsl:value-of select="$settingTracker"/> = false ;
- </xsl:if>
-
- /**
- * Auto generated getter method
- * @return <xsl:value-of select="$propertyType"/>
- */
- public <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text>get<xsl:value-of select="$javaName"/>(){
- return <xsl:value-of select="$varName"/>;
- }
+ } catch (java.lang.Exception e) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ }
+ public boolean equals(java.lang.Object obj) {return (obj == this);}
+ public int hashCode() { return toString().hashCode();}
+ public java.lang.String toString() {
+ <xsl:choose>
+ <xsl:when test="@primitive">
+ return <xsl:value-of select="$varName"/> + "";
+ </xsl:when>
+ <xsl:otherwise>
+ return <xsl:value-of select="$varName"/>.toString();
+ </xsl:otherwise>
+ </xsl:choose>
- <!-- When generating the setters, we have to cater differently for the array!-->
- <xsl:choose>
- <xsl:when test="@array">
- <xsl:variable name="basePropertyType"><xsl:value-of select="@arrayBaseType"/></xsl:variable>
+ }
+ </xsl:if>
+ <xsl:if test="not(enumFacet)">
+ <!-- Generate a tracker only if the min occurs is zero, which means if the user does
+ not bother to set that value, we do not send it -->
+ <xsl:if test="$min=0 or $choice">
+ /* This tracker boolean wil be used to detect whether the user called the set method
+ * for this attribute. It will be used to determine whether to include this field
+ * in the serialized XML
+ */
+ protected boolean <xsl:value-of select="$settingTracker"/> = false ;
+ </xsl:if>
- <!-- generate the validator Method, this is specifiacally for validating the arrays-->
- /**
- * validate the array for <xsl:value-of select="$javaName"/>
+ /**
+ * Auto generated getter method
+ * @return <xsl:value-of select="$propertyType"/>
*/
- protected void validate<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
- <xsl:if test="not(@unbound)">
- if (param.length > <xsl:value-of select="@maxOccurs"/>){
- throw new java.lang.RuntimeException();
- }
- </xsl:if>
- <xsl:if test="$min!=0">
- if (param.length < <xsl:value-of select="$min"/>){
- throw new java.lang.RuntimeException();
- }
- </xsl:if>
- }
+ public <xsl:value-of select="$propertyType"/><xsl:text> </xsl:text>get<xsl:value-of select="$javaName"/>(){
+ return <xsl:value-of select="$varName"/>;
+ }
+ <!-- When generating the setters, we have to cater differently for the array!-->
+ <xsl:choose>
+ <xsl:when test="@array">
+ <xsl:variable name="basePropertyType"><xsl:value-of select="@arrayBaseType"/></xsl:variable>
- /**
- * Auto generated setter method
- * @param param <xsl:value-of select="$javaName"/>
- */
- public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
- <!-- call the validator-->
- validate<xsl:value-of select="$javaName"/>(param);
- <xsl:if test="$choice">
- clearAllSettingTrackers();
- </xsl:if>
- <xsl:if test="$min=0 or $choice">
- <!-- the updating of setting tracker for null values should
- happen if the attribute is marked as nillable. Else
- the user can set a null value and it is never marked
- as set
- -->
- <xsl:choose>
- <xsl:when test="not(@nillable) and not(@primitive)">
- if (param !=null){
- //update the setting tracker
- <xsl:value-of select="$settingTracker"/> = true;
- }
- </xsl:when>
- <xsl:otherwise>
- //update the setting tracker
- <xsl:value-of select="$settingTracker"/> = true;
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- this.<xsl:value-of select="$varName"/>=param;
- }
+ <!-- generate the validator Method, this is specifiacally for validating the arrays-->
+ /**
+ * validate the array for <xsl:value-of select="$javaName"/>
+ */
+ protected void validate<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ <xsl:if test="not(@unbound)">
+ if ((param != null) && (param.length > <xsl:value-of select="@maxOccurs"/>)){
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:if>
+ <xsl:if test="$min!=0">
+ if ((param != null) && (param.length < <xsl:value-of select="$min"/>)){
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:if>
+ }
- <!--
- we special case the 'array' scenario and generate a
- convenience method for adding elements one by one to
- the array. The current implementation is somewhat
- inefficient but gets the job done.Since a primitive
- cannot be treated as an object it has to be ignored!
+ /**
+ * Auto generated setter method
+ * @param param <xsl:value-of select="$javaName"/>
+ */
+ public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ <!-- call the validator-->
+ validate<xsl:value-of select="$javaName"/>(param);
+
+ <xsl:if test="$choice">
+ clearAllSettingTrackers();
+ </xsl:if>
+ <xsl:if test="$min=0 or $choice">
+ <!-- the updating of setting tracker for null values should
+ happen if the attribute is marked as nillable. Else
+ the user can set a null value and it is never marked
+ as set
+ -->
+ <xsl:choose>
+ <xsl:when test="@primitive and not(@array)">
+ // setting the primitive attribute to true
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:when>
+ <xsl:otherwise>
+ if (param != null){
+ //update the setting tracker
+ <xsl:value-of select="$settingTracker"/> = true;
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$settingTracker"/> = false;
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ </xsl:otherwise>
+ </xsl:choose>
- -->
- <xsl:if test="not(@primitive)">
- /**
- * Auto generated add method for the array for convenience
- * @param param <xsl:value-of select="$basePropertyType"/>
- */
- public void add<xsl:value-of select="$javaName"/>(<xsl:value-of select="$basePropertyType"/> param){
- if (<xsl:value-of select="$varName"/> == null){
- <xsl:value-of select="$varName"/> = new <xsl:value-of select="$propertyType"/>{};
- }
+ </xsl:if>
+ this.<xsl:value-of select="$varName"/>=param;
+ }
- <xsl:if test="$choice">
- clearAllSettingTrackers();
- </xsl:if>
- <xsl:if test="$min=0 or $choice">
- //update the setting tracker
- <xsl:value-of select="$settingTracker"/> = true;
- </xsl:if>
+ <!--
- java.util.List list =
- org.apache.axis2.databinding.utils.ConverterUtil.toList(<xsl:value-of select="$varName"/>);
- list.add(param);
- this.<xsl:value-of select="$varName"/> =
- (<xsl:value-of select="$propertyType"/>)list.toArray(
- new <xsl:value-of select="$basePropertyType"/>[list.size()]);
+ we special case the 'array' scenario and generate a
+ convenience method for adding elements one by one to
+ the array. The current implementation is somewhat
+ inefficient but gets the job done.Since a primitive
+ cannot be treated as an object it has to be ignored!
+
+ -->
+ <xsl:if test="not(@primitive)">
+ /**
+ * Auto generated add method for the array for convenience
+ * @param param <xsl:value-of select="$basePropertyType"/>
+ */
+ public void add<xsl:value-of select="$javaName"/>(<xsl:value-of select="$basePropertyType"/> param){
+ if (<xsl:value-of select="$varName"/> == null){
+ <xsl:value-of select="$varName"/> = new <xsl:value-of select="$propertyType"/>{};
+ }
- }
- </xsl:if>
- <!-- end of special casing for the array-->
+ <xsl:if test="$choice">
+ clearAllSettingTrackers();
+ </xsl:if>
+ <xsl:if test="$min=0 or $choice">
+ //update the setting tracker
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:if>
- </xsl:when>
- <!-- Non array setter method-->
- <xsl:otherwise>
- /**
- * Auto generated setter method
- * @param param <xsl:value-of select="$javaName"/>
- */
- public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
- <xsl:if test="$choice">
- clearAllSettingTrackers();
- </xsl:if>
- <xsl:if test="$min=0 or $choice">
- //update the setting tracker
- <xsl:value-of select="$settingTracker"/> = true;
- </xsl:if>
+ java.util.List list =
+ org.apache.axis2.databinding.utils.ConverterUtil.toList(<xsl:value-of select="$varName"/>);
+ list.add(param);
+ this.<xsl:value-of select="$varName"/> =
+ (<xsl:value-of select="$propertyType"/>)list.toArray(
+ new <xsl:value-of select="$basePropertyType"/>[list.size()]);
- <xsl:choose>
- <xsl:when test="(@restrictionBaseType)">
- <xsl:choose>
- <xsl:when test="(@patternFacet)">
- if ( param.matches( "<xsl:value-of select="$patternFacet"/>" )) {
- this.<xsl:value-of select="$varName"/>=param;
- }
- else {
- throw new java.lang.RuntimeException();
- }
- </xsl:when>
- <xsl:when test="(@lenFacet)">
- if ( param.length() == <xsl:value-of select="@lenFacet"/> ) {
- this.<xsl:value-of select="$varName"/>=param;
- }
- else {
- throw new java.lang.RuntimeException();
- }
- </xsl:when>
- <xsl:when test="(@maxLenFacet) or (@minLenFacet)">
- if ( <xsl:if test="(@minLenFacet)"> <xsl:value-of select="$minLenFacet"/> < </xsl:if> param.length() <xsl:if test="(@maxLenFacet)"> > <xsl:value-of select="$maxLenFacet"/> = </xsl:if> ) {
- this.<xsl:value-of select="$varName"/>=param;
- }
- else {
- throw new java.lang.RuntimeException();
- }
- </xsl:when>
- <xsl:when test="(@maxExFacet) or (@minExFacet) or (@maxInFacet) or (@minInFacet)">
- if ( <xsl:if test="(@minExFacet)"> <xsl:value-of select="$minExFacet"/> < </xsl:if> <xsl:if test="(@minInFacet)"> <xsl:value-of select="$minInFacet"/> <= </xsl:if> param <xsl:if test="(@maxExFacet)"> > <xsl:value-of select="$maxExFacet"/> </xsl:if> <xsl:if test="(@maxInFacet)"> >= <xsl:value-of select="$maxInFacet"/> </xsl:if> ) {
+ }
+ </xsl:if>
+ <!-- end of special casing for the array-->
- this.<xsl:value-of select="$varName"/>=param;
- }
- else {
- throw new java.lang.RuntimeException();
- }
+ </xsl:when>
+ <!-- Non array setter method-->
+ <xsl:otherwise>
+ /**
+ * Auto generated setter method
+ * @param param <xsl:value-of select="$javaName"/>
+ */
+ public void set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/> param){
+ <xsl:if test="$choice">
+ clearAllSettingTrackers();
+ </xsl:if>
+ <xsl:if test="$min=0 or $choice">
+ <xsl:choose>
+ <xsl:when test="@primitive and not(@array)">
+ // setting primitive attribute tracker to true
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:when>
+ <xsl:otherwise>
+ if (param != null){
+ //update the setting tracker
+ <xsl:value-of select="$settingTracker"/> = true;
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ <xsl:value-of select="$settingTracker"/> = true;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$settingTracker"/> = false;
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="(@restrictionBaseType)">
+ <xsl:choose>
+ <xsl:when test="(@patternFacet)">
+ if ( param.matches( "<xsl:value-of select="$patternFacet"/>" )) {
+ this.<xsl:value-of select="$varName"/>=param;
+ }
+ else {
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:when>
+ <xsl:when test="(@lenFacet)">
+ if ( param.length() == <xsl:value-of select="@lenFacet"/> ) {
+ this.<xsl:value-of select="$varName"/>=param;
+ }
+ else {
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:when>
+ <xsl:when test="(@maxLenFacet) or (@minLenFacet)">
+ if ( <xsl:if test="(@minLenFacet)"> <xsl:value-of select="$minLenFacet"/> < </xsl:if> param.length() <xsl:if test="(@maxLenFacet)"> > <xsl:value-of select="$maxLenFacet"/> = </xsl:if> ) {
+ this.<xsl:value-of select="$varName"/>=param;
+ }
+ else {
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:when>
+ <xsl:when test="(@maxExFacet) or (@minExFacet) or (@maxInFacet) or (@minInFacet)">
+ if ( <xsl:if test="(@minExFacet)"> <xsl:value-of select="$minExFacet"/> < </xsl:if> <xsl:if test="(@minInFacet)"> <xsl:value-of select="$minInFacet"/> <= </xsl:if> param <xsl:if test="(@maxExFacet)"> > <xsl:value-of select="$maxExFacet"/> </xsl:if> <xsl:if test="(@maxInFacet)"> >= <xsl:value-of select="$maxInFacet"/> </xsl:if> ) {
+
+ this.<xsl:value-of select="$varName"/>=param;
+ }
+ else {
+ throw new java.lang.RuntimeException();
+ }
+ </xsl:when>
+ <xsl:otherwise>
+ this.<xsl:value-of select="$varName"/>=param;
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
+
<xsl:otherwise>
- this.<xsl:value-of select="$varName"/>=param;
+ this.<xsl:value-of select="$varName"/>=param;
</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
+ </xsl:choose>
- <xsl:otherwise>
- this.<xsl:value-of select="$varName"/>=param;
- </xsl:otherwise>
+ }
+ </xsl:otherwise>
</xsl:choose>
+ </xsl:if>
- }
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
-
- </xsl:otherwise>
- </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
- </xsl:otherwise>
+ </xsl:otherwise>
</xsl:choose>
<!-- end of xsl:if for not(@inherited) -->
</xsl:if>
-
-
</xsl:for-each>
<!-- ######################################################################################### -->
@@ -522,8 +558,8 @@
xmlWriter.setPrefix(prefix, namespace);
}
} else {
- xmlWriter.writeStartElement(parentQName.getLocalPart());
- }
+ xmlWriter.writeStartElement(parentQName.getLocalPart());
+ }
<!-- write the type attribute if needed -->
<xsl:if test="$extension">
@@ -583,6 +619,8 @@
<xsl:variable name="settingTracker">local<xsl:value-of select="@javaname"/>Tracker</xsl:variable>
<xsl:variable name="propertyType"><xsl:value-of select="@type"/></xsl:variable>
+ <xsl:variable name="propertyTypeName">javax.xml.namespace.QName</xsl:variable>
+
<xsl:if test="$min=0 or $choice"> if (<xsl:value-of select="$settingTracker"/>){</xsl:if>
<xsl:choose>
@@ -591,25 +629,25 @@
<xsl:when test="@nillable">
if (<xsl:value-of select="$varName"/>==null){
- java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
- if (! namespace2.equals("")) {
- java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
- if (prefix2 == null) {
- prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
- xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
- xmlWriter.writeNamespace(prefix2, namespace2);
- xmlWriter.setPrefix(prefix2, namespace2);
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
- } else {
- xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
- }
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
- } else {
- xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
- }
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
// write the nil attribute
@@ -632,207 +670,426 @@
</xsl:choose>
</xsl:when>
<xsl:when test="@ours and @array and not(@default)">
- <xsl:choose>
+ if (<xsl:value-of select="$varName"/>!=null){
+ for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
+ if (<xsl:value-of select="$varName"/>[i] != null){
+ <xsl:value-of select="$varName"/>[i].getOMElement(
+ new javax.xml.namespace.QName("<xsl:value-of select="$namespace"/>","<xsl:value-of select="$propertyName"/>"),
+ factory).serialize(xmlWriter);
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ // write null attribute
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
+
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
+
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+
+ // write the nil attribute
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
+ </xsl:when>
+ <xsl:when test="$min=0">
+ // we don't have to do any thing since minOccures is zero
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+
+ }
+ } else {
+ <xsl:choose>
<xsl:when test="@nillable">
- // this property is nillable
- if (<xsl:value-of select="$varName"/>!=null){
- <!--this bracket needs to be closed!-->
+ // write null attribute
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
+
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
+
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+
+ // write the nil attribute
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
</xsl:when>
<xsl:otherwise>
- if (<xsl:value-of select="$varName"/>==null){
- throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
- }
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
</xsl:otherwise>
</xsl:choose>
-
- for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
- <xsl:value-of select="$varName"/>[i].getOMElement(
- new javax.xml.namespace.QName("<xsl:value-of select="$namespace"/>","<xsl:value-of select="$propertyName"/>"),
- factory).serialize(xmlWriter);
-
}
- <!--we've opened a bracket for the nulls - fix it here-->
- <xsl:if test="@nillable">}</xsl:if>
</xsl:when>
- <xsl:when test="@default and @array">
+ <xsl:when test="@default and @array">
<!-- Note - Assumed to be OMElement-->
- <xsl:choose>
- <xsl:when test="@nillable">
- // this property is nillable
- if (<xsl:value-of select="$varName"/>!=null){
- <!--this bracket needs to be closed!-->
- </xsl:when>
- <xsl:otherwise>
- if (<xsl:value-of select="$varName"/>==null){
- throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ if (<xsl:value-of select="$varName"/>!=null){
+ for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
+ if (<xsl:value-of select="$varName"/>[i] != null){
+ <xsl:value-of select="$varName"/>[i].serialize(xmlWriter);
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ // write null attribute
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
+
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
+
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+
+ // write the nil attribute
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
+ </xsl:when>
+ <xsl:when test="$min=0">
+ // we have to do nothing since minOccurs is zero
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
+ </xsl:choose>
}
- </xsl:otherwise>
- </xsl:choose>
+ }
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ // write null attribute
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
- for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
- <xsl:value-of select="$varName"/>[i].serialize(xmlWriter);
- }
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
- <!--we've opened a bracket for the nulls - fix it here-->
- <xsl:if test="@nillable">}</xsl:if>
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+
+ // write the nil attribute
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
+ </xsl:choose>
+ }
</xsl:when>
<xsl:when test="@default and not(@array)">
<!-- Note - Assumed to be OMElement-->
- <xsl:choose>
- <xsl:when test="@nillable">
- // this property is nillable
- if (<xsl:value-of select="$varName"/>!=null){
- <!--this bracket needs to be closed!-->
- </xsl:when>
- <xsl:otherwise>
- if (<xsl:value-of select="$varName"/>==null){
+ if (<xsl:value-of select="$varName"/>!=null){
+ <xsl:value-of select="$varName"/>.serialize(xmlWriter);
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ // write null attribute
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
+
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
+
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+
+ // write the nil attribute
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
+ </xsl:when>
+ <xsl:otherwise>
throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
- }
- </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="$varName"/>.serialize(xmlWriter);
- <xsl:if test="@nillable">}</xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+
+
</xsl:when>
<!-- handle non ADB arrays - Not any however -->
<xsl:when test="@array and not(@any)">
- <xsl:choose>
- <xsl:when test="@nillable">
- // this property is nillable
- if (<xsl:value-of select="$varName"/>!=null){
- <!--this bracket needs to be closed!-->
- </xsl:when>
- <xsl:otherwise>
- if (<xsl:value-of select="$varName"/>==null){
- throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
- }
- </xsl:otherwise>
- </xsl:choose>
+ if (<xsl:value-of select="$varName"/>!=null) {
+ for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
+ <xsl:if test="@primitive">
+ namespace = "<xsl:value-of select="$namespace"/>";
+ if (! namespace.equals("")) {
+ prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix,"<xsl:value-of select="$propertyName"/>", namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
- for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
- namespace = "<xsl:value-of select="$namespace"/>";
+ } else {
+ xmlWriter.writeStartElement(namespace,"<xsl:value-of select="$propertyName"/>");
+ }
- if (! namespace.equals("")) {
- prefix = xmlWriter.getPrefix(namespace);
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>[i]));
+ xmlWriter.writeEndElement();
- if (prefix == null) {
- prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ </xsl:if>
+ <xsl:if test="not(@primitive)">
+ if (<xsl:value-of select="$varName"/>[i] != null){
+ namespace = "<xsl:value-of select="$namespace"/>";
+ if (! namespace.equals("")) {
+ prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix,"<xsl:value-of select="$propertyName"/>", namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+
+ } else {
+ xmlWriter.writeStartElement(namespace,"<xsl:value-of select="$propertyName"/>");
+ }
+
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>[i]));
+ xmlWriter.writeEndElement();
- xmlWriter.writeStartElement(prefix,"<xsl:value-of select="$propertyName"/>", namespace);
- xmlWriter.writeNamespace(prefix, namespace);
- xmlWriter.setPrefix(prefix, namespace);
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ // write null attribute
+ namespace = "<xsl:value-of select="$namespace"/>";
+ if (! namespace.equals("")) {
+ prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix,"<xsl:value-of select="$propertyName"/>", namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+
+ } else {
+ xmlWriter.writeStartElement(namespace,"<xsl:value-of select="$propertyName"/>");
+ }
+
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
+ </xsl:when>
+ <xsl:when test="$min=0">
+ // we have to do nothing since minOccurs is zero
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
- } else {
- xmlWriter.writeStartElement(namespace,"<xsl:value-of select="$propertyName"/>");
- }
+ </xsl:choose>
+ }
+ </xsl:if>
+ }
+ } else {
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ // write the null attribute
+ // write null attribute
+ java.lang.String namespace2 = "<xsl:value-of select="$namespace"/>";
+ if (! namespace2.equals("")) {
+ java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);
+
+ if (prefix2 == null) {
+ prefix2 = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix2,"<xsl:value-of select="$propertyName"/>", namespace2);
+ xmlWriter.writeNamespace(prefix2, namespace2);
+ xmlWriter.setPrefix(prefix2, namespace2);
- } else {
- xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
- }
+ } else {
+ xmlWriter.writeStartElement(namespace2,"<xsl:value-of select="$propertyName"/>");
+ }
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+ // write the nil attribute
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ xmlWriter.writeEndElement();
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
+ </xsl:choose>
+ }
- <xsl:if test="not(@primitive)">
- if (<xsl:value-of select="$varName"/>[i]==null){
- // write the nil attribute
- writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
- }else{
- xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>[i]));
- }
- </xsl:if>
- <xsl:if test="@primitive">
- xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>[i]));
- </xsl:if>
- xmlWriter.writeEndElement();
- }
- <!--we've opened a bracket for the nulls - fix it here-->
- <xsl:if test="@nillable">}</xsl:if>
</xsl:when>
<!-- handle non ADB arrays - Any case - any may not be
nillable -->
<xsl:when test="@array and @any">
<!-- Note - Assumed to be OMElement-->
- for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
- <xsl:value-of select="$varName"/>[i].serialize(xmlWriter);
+ if (<xsl:value-of select="$varName"/> != null){
+ for (int i = 0;i < <xsl:value-of select="$varName"/>.length;i++){
+ if (<xsl:value-of select="$varName"/>[i] != null){
+ <xsl:value-of select="$varName"/>[i].serialize(xmlWriter);
+ } else {
+ <xsl:choose>
+ <xsl:when test="$min=0">
+ // we have to do nothing since minOccures zero
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ }
+ } else {
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
}
</xsl:when>
<!-- handle any - non array case-->
<xsl:when test="@any">
<!-- Note - Assumed to be OMElement-->
- <xsl:value-of select="$varName"/>.serialize(xmlWriter);
+ if (<xsl:value-of select="$varName"/> != null) {
+ <xsl:value-of select="$varName"/>.serialize(xmlWriter);
+ } else {
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ }
</xsl:when>
<!-- handle all other cases -->
<xsl:otherwise>
- <xsl:if test="not($simple)">
- namespace = "<xsl:value-of select="$namespace"/>";
-
- if (! namespace.equals("")) {
- prefix = xmlWriter.getPrefix(namespace);
-
- if (prefix == null) {
- prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
-
- xmlWriter.writeStartElement(prefix,"<xsl:value-of select="$propertyName"/>", namespace);
- xmlWriter.writeNamespace(prefix, namespace);
- xmlWriter.setPrefix(prefix, namespace);
+ <xsl:if test="not($simple)">
+ namespace = "<xsl:value-of select="$namespace"/>";
+ if (! namespace.equals("")) {
+ prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+
+ xmlWriter.writeStartElement(prefix,"<xsl:value-of select="$propertyName"/>", namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
- } else {
- xmlWriter.writeStartElement(namespace,"<xsl:value-of select="$propertyName"/>");
- }
+ } else {
+ xmlWriter.writeStartElement(namespace,"<xsl:value-of select="$propertyName"/>");
+ }
- } else {
- xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
- }
- </xsl:if>
+ } else {
+ xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
+ }
+ </xsl:if>
<xsl:choose>
<!-- handle the binary case -->
<xsl:when test="@binary">
- <!-- Handling the null byte array -->
- if (<xsl:value-of select="$varName"/>!=null)
- {
- org.apache.axiom.om.impl.llom.OMTextImpl <xsl:value-of select="$varName"/>_binary = new org.apache.axiom.om.impl.llom.OMTextImpl( <xsl:value-of select="$varName"/>, org.apache.axiom.om.OMAbstractFactory.getOMFactory());
- <xsl:value-of select="$varName"/>_binary.internalSerializeAndConsume(xmlWriter);
- }
+
+ <!-- Handling the null byte array -->
+ if (<xsl:value-of select="$varName"/>!=null)
+ {
+ org.apache.axiom.om.impl.llom.OMTextImpl <xsl:value-of select="$varName"/>_binary = new org.apache.axiom.om.impl.llom.OMTextImpl( <xsl:value-of select="$varName"/>, org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+ <xsl:value-of select="$varName"/>_binary.internalSerializeAndConsume(xmlWriter);
+ }
+
</xsl:when>
<xsl:otherwise>
- <xsl:if test="not(@primitive)">
+ <xsl:if test="not(@primitive)">
+
if (<xsl:value-of select="$varName"/>==null){
- // write the nil attribute
- writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
- }else{
- <xsl:choose>
- <xsl:when test="$propertyType='javax.xml.namespace.QName'">
- java.lang.String namespaceURI =<xsl:value-of select="$varName"/>.getNamespaceURI();
- if(namespaceURI !=null){
- prefix = <xsl:value-of select="$varName"/>.getPrefix();
- if (prefix == null) {
- prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
- }
- xmlWriter.writeNamespace(prefix,namespaceURI );
- xmlWriter.writeCharacters(prefix + ":"+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
- } else {
- xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
- }
- </xsl:when>
- <xsl:when test="$propertyType='org.apache.axiom.om.OMElement'">
- <xsl:value-of select="$varName"/>.serialize(xmlWriter);
- </xsl:when>
- <xsl:otherwise>
- xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
- </xsl:otherwise>
- </xsl:choose>
- }
+ // write the nil attribute
+ <xsl:choose>
+ <xsl:when test="@nillable">
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+ </xsl:when>
+ <xsl:otherwise>
+ throw new RuntimeException("<xsl:value-of select="$propertyName"/> cannot be null!!");
+ </xsl:otherwise>
+ </xsl:choose>
+ }else{
+ <xsl:if test="$propertyTypeName=$propertyType">
+ java.lang.String namespaceURI =<xsl:value-of select="$varName"/>.getNamespaceURI();
+ if(namespaceURI !=null){
+ prefix = <xsl:value-of select="$varName"/>.getPrefix();
+ if (prefix == null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+ xmlWriter.writeNamespace(prefix,namespaceURI );
+ xmlWriter.writeCharacters(prefix + ":"+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+ }
+ </xsl:if>
+ <xsl:if test="not($propertyTypeName=$propertyType)">
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+ </xsl:if>
+ }
</xsl:if>
<xsl:if test="@primitive">
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
- </xsl:if>
+ </xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="not($simple)">
- xmlWriter.writeEndElement();
+ xmlWriter.writeEndElement();
</xsl:if>
</xsl:otherwise>
</xsl:choose>
@@ -844,15 +1101,16 @@
<!-- end of when for type & anon -->
</xsl:when>
-
<!-- Not a type and not anon. So it better be only one inclusion-->
<xsl:otherwise>
<!-- if the element is associated with a type, then its gonna be only one -->
//We can safely assume an element has only one type associated with it
<xsl:variable name="varName">local<xsl:value-of select="property/@javaname"/></xsl:variable>
- <xsl:variable name="nillable" select="property/@nillable"/>
- <xsl:variable name="primitive" select="property/@primitive"/>
+ <xsl:variable name="nillable"><xsl:value-of select="property/@nillable"/></xsl:variable>
+ <xsl:variable name="primitive"><xsl:value-of select="property/@primitive"/></xsl:variable>
<xsl:variable name="propertyType"><xsl:value-of select="property/@type"/></xsl:variable>
+ <xsl:variable name="propertyTypeName">javax.xml.namespace.QName</xsl:variable>
+
<xsl:choose>
<!-- This better be only one!!-->
@@ -860,25 +1118,25 @@
<xsl:choose>
<xsl:when test="$nillable">
if (<xsl:value-of select="$varName"/>==null){
- java.lang.String namespace = "<xsl:value-of select="property/@nsuri"/>";
+ java.lang.String namespace = "<xsl:value-of select="property/@nsuri"/>";
- if (! namespace.equals("")) {
- java.lang.String prefix = xmlWriter.getPrefix(namespace);
+ if (! namespace.equals("")) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
- if (prefix == null) {
- prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ if (prefix == null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
- xmlWriter.writeStartElement(prefix,"<xsl:value-of select="property/@name"/>", namespace);
- xmlWriter.writeNamespace(prefix, namespace);
- xmlWriter.setPrefix(prefix, namespace);
+ xmlWriter.writeStartElement(prefix,"<xsl:value-of select="property/@name"/>", namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
- } else {
[... 606 lines stripped ...]
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org