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) > 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"/>") < 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;