|
From: <lh...@us...> - 2011-01-10 08:11:51
|
Revision: 417
http://tinytim.svn.sourceforge.net/tinytim/?rev=417&view=rev
Author: lheuer
Date: 2011-01-10 08:11:45 +0000 (Mon, 10 Jan 2011)
Log Message:
-----------
Fixed normaization of xsd:decimals
Modified Paths:
--------------
tinytim/trunk/CHANGES.txt
tinytim/trunk/src/main/java/org/tinytim/core/value/LiteralNormalizer.java
tinytim/trunk/src/test/java/org/tinytim/core/value/TestLiteralNormalizer.java
Modified: tinytim/trunk/CHANGES.txt
===================================================================
--- tinytim/trunk/CHANGES.txt 2010-11-06 10:07:21 UTC (rev 416)
+++ tinytim/trunk/CHANGES.txt 2011-01-10 08:11:45 UTC (rev 417)
@@ -2,7 +2,7 @@
Changes Log
===========
-2.0.1 (2010-mm-dd)
+2.0.1 (2011-mm-dd)
------------------
* tinyTiM is forward-compatible to TMAPI 2.0.3
* OSGi bundle exports the .voc package
@@ -11,6 +11,8 @@
(caused heap memory problems and fixes a bug reported by Uta Schulze)
* Locator: Resolving a reference with white spaces caused problems. Fixed.
(reported by Uta Schulze)
+* The lexical representation of decimals like "-.3" was interpreted as "+0.3".
+ Fixed.
Modified: tinytim/trunk/src/main/java/org/tinytim/core/value/LiteralNormalizer.java
===================================================================
--- tinytim/trunk/src/main/java/org/tinytim/core/value/LiteralNormalizer.java 2010-11-06 10:07:21 UTC (rev 416)
+++ tinytim/trunk/src/main/java/org/tinytim/core/value/LiteralNormalizer.java 2011-01-10 08:11:45 UTC (rev 417)
@@ -144,6 +144,9 @@
}
if (len <= idx) {
normalized.append('0');
+ if (normalized.charAt(0) == '0') {
+ return "0.0";
+ }
}
else {
// idx points to the '.', increment it
@@ -157,7 +160,7 @@
idx++;
}
}
- return negative && normalized.charAt(0) != '0' ? '-' + normalized.toString() : normalized.toString();
+ return negative ? '-' + normalized.toString() : normalized.toString();
}
}
Modified: tinytim/trunk/src/test/java/org/tinytim/core/value/TestLiteralNormalizer.java
===================================================================
--- tinytim/trunk/src/test/java/org/tinytim/core/value/TestLiteralNormalizer.java 2010-11-06 10:07:21 UTC (rev 416)
+++ tinytim/trunk/src/test/java/org/tinytim/core/value/TestLiteralNormalizer.java 2011-01-10 08:11:45 UTC (rev 417)
@@ -62,6 +62,9 @@
assertEquals("0.0", LiteralNormalizer.normalizeDecimal("-0"));
assertEquals("0.0", LiteralNormalizer.normalizeDecimal("-0.0"));
assertEquals("0.0", LiteralNormalizer.normalizeDecimal("+0.0"));
+ assertEquals("-0.3", LiteralNormalizer.normalizeDecimal("-.3"));
+ assertEquals("0.3", LiteralNormalizer.normalizeDecimal("+.3"));
+ assertEquals("-0.03", LiteralNormalizer.normalizeDecimal("-.03"));
assertEquals("0.0", LiteralNormalizer.normalizeDecimal("+00000.0000000"));
assertEquals("0.0", LiteralNormalizer.normalizeDecimal("-00000.0000000"));
assertEquals("10.0", LiteralNormalizer.normalizeDecimal("10"));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|