You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sa...@apache.org on 2012/03/12 14:23:25 UTC

svn commit: r1299668 - in /axis/axis2/java/core/branches/1_6: ./ modules/adb-codegen/src/org/apache/axis2/schema/ modules/adb-codegen/src/org/apache/axis2/schema/template/ modules/adb-codegen/src/org/apache/axis2/schema/writer/ modules/adb-codegen/test...

Author: sagara
Date: Mon Mar 12 13:23:24 2012
New Revision: 1299668

URL: http://svn.apache.org/viewvc?rev=1299668&view=rev
Log:
Merged r1299667 to the 1.6 branch.

Modified:
    axis/axis2/java/core/branches/1_6/   (props changed)
    axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
    axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
    axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
    axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java
    axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
    axis/axis2/java/core/branches/1_6/modules/adb-codegen/test-resources/testsuite/restrictions.xsd
    axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

Propchange: axis/axis2/java/core/branches/1_6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 12 13:23:24 2012
@@ -1 +1 @@
-/axis/axis2/java/core/trunk:1068985,1069659,1069898,1070439,1072077,1072271,1072296,1072499,1072510,1075057,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085157,1085173,1085514,1085889,1085927,1085931,1087073,1088239,1088248-1088249,1088251,1088268,1088730,1088904,1089225,1089989,1090429,1090457,1091178,1091191,1094117,1096134,1096136,1096530,1096557,1099385,1099389,1100628,1101037,1103013,1103336,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1136177,1137153,1137159,1138144,1138203,1139448,1139484,1147485,1149224,1149491,1149578,1150055,1153072,1154615,1156305,1156382,1157211,1157265,1157373,1157415,1157424,1157501,1157517,1157522,1157535,1157767,1162649,1163389,1166038,1166040,1166132,1167045,1173869,1174618,1184808,1184810,1184816,1185504,1190469,1190499,1195893,1195972,1195982,1198288,1201467,1201863,1201957,1202867,1203424,1
 205716,1205939,1208901,1209034,1213180,1213639,1214118,1220630,1220888,1221716,1222510,1225161,1231465,1231470,1241031,1242238,1242249,1242511,1243831,1291158,1294991,1295084,1295479,1296159,1297132,1297344,1297348,1297744,1297765,1298550,1298688,1299356,1299392,1299645
+/axis/axis2/java/core/trunk:1068985,1069659,1069898,1070439,1072077,1072271,1072296,1072499,1072510,1075057,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085157,1085173,1085514,1085889,1085927,1085931,1087073,1088239,1088248-1088249,1088251,1088268,1088730,1088904,1089225,1089989,1090429,1090457,1091178,1091191,1094117,1096134,1096136,1096530,1096557,1099385,1099389,1100628,1101037,1103013,1103336,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1136177,1137153,1137159,1138144,1138203,1139448,1139484,1147485,1149224,1149491,1149578,1150055,1153072,1154615,1156305,1156382,1157211,1157265,1157373,1157415,1157424,1157501,1157517,1157522,1157535,1157767,1162649,1163389,1166038,1166040,1166132,1167045,1173869,1174618,1184808,1184810,1184816,1185504,1190469,1190499,1195893,1195972,1195982,1198288,1201467,1201863,1201957,1202867,1203424,1
 205716,1205939,1208901,1209034,1213180,1213639,1214118,1220630,1220888,1221716,1222510,1225161,1231465,1231470,1241031,1242238,1242249,1242511,1243831,1291158,1294991,1295084,1295479,1296159,1297132,1297344,1297348,1297744,1297765,1298550,1298688,1299356,1299392,1299645,1299667

