neilg 2003/01/21 08:47:11 Modified: java/src/org/apache/xerces/impl/dv/xs DecimalDV.java ListDV.java XSSimpleTypeDecl.java Log: fix some warnings issued when compiling under JDK 1.2.2 Revision Changes Path 1.7 +211 -211 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DecimalDV.java Index: DecimalDV.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DecimalDV.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DecimalDV.java 18 Nov 2002 23:10:10 -0000 1.6 +++ DecimalDV.java 21 Jan 2003 16:47:11 -0000 1.7 @@ -96,230 +96,230 @@ return ((XDecimal)value).fracDigits; } -} // class DecimalDV - -// Avoid using the heavy-weight java.math.BigDecimal -class XDecimal { - // sign: 0 for vlaue 0; 1 for positive values; -1 for negative values - int sign = 1; - // total digits. >= 1 - int totalDigits = 0; - // integer digits when sign != 0 - int intDigits = 0; - // fraction digits when sign != 0 - int fracDigits = 0; - // the string representing the integer part - String ivalue = ""; - // the string representing the fraction part - String fvalue = ""; - // whether the canonical form contains decimal point - boolean integer = false; - - XDecimal(String content) throws NumberFormatException { - initD(content); - } - XDecimal(String content, boolean integer) throws NumberFormatException { - if (integer) - initI(content); - else - initD(content); - } - void initD(String content) throws NumberFormatException { - int len = content.length(); - if (len == 0) - throw new NumberFormatException(); - - // these 4 variables are used to indicate where the integre/fraction - // parts start/end. - int intStart = 0, intEnd = 0, fracStart = 0, fracEnd = 0; + // Avoid using the heavy-weight java.math.BigDecimal + static class XDecimal { + // sign: 0 for vlaue 0; 1 for positive values; -1 for negative values + int sign = 1; + // total digits. >= 1 + int totalDigits = 0; + // integer digits when sign != 0 + int intDigits = 0; + // fraction digits when sign != 0 + int fracDigits = 0; + // the string representing the integer part + String ivalue = ""; + // the string representing the fraction part + String fvalue = ""; + // whether the canonical form contains decimal point + boolean integer = false; - // Deal with leading sign symbol if present - if (content.charAt(0) == '+') { - // skip '+', so intStart should be 1 - intStart = 1; - } - else if (content.charAt(0) == '-') { - // keep '-', so intStart is stil 0 - intStart = 1; - sign = -1; + XDecimal(String content) throws NumberFormatException { + initD(content); } - - // skip leading zeroes in integer part - int actualIntStart = intStart; - while (actualIntStart < len && content.charAt(actualIntStart) == '0') { - actualIntStart++; + XDecimal(String content, boolean integer) throws NumberFormatException { + if (integer) + initI(content); + else + initD(content); } - - // Find the ending position of the integer part - for (intEnd = actualIntStart; - intEnd < len && TypeValidator.isDigit(content.charAt(intEnd)); - intEnd++); - - // Not reached the end yet - if (intEnd < len) { - // the remaining part is not ".DDD", error - if (content.charAt(intEnd) != '.') + void initD(String content) throws NumberFormatException { + int len = content.length(); + if (len == 0) throw new NumberFormatException(); - - // fraction part starts after '.', and ends at the end of the input - fracStart = intEnd + 1; - fracEnd = len; - } - - // no integer part, no fraction part, error. - if (intStart == intEnd && fracStart == fracEnd) - throw new NumberFormatException(); - - // ignore trailing zeroes in fraction part - while (fracEnd > fracStart && content.charAt(fracEnd-1) == '0') { - fracEnd--; - } - - // check whether there is non-digit characters in the fraction part - for (int fracPos = fracStart; fracPos < fracEnd; fracPos++) { - if (!TypeValidator.isDigit(content.charAt(fracPos))) + + // these 4 variables are used to indicate where the integre/fraction + // parts start/end. + int intStart = 0, intEnd = 0, fracStart = 0, fracEnd = 0; + + // Deal with leading sign symbol if present + if (content.charAt(0) == '+') { + // skip '+', so intStart should be 1 + intStart = 1; + } + else if (content.charAt(0) == '-') { + // keep '-', so intStart is stil 0 + intStart = 1; + sign = -1; + } + + // skip leading zeroes in integer part + int actualIntStart = intStart; + while (actualIntStart < len && content.charAt(actualIntStart) == '0') { + actualIntStart++; + } + + // Find the ending position of the integer part + for (intEnd = actualIntStart; + intEnd < len && TypeValidator.isDigit(content.charAt(intEnd)); + intEnd++); + + // Not reached the end yet + if (intEnd < len) { + // the remaining part is not ".DDD", error + if (content.charAt(intEnd) != '.') + throw new NumberFormatException(); + + // fraction part starts after '.', and ends at the end of the input + fracStart = intEnd + 1; + fracEnd = len; + } + + // no integer part, no fraction part, error. + if (intStart == intEnd && fracStart == fracEnd) throw new NumberFormatException(); + + // ignore trailing zeroes in fraction part + while (fracEnd > fracStart && content.charAt(fracEnd-1) == '0') { + fracEnd--; + } + + // check whether there is non-digit characters in the fraction part + for (int fracPos = fracStart; fracPos < fracEnd; fracPos++) { + if (!TypeValidator.isDigit(content.charAt(fracPos))) + throw new NumberFormatException(); + } + + intDigits = intEnd - actualIntStart; + fracDigits = fracEnd - fracStart; + totalDigits = (intDigits == 0 ? 1 : intDigits) + fracDigits; + + if (intDigits > 0) { + ivalue = content.substring(actualIntStart, intEnd); + if (fracDigits > 0) + fvalue = content.substring(fracStart, fracEnd); + } + else { + if (fracDigits > 0) { + fvalue = content.substring(fracStart, fracEnd); + } + else { + // ".00", treat it as "0" + sign = 0; + } + } } - - intDigits = intEnd - actualIntStart; - fracDigits = fracEnd - fracStart; - totalDigits = (intDigits == 0 ? 1 : intDigits) + fracDigits; - - if (intDigits > 0) { - ivalue = content.substring(actualIntStart, intEnd); - if (fracDigits > 0) - fvalue = content.substring(fracStart, fracEnd); - } - else { - if (fracDigits > 0) { - fvalue = content.substring(fracStart, fracEnd); + void initI(String content) throws NumberFormatException { + int len = content.length(); + if (len == 0) + throw new NumberFormatException(); + + // these 2 variables are used to indicate where the integre start/end. + int intStart = 0, intEnd = 0; + + // Deal with leading sign symbol if present + if (content.charAt(0) == '+') { + // skip '+', so intStart should be 1 + intStart = 1; + } + else if (content.charAt(0) == '-') { + // keep '-', so intStart is stil 0 + intStart = 1; + sign = -1; + } + + // skip leading zeroes in integer part + int actualIntStart = intStart; + while (actualIntStart < len && content.charAt(actualIntStart) == '0') { + actualIntStart++; + } + + // Find the ending position of the integer part + for (intEnd = actualIntStart; + intEnd < len && TypeValidator.isDigit(content.charAt(intEnd)); + intEnd++); + + // Not reached the end yet, error + if (intEnd < len) + throw new NumberFormatException(); + + // no integer part, error. + if (intStart == intEnd) + throw new NumberFormatException(); + + intDigits = intEnd - actualIntStart; + fracDigits = 0; + totalDigits = intDigits == 0 ? 1 : intDigits; + + if (intDigits > 0) { + ivalue = content.substring(actualIntStart, intEnd); } else { - // ".00", treat it as "0" + // "00", treat it as "0" sign = 0; } + + integer = true; } - } - void initI(String content) throws NumberFormatException { - int len = content.length(); - if (len == 0) - throw new NumberFormatException(); - - // these 2 variables are used to indicate where the integre start/end. - int intStart = 0, intEnd = 0; - - // Deal with leading sign symbol if present - if (content.charAt(0) == '+') { - // skip '+', so intStart should be 1 - intStart = 1; - } - else if (content.charAt(0) == '-') { - // keep '-', so intStart is stil 0 - intStart = 1; - sign = -1; - } - - // skip leading zeroes in integer part - int actualIntStart = intStart; - while (actualIntStart < len && content.charAt(actualIntStart) == '0') { - actualIntStart++; - } - - // Find the ending position of the integer part - for (intEnd = actualIntStart; - intEnd < len && TypeValidator.isDigit(content.charAt(intEnd)); - intEnd++); - - // Not reached the end yet, error - if (intEnd < len) - throw new NumberFormatException(); - - // no integer part, error. - if (intStart == intEnd) - throw new NumberFormatException(); - - intDigits = intEnd - actualIntStart; - fracDigits = 0; - totalDigits = intDigits == 0 ? 1 : intDigits; - - if (intDigits > 0) { - ivalue = content.substring(actualIntStart, intEnd); - } - else { - // "00", treat it as "0" - sign = 0; - } - - integer = true; - } - public boolean equals(Object val) { - if (val == this) - return true; - - if (!(val instanceof XDecimal)) - return false; - XDecimal oval = (XDecimal)val; - - if (sign != oval.sign) - return false; - if (sign == 0) - return true; - - return intDigits == oval.intDigits && fracDigits == oval.fracDigits && - ivalue.equals(oval.ivalue) && fvalue.equals(oval.fvalue); - } - public int compareTo(XDecimal val) { - if (sign != val.sign) - return sign > val.sign ? 1 : -1; - if (sign == 0) - return 0; - return sign * intComp(val); - } - private int intComp(XDecimal val) { - if (intDigits != val.intDigits) - return intDigits > val.intDigits ? 1 : -1; - int ret = ivalue.compareTo(val.ivalue); - if (ret != 0) - return ret > 0 ? 1 : -1;; - ret = fvalue.compareTo(val.fvalue); - return ret == 0 ? 0 : (ret > 0 ? 1 : -1); - } - private String canonical; - public synchronized String toString() { - if (canonical == null) { - makeCanonical(); - } - return canonical; - } + public boolean equals(Object val) { + if (val == this) + return true; - private void makeCanonical() { - if (sign == 0) { - if (integer) - canonical = "0"; - else - canonical = "0.0"; - return; + if (!(val instanceof XDecimal)) + return false; + XDecimal oval = (XDecimal)val; + + if (sign != oval.sign) + return false; + if (sign == 0) + return true; + + return intDigits == oval.intDigits && fracDigits == oval.fracDigits && + ivalue.equals(oval.ivalue) && fvalue.equals(oval.fvalue); + } + public int compareTo(XDecimal val) { + if (sign != val.sign) + return sign > val.sign ? 1 : -1; + if (sign == 0) + return 0; + return sign * intComp(val); + } + private int intComp(XDecimal val) { + if (intDigits != val.intDigits) + return intDigits > val.intDigits ? 1 : -1; + int ret = ivalue.compareTo(val.ivalue); + if (ret != 0) + return ret > 0 ? 1 : -1;; + ret = fvalue.compareTo(val.fvalue); + return ret == 0 ? 0 : (ret > 0 ? 1 : -1); + } + private String canonical; + public synchronized String toString() { + if (canonical == null) { + makeCanonical(); + } + return canonical; } - if (integer && sign > 0) { - canonical = ivalue; - return; - } - StringBuffer buffer = new StringBuffer(totalDigits+2); - if (sign == -1) - buffer.append('-'); - if (intDigits != 0) - buffer.append(ivalue); - else - buffer.append('0'); - if (!integer) { - buffer.append('.'); - if (fracDigits != 0) { - buffer.append(fvalue); + + private void makeCanonical() { + if (sign == 0) { + if (integer) + canonical = "0"; + else + canonical = "0.0"; + return; } - else { + if (integer && sign > 0) { + canonical = ivalue; + return; + } + StringBuffer buffer = new StringBuffer(totalDigits+2); + if (sign == -1) + buffer.append('-'); + if (intDigits != 0) + buffer.append(ivalue); + else buffer.append('0'); + if (!integer) { + buffer.append('.'); + if (fracDigits != 0) { + buffer.append(fvalue); + } + else { + buffer.append('0'); + } } + canonical = buffer.toString(); } - canonical = buffer.toString(); } -} +} // class DecimalDV + 1.5 +44 -43 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/ListDV.java Index: ListDV.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/ListDV.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ListDV.java 18 Nov 2002 23:10:10 -0000 1.4 +++ ListDV.java 21 Jan 2003 16:47:11 -0000 1.5 @@ -84,50 +84,51 @@ public int getDataLength(Object value) { return ((ListData)value).length(); } -} // class ListDV -final class ListData { - final Object[] data; - private String canonical; - public ListData(Object[] data) { - this.data = data; - } - public synchronized String toString() { - if (canonical == null) { - int len = data.length; - StringBuffer buf = new StringBuffer(); - if (len > 0) { - buf.append(data[0].toString()); - } - for (int i = 1; i < len; i++) { - buf.append(' '); - buf.append(data[i].toString()); + final static class ListData { + final Object[] data; + private String canonical; + public ListData(Object[] data) { + this.data = data; + } + public synchronized String toString() { + if (canonical == null) { + int len = data.length; + StringBuffer buf = new StringBuffer(); + if (len > 0) { + buf.append(data[0].toString()); + } + for (int i = 1; i < len; i++) { + buf.append(' '); + buf.append(data[i].toString()); + } + canonical = buf.toString(); } - canonical = buf.toString(); + return canonical; } - return canonical; - } - public int length() { - return data.length; - } - public Object item(int index) { - return data[index]; - } - public boolean equals(Object obj) { - if (!(obj instanceof ListData)) - return false; - Object[] odata = ((ListData)obj).data; - - int count = data.length; - if (count != odata.length) - return false; - - for (int i = 0 ; i < count ; i++) { - if (!data[i].equals(odata[i])) + public int length() { + return data.length; + } + public Object item(int index) { + return data[index]; + } + public boolean equals(Object obj) { + if (!(obj instanceof ListData)) return false; - }//end of loop - - //everything went fine. - return true; + Object[] odata = ((ListData)obj).data; + + int count = data.length; + if (count != odata.length) + return false; + + for (int i = 0 ; i < count ; i++) { + if (!data[i].equals(odata[i])) + return false; + }//end of loop + + //everything went fine. + return true; + } } -} +} // class ListDV + 1.29 +3 -3 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java Index: XSSimpleTypeDecl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- XSSimpleTypeDecl.java 16 Jan 2003 22:53:45 -0000 1.28 +++ XSSimpleTypeDecl.java 21 Jan 2003 16:47:11 -0000 1.29 @@ -1464,7 +1464,7 @@ } else if (fVariety == VARIETY_LIST) { - ListData values = (ListData)ob; + ListDV.ListData values = (ListDV.ListData)ob; int len = values.length(); if (fItemType.fVariety == VARIETY_UNION) { XSSimpleTypeDecl[] memberTypes = (XSSimpleTypeDecl[])validatedInfo.memberTypes; @@ -1566,7 +1566,7 @@ memberTypes[i] = (XSSimpleTypeDecl)validatedInfo.memberType; } - ListData v = new ListData(avalue); + ListDV.ListData v = new ListDV.ListData(avalue); validatedInfo.actualValue = v; validatedInfo.memberType = null; validatedInfo.memberTypes = memberTypes;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]