Author: veithen
Date: Sat Mar 20 19:33:19 2010
New Revision: 925662

URL: http://svn.apache.org/viewvc?rev=925662&view=rev
Log:
AXIS2-4640: Optimized code generation for tracker attribute updates in ADB.

Modified:
    
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
    
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl

Modified: 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl?rev=925662&r1=925661&r2=925662&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
 Sat Mar 20 19:33:19 2010
@@ -182,30 +182,19 @@
                               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
+                               <!--
+                                   * 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
+                                   * setting primitive variable always to true
+                               -->
+                               <xsl:when test="(@primitive and not(@array)) or 
@nillable">
                                    <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:value-of select="$settingTracker"/> = 
param != null;
                                </xsl:otherwise>
                             </xsl:choose>
                          </xsl:if>
@@ -358,30 +347,19 @@
                                    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
+                                       <!--
+                                           * 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
+                                           * setting the primitive attribute 
to true
+                                       -->
+                                      <xsl:when test="(@primitive and 
not(@array)) or @nillable">
                                           <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:value-of 
select="$settingTracker"/> = param != null;
                                       </xsl:otherwise>
                                    </xsl:choose>
 
@@ -440,60 +418,25 @@
                             </xsl:if>
                             <xsl:if test="$min=0 or $choice">
                                 <xsl:choose>
+                                   <xsl:when test="@nillable">
+                                       <xsl:value-of 
select="$settingTracker"/> = true;
+                                   </xsl:when>
                                    <xsl:when test="@primitive and not(@array)">
                                        // setting primitive attribute tracker 
to true
+                                       <xsl:value-of 
select="$settingTracker"/> =
                                        <xsl:choose>
-                                           <xsl:when test="$usewrapperclasses">
-                                              if (false) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='int'">
-                                               if 
(param==java.lang.Integer.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='long'">
-                                               if 
(param==java.lang.Long.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='byte'">
-                                               if 
(param==java.lang.Byte.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='double'">
-                                               if 
(java.lang.Double.isNaN(param)) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='float'">
-                                               if 
(java.lang.Float.isNaN(param)) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='short'">
-                                               if 
(param==java.lang.Short.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:otherwise>
-                                               if (false) {
-                                           </xsl:otherwise>
-                                       </xsl:choose>
-                                            <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>
-                                       } else {
-                                          <xsl:value-of 
select="$settingTracker"/> = true;
-                                       }
+                                           <xsl:when 
test="$usewrapperclasses">true</xsl:when>
+                                           <xsl:when 
test="$propertyType='int'">param != java.lang.Integer.MIN_VALUE</xsl:when>
+                                           <xsl:when 
test="$propertyType='long'">param != java.lang.Long.MIN_VALUE</xsl:when>
+                                           <xsl:when 
test="$propertyType='byte'">param != java.lang.Byte.MIN_VALUE</xsl:when>
+                                           <xsl:when 
test="$propertyType='double'">!java.lang.Double.isNaN(param)</xsl:when>
+                                           <xsl:when 
test="$propertyType='float'">!java.lang.Float.isNaN(param)</xsl:when>
+                                           <xsl:when 
test="$propertyType='short'">param != java.lang.Short.MIN_VALUE</xsl:when>
+                                           <xsl:otherwise>true</xsl:otherwise>
+                                       </xsl:choose>;
                                    </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:value-of 
select="$settingTracker"/> = param != null;
                                    </xsl:otherwise>
                                 </xsl:choose>
                             </xsl:if>

Modified: 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl?rev=925662&r1=925661&r2=925662&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl
 Sat Mar 20 19:33:19 2010
@@ -179,30 +179,19 @@
                               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
+                               <!--
+                                   * 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
+                                   * setting primitive variable always to true
+                               -->
+                               <xsl:when test="(@primitive and not(@array)) or 
@nillable">
                                    <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:value-of select="$settingTracker"/> = 
param != null;
                                </xsl:otherwise>
                             </xsl:choose>
                          </xsl:if>
@@ -352,30 +341,19 @@
                                    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
+                                       <!--
+                                           * 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
+                                           * setting the primitive attribute 
to true
+                                       -->
+                                      <xsl:when test="(@primitive and 
not(@array)) or @nillable">
                                           <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:value-of 
select="$settingTracker"/> = param != null;
                                       </xsl:otherwise>
                                    </xsl:choose>
 
@@ -434,60 +412,25 @@
                             </xsl:if>
                             <xsl:if test="$min=0 or $choice">
                                 <xsl:choose>
+                                   <xsl:when test="@nillable">
+                                       <xsl:value-of 
select="$settingTracker"/> = true;
+                                   </xsl:when>
                                    <xsl:when test="@primitive and not(@array)">
                                        // setting primitive attribute tracker 
to true
+                                       <xsl:value-of 
select="$settingTracker"/> =
                                        <xsl:choose>
-                                           <xsl:when test="$usewrapperclasses">
-                                              if (false) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='int'">
-                                               if 
(param==java.lang.Integer.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='long'">
-                                               if 
(param==java.lang.Long.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='byte'">
-                                               if 
(param==java.lang.Byte.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='double'">
-                                               if 
(java.lang.Double.isNaN(param)) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='float'">
-                                               if 
(java.lang.Float.isNaN(param)) {
-                                           </xsl:when>
-                                           <xsl:when 
test="$propertyType='short'">
-                                               if 
(param==java.lang.Short.MIN_VALUE) {
-                                           </xsl:when>
-                                           <xsl:otherwise>
-                                               if (false) {
-                                           </xsl:otherwise>
-                                       </xsl:choose>
-                                            <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>
-                                       } else {
-                                          <xsl:value-of 
select="$settingTracker"/> = true;
-                                       }
+                                           <xsl:when 
test="$usewrapperclasses">true</xsl:when>
+                                           <xsl:when 
test="$propertyType='int'">param != java.lang.Integer.MIN_VALUE</xsl:when>
+                                           <xsl:when 
test="$propertyType='long'">param != java.lang.Long.MIN_VALUE</xsl:when>
+                                           <xsl:when 
test="$propertyType='byte'">param != java.lang.Byte.MIN_VALUE</xsl:when>
+                                           <xsl:when 
test="$propertyType='double'">!java.lang.Double.isNaN(param)</xsl:when>
+                                           <xsl:when 
test="$propertyType='float'">!java.lang.Float.isNaN(param)</xsl:when>
+                                           <xsl:when 
test="$propertyType='short'">param != java.lang.Short.MIN_VALUE</xsl:when>
+                                           <xsl:otherwise>true</xsl:otherwise>
+                                       </xsl:choose>;
                                    </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:value-of 
select="$settingTracker"/> = param != null;
                                    </xsl:otherwise>
                                 </xsl:choose>
                             </xsl:if>


Reply via email to