Modified: axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java Mon Mar 12 13:23:24 2012
@@ -63,6 +63,7 @@ public class BeanWriterMetaInfoHolder {
     protected long minLengthFacet = -1;
     protected ArrayList<String> enumFacet = new ArrayList<String>();
     protected String patternFacet = null;
+    protected String totalDigitsFacet = null;
     protected String maxExclusiveFacet = null;
     protected String minExclusiveFacet = null;
     protected String maxInclusiveFacet = null;
@@ -673,6 +674,22 @@ public class BeanWriterMetaInfoHolder {
     }
 
     /**
+     * Sets the totalDigits
+     *
+     * @param totalDigitsFacet
+     */
+    public void setTotalDigitsFacet(String totalDigitsFacet) {
+        this.totalDigitsFacet = totalDigitsFacet;
+    }
+
+    /**
+     *
+     * @return Returns the totalDigits
+     */
+    public String getTotalDigitsFacet() {
+        return this.totalDigitsFacet;
+    }
+    /**
      * Sets the maxExclusive.
      *
      * @param maxExclusiveFacet

Modified: axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Mon Mar 12 13:23:24 2012
@@ -73,6 +73,7 @@ import org.apache.ws.commons.schema.XmlS
 import org.apache.ws.commons.schema.XmlSchemaSimpleTypeList;
 import org.apache.ws.commons.schema.XmlSchemaSimpleTypeRestriction;
 import org.apache.ws.commons.schema.XmlSchemaSimpleTypeUnion;
+import org.apache.ws.commons.schema.XmlSchemaTotalDigitsFacet;
 import org.apache.ws.commons.schema.XmlSchemaType;
 import org.xml.sax.InputSource;
 
@@ -1701,6 +1702,11 @@ public class SchemaCompiler {
                 metaInfHolder.setLengthFacet(Integer.parseInt(length.getValue().toString()));
             }
 
+            else if (obj instanceof XmlSchemaTotalDigitsFacet) {
+                XmlSchemaTotalDigitsFacet totalDigits = (XmlSchemaTotalDigitsFacet) obj;
+                metaInfHolder.setTotalDigitsFacet(totalDigits.getValue().toString());
+            }
+
             else if (obj instanceof XmlSchemaMaxExclusiveFacet) {
                 XmlSchemaMaxExclusiveFacet maxEx = (XmlSchemaMaxExclusiveFacet) obj;
                 metaInfHolder.setMaxExclusiveFacet(maxEx.getValue().toString());

Modified: axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl Mon Mar 12 13:23:24 2012
@@ -109,6 +109,7 @@
             <xsl:variable name="lenFacet"><xsl:value-of select="@lenFacet"/></xsl:variable>
                <xsl:variable name="maxLenFacet"><xsl:value-of select="@maxLenFacet"/></xsl:variable>
                <xsl:variable name="minLenFacet"><xsl:value-of select="@minLenFacet"/></xsl:variable>
+               <xsl:variable name="totalDigitsFacet"><xsl:value-of select="@totalDigitsFacet"/></xsl:variable>
                <xsl:variable name="maxExFacet"><xsl:value-of select="@maxExFacet"/></xsl:variable>
                <xsl:variable name="minExFacet"><xsl:value-of select="@minExFacet"/></xsl:variable>
                <xsl:variable name="maxInFacet"><xsl:value-of select="@maxInFacet"/></xsl:variable>
@@ -475,6 +476,15 @@
                                                 throw new java.lang.RuntimeException();
                                             }
                                         </xsl:when>
+                                        <xsl:when test="(@totalDigitsFacet)">
+                                            java.lang.String totalDigitsDecimal = org.apache.axis2.databinding.utils.ConverterUtil.convertToStandardDecimalNotation("<xsl:value-of select="$totalDigitsFacet"/>").toString();
+                                            if (org.apache.axis2.databinding.utils.ConverterUtil.compare(param, totalDigitsDecimal) &gt; 0){
+                                                    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">
                                             <xsl:if test="@maxExFacet">
                                                  if (org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "<xsl:value-of select="$maxExFacet"/>") &lt; 0){

Modified: axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java Mon Mar 12 13:23:24 2012
@@ -856,6 +856,10 @@ public class CStructWriter implements Be
                 XSLTUtils.addAttribute(model, "minLenFacet", metainf.getMinLengthFacet() + "", property);
             }
 
+            if (metainf.isRestrictionBaseType(name) && metainf.getTotalDigitsFacet() != null) {
+            XSLTUtils.addAttribute(model, "totalDigitsFacet", metainf.getTotalDigitsFacet() + "", property);
+            }
+
             if (metainf.isRestrictionBaseType(name) && metainf.getMaxExclusiveFacet() != null) {
                 XSLTUtils.addAttribute(model, "maxExFacet", metainf.getMaxExclusiveFacet() + "", property);
             }

Modified: axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Mon Mar 12 13:23:24 2012
@@ -984,6 +984,10 @@ public class JavaBeanWriter implements B
             XSLTUtils.addAttribute(model, "minLenFacet", metainf.getMinLengthFacet() + "", property);
         }
 
+        if (metainf.isRestrictionBaseType(name) && metainf.getTotalDigitsFacet() != null) {
+            XSLTUtils.addAttribute(model, "totalDigitsFacet", metainf.getTotalDigitsFacet() + "", property);
+        }
+
         if (metainf.isRestrictionBaseType(name) && metainf.getMaxExclusiveFacet() != null) {
             XSLTUtils.addAttribute(model, "maxExFacet", metainf.getMaxExclusiveFacet() + "", property);
         }

Modified: axis/axis2/java/core/branches/1_6/modules/adb-codegen/test-resources/testsuite/restrictions.xsd
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb-codegen/test-resources/testsuite/restrictions.xsd?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb-codegen/test-resources/testsuite/restrictions.xsd (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb-codegen/test-resources/testsuite/restrictions.xsd Mon Mar 12 13:23:24 2012
@@ -120,6 +120,12 @@
            </xs:restriction>
     </xs:simpleType>
 
+    <xs:simpleType name="RFCProbabilityCodeType4">
+           <xs:restriction base="xs:integer">
+                   <xs:totalDigits value="5"/>
+           </xs:restriction>
+    </xs:simpleType>
+
     <xsd:complexType name="Person">
         <xsd:sequence>
             <xsd:element name="name" type="xsd:string"></xsd:element>

Modified: axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java?rev=1299668&r1=1299667&r2=1299668&view=diff
==============================================================================
--- axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java (original)
+++ axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java Mon Mar 12 13:23:24 2012
@@ -410,6 +410,16 @@ public class ConverterUtil {
         return new BigDecimal(s);
     }
 
+    public static BigDecimal convertToStandardDecimalNotation(String s) {
+        if ((s == null) || s.equals("")){
+            return null;
+        }
+        if (s.startsWith("+")) {
+            s = s.substring(1);
+        }
+        return BigDecimal.valueOf(Math.pow(10, Integer.parseInt(s)));
+    }
+
     public static float convertToFloat(String s) {
         if ((s == null) || s.equals("")){
             return Float.NaN;