svn commit: r1200405 - /struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java

2011-11-10 Thread mcucchiara
Author: mcucchiara
Date: Thu Nov 10 16:18:27 2011
New Revision: 1200405

URL: http://svn.apache.org/viewvc?rev=1200405&view=rev
Log:
Removed redundant cast and unnecessary boxing

Modified:

struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java

Modified: 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java?rev=1200405&r1=1200404&r2=1200405&view=diff
==
--- 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
 Thu Nov 10 16:18:27 2011
@@ -40,14 +40,14 @@ class JSONReader {
 private static Map escapes = new HashMap();
 
 static {
-escapes.put(new Character('"'), new Character('"'));
-escapes.put(new Character('\\'), new Character('\\'));
-escapes.put(new Character('/'), new Character('/'));
-escapes.put(new Character('b'), new Character('\b'));
-escapes.put(new Character('f'), new Character('\f'));
-escapes.put(new Character('n'), new Character('\n'));
-escapes.put(new Character('r'), new Character('\r'));
-escapes.put(new Character('t'), new Character('\t'));
+escapes.put('"', '"');
+escapes.put('\\', '\\');
+escapes.put('/', '/');
+escapes.put('b', '\b');
+escapes.put('f', '\f');
+escapes.put('n', '\n');
+escapes.put('r', '\r');
+escapes.put('t', '\t');
 }
 
 private CharacterIterator it;
@@ -75,7 +75,7 @@ class JSONReader {
 }
 
 private Object read() throws JSONException {
-Object ret = null;
+Object ret;
 
 this.skipWhiteSpace();
 
@@ -198,8 +198,8 @@ class JSONReader {
 this.addDigits();
 }
 
-return (this.buf.indexOf(".") >= 0) ? (Object) 
Double.parseDouble(this.buf.toString())
-: (Object) Long.parseLong(this.buf.toString());
+return (this.buf.indexOf(".") >= 0) ? 
Double.parseDouble(this.buf.toString()) :
+Long.parseLong(this.buf.toString());
 }
 
 private Object string(char quote) {
@@ -212,10 +212,10 @@ class JSONReader {
 if (this.c == 'u') {
 this.add(this.unicode());
 } else {
-Object value = escapes.get(new Character(this.c));
+Object value = escapes.get(this.c);
 
 if (value != null) {
-this.add(((Character) value).charValue());
+this.add((Character) value);
 }
 }
 } else {




svn commit: r1200412 - /struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java

2011-11-10 Thread mcucchiara
Author: mcucchiara
Date: Thu Nov 10 16:24:27 2011
New Revision: 1200412

URL: http://svn.apache.org/viewvc?rev=1200412&view=rev
Log:
Reverted redundant cast (tests failed)

Modified:

struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java

Modified: 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java?rev=1200412&r1=1200411&r2=1200412&view=diff
==
--- 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
 Thu Nov 10 16:24:27 2011
@@ -198,8 +198,8 @@ class JSONReader {
 this.addDigits();
 }
 
-return (this.buf.indexOf(".") >= 0) ? 
Double.parseDouble(this.buf.toString()) :
-Long.parseLong(this.buf.toString());
+return (this.buf.indexOf(".") >= 0) ? (Object) 
Double.parseDouble(this.buf.toString())
+: (Object) Long.parseLong(this.buf.toString());
 }
 
 private Object string(char quote) {




svn commit: r1200422 - in /struts/struts2/trunk/plugins/json/src: main/java/org/apache/struts2/json/JSONReader.java test/java/org/apache/struts2/json/JSONReaderTest.java

2011-11-10 Thread mcucchiara
Author: mcucchiara
Date: Thu Nov 10 16:51:46 2011
New Revision: 1200422

URL: http://svn.apache.org/viewvc?rev=1200422&view=rev
Log:
WW-3701 - Wrong parsing of number with exponents

Added:

struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONReaderTest.java
Modified:

struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java

Modified: 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java?rev=1200422&r1=1200421&r2=1200422&view=diff
==
--- 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
 (original)
+++ 
struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONReader.java
 Thu Nov 10 16:51:46 2011
@@ -176,6 +176,7 @@ class JSONReader {
 
 private Object number() {
 this.buf.setLength(0);
+boolean toDouble = false;
 
 if (this.c == '-') {
 this.add();
@@ -184,11 +185,13 @@ class JSONReader {
 this.addDigits();
 
 if (this.c == '.') {
+toDouble = true;
 this.add();
 this.addDigits();
 }
 
 if ((this.c == 'e') || (this.c == 'E')) {
+toDouble = true;
 this.add();
 
 if ((this.c == '+') || (this.c == '-')) {
@@ -198,8 +201,11 @@ class JSONReader {
 this.addDigits();
 }
 
-return (this.buf.indexOf(".") >= 0) ? (Object) 
Double.parseDouble(this.buf.toString())
-: (Object) Long.parseLong(this.buf.toString());
+if (toDouble) {
+return Double.parseDouble(this.buf.toString());
+} else {
+return Long.parseLong(this.buf.toString());
+}
 }
 
 private Object string(char quote) {

Added: 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONReaderTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONReaderTest.java?rev=1200422&view=auto
==
--- 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONReaderTest.java
 (added)
+++ 
struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONReaderTest.java
 Thu Nov 10 16:51:46 2011
@@ -0,0 +1,47 @@
+package org.apache.struts2.json;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * User: mcucchiara
+ * Date: 10/11/11
+ * Time: 17.26
+ */
+public class JSONReaderTest {
+private JSONReader reader = new JSONReader();
+
+@Test
+public void testExponentialNumber() throws Exception {
+Object ret = reader.read("5e-5");
+assertNotNull(ret);
+assertEquals(Double.class, ret.getClass());
+assertEquals(5.0E-5, ret);
+}
+
+@Test
+public void testExponentialNumber2() throws Exception {
+Object ret = reader.read("123.4e10");
+assertNotNull(ret);
+assertEquals(Double.class, ret.getClass());
+assertEquals(123.4e10, ret);
+}
+
+@Test
+public void testDecimalNumber() throws Exception {
+Object ret = reader.read("3.2");
+assertNotNull(ret);
+assertEquals(Double.class, ret.getClass());
+assertEquals(3.2, ret);
+}
+
+@Test
+public void testNaturalNumber() throws Exception {
+Object ret = reader.read("123");
+assertNotNull(ret);
+assertEquals(Long.class, ret.getClass());
+assertEquals(123L, ret);
+}
+}




[CONF] Confluence Changes in the last 24 hours

2011-11-10 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache ActiveMQ (https://cwiki.apache.org/confluence/display/ACTIVEMQ)

Pages
-
Networks of Brokers edited by  tmielke  (10:14 AM)
https://cwiki.apache.org/confluence/display/ACTIVEMQ/Networks+of+Brokers



Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
Mock edited by  boday  (02:44 PM)
https://cwiki.apache.org/confluence/display/CAMEL/Mock

Batch Consumer edited by  bibryam  (12:39 PM)
https://cwiki.apache.org/confluence/display/CAMEL/Batch+Consumer

XSLT edited by  rnewcomb  (12:12 PM)
https://cwiki.apache.org/confluence/display/CAMEL/XSLT

Camel 2.9.0 Release edited by  davsclaus  (05:49 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.9.0+Release



Apache Hive (https://cwiki.apache.org/confluence/display/Hive)

Pages
-
LanguageManual UDF edited by  jonch...@fb.com  (06:53 PM)
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF



Apache Mahout (https://cwiki.apache.org/confluence/display/MAHOUT)

Pages
-
File Format Integrations created by lance.nors...@gmail.com (10:50 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/File+Format+Integrations

Database Integrations created by lance.nors...@gmail.com (10:14 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/Database+Integrations

Professional Support edited by  apachejagdish  (06:35 PM)
https://cwiki.apache.org/confluence/display/MAHOUT/Professional+Support



Apache OpenOffice.org Community 
(https://cwiki.apache.org/confluence/display/OOOUSERS)

Pages
-
IP_Clearance edited by  af  (07:17 AM)
https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance



Apache Qpid (https://cwiki.apache.org/confluence/display/qpid)

Pages
-
Addressing Examples created by g...@redhat.com (12:55 PM)
https://cwiki.apache.org/confluence/display/qpid/Addressing+Examples



Apache Sling Website (https://cwiki.apache.org/confluence/display/SLINGxSITE)

Pages
-
Project Team edited by  thecarlhall  (12:59 PM)
https://cwiki.apache.org/confluence/display/SLINGxSITE/Project+Team



Apache Tapestry (https://cwiki.apache.org/confluence/display/TAPESTRY)

Pages
-
Community edited by  demey.emman...@gmail.com  (03:37 AM)
https://cwiki.apache.org/confluence/display/TAPESTRY/Community



Apache VCL (https://cwiki.apache.org/confluence/display/VCL)

Pages
-
2011-11 Incubator VCL Report created by arkurth (04:40 PM)
https://cwiki.apache.org/confluence/display/VCL/2011-11+Incubator+VCL+Report



Apache Whirr (https://cwiki.apache.org/confluence/display/WHIRR)

Pages
-
RoadMap edited by  tomwhite  (01:48 PM)
https://cwiki.apache.org/confluence/display/WHIRR/RoadMap




Change your notification preferences: 
https://cwiki.apache.org/confluence/users/viewnotifications.action