Author: cbrisson
Date: Mon Jan 16 01:41:55 2017
New Revision: 1778959
URL: http://svn.apache.org/viewvc?rev=1778959&view=rev
Log:
review XmlTool/JsonTool commits
Modified:
velocity/tools/trunk/pom.xml
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/resources/resources.properties
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/test/java/org/apache/velocity/examples/showcase/ViewToolsIT.java
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/JsonTool.java
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/XmlTool.java
velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java
Modified: velocity/tools/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/pom.xml?rev=1778959&r1=1778958&r2=1778959&view=diff
==============================================================================
--- velocity/tools/trunk/pom.xml (original)
+++ velocity/tools/trunk/pom.xml Mon Jan 16 01:41:55 2017
@@ -72,8 +72,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <debug>false</debug>
- <optimize>true</optimize>
+ <debug>true</debug>
+ <optimize>false</optimize>
<showDeprecation>true</showDeprecation>
<showWarning>true</showWarning>
<source>1.7</source>
Modified:
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/resources/resources.properties
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/resources/resources.properties?rev=1778959&r1=1778958&r2=1778959&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/resources/resources.properties
(original)
+++
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/resources/resources.properties
Mon Jan 16 01:41:55 2017
@@ -165,7 +165,7 @@ class.isStrict = Returns <code>true</cod
class.supportsNewInstance = Returns <code>true</code> if a new instance of the
class being inspected can be created via $class.type.newInstance().
class.toString = Returns the result of $class.type.toString().
-collection.intro = Collection tool which provides String splitting methods and
various collections sorting methods.
+collection.intro = Collection tool which provides string splitting methods and
various collections sorting methods.
collection.getStringsDelimiter = Returns the delimiter to be used when
splitting a string.
collection.getStringsTrim = Returns whether or not to trim string elements
found when splitting a string.
collection.sort_Collection = Sort a collection.
Modified:
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/test/java/org/apache/velocity/examples/showcase/ViewToolsIT.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/test/java/org/apache/velocity/examples/showcase/ViewToolsIT.java?rev=1778959&r1=1778958&r2=1778959&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/test/java/org/apache/velocity/examples/showcase/ViewToolsIT.java
(original)
+++
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/test/java/org/apache/velocity/examples/showcase/ViewToolsIT.java
Mon Jan 16 01:41:55 2017
@@ -29,7 +29,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -326,7 +326,7 @@ public class ViewToolsIT {
{
String json = "{\"foo\":\"bar\"}";
WebConversation conv = new WebConversation();
- WebRequest req = new PostMethodWebRequest(ROOT_URL+"post_json.vm", new
ByteArrayInputStream(json.getBytes(Charset.forName("UTF-8"))),
"application/json");
+ WebRequest req = new PostMethodWebRequest(ROOT_URL+"post_json.vm", new
ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)),
"application/json");
WebResponse resp = conv.getResponse(req);
checkText(resp, "foo", "bar");
}
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/JsonTool.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/JsonTool.java?rev=1778959&r1=1778958&r2=1778959&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/JsonTool.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/JsonTool.java
Mon Jan 16 01:41:55 2017
@@ -20,6 +20,7 @@ package org.apache.velocity.tools.generi
*/
import java.io.BufferedReader;
+import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
@@ -152,7 +153,13 @@ public class JsonTool extends ImportSupp
try
{
final int lookahead = 100;
- int jsonType = 0; // 1 = object, 2 = array
+
+ final int TYPE_UNKNOWN = 0;
+ final int TYPE_OBJECT = 1;
+ final int TYPE_ARRAY = 2;
+
+ int jsonType = TYPE_UNKNOWN;
+
if (!reader.markSupported())
{
reader = new BufferedReader(reader);
@@ -166,10 +173,10 @@ public class JsonTool extends ImportSupp
switch (buffer[i])
{
case '{':
- jsonType = 1;
+ jsonType = TYPE_OBJECT;
break;
case '[':
- jsonType = 2;
+ jsonType = TYPE_ARRAY;
break;
case ' ':
case '\t':
@@ -182,23 +189,23 @@ public class JsonTool extends ImportSupp
throw new Exception(msg);
}
}
- if (jsonType != 0)
+ if (jsonType != TYPE_UNKNOWN)
{
break;
}
}
switch (jsonType)
{
- case 0:
+ case TYPE_UNKNOWN:
{
String msg = "could not pase JSON: did not find any '{' or
'[' in the first " + lookahead + " characters";
throw new Exception(msg);
}
- case 1:
+ case TYPE_OBJECT:
jsonArray = null;
jsonObject = new JSONObject(new JSONTokener(reader));
break;
- case 2:
+ case TYPE_ARRAY:
jsonObject = null;
jsonArray = new JSONArray(new JSONTokener(reader));
}
@@ -213,13 +220,13 @@ public class JsonTool extends ImportSupp
* Parses the given JSON string and uses the resulting {@link Document}
* as the root {@link Node}.
*/
- public void parse(String xml)
+ public void parse(String json)
{
- if (xml != null)
+ if (json != null)
{
try
{
- initJSON(xml);
+ initJSON(json);
}
catch (Exception e)
{
@@ -235,9 +242,10 @@ public class JsonTool extends ImportSupp
{
if (resource != null)
{
+ Reader reader = null;
try
{
- Reader reader = importSupport.getResourceReader(resource);
+ reader = importSupport.getResourceReader(resource);
if (reader != null)
{
initJSON(reader);
@@ -247,6 +255,17 @@ public class JsonTool extends ImportSupp
{
getLog().error("could not read JSON resource {}", resource, e);
}
+ finally
+ {
+ if (reader != null)
+ {
+ try
+ {
+ reader.close();
+ }
+ catch (IOException ioe) {}
+ }
+ }
}
}
@@ -257,9 +276,10 @@ public class JsonTool extends ImportSupp
{
if (url != null)
{
+ Reader reader = null;
try
{
- Reader reader = importSupport.acquireReader(url);
+ reader = importSupport.acquireReader(url);
if (reader != null)
{
initJSON(reader);
@@ -269,6 +289,17 @@ public class JsonTool extends ImportSupp
{
getLog().error("could not fetch JSON content from URL {}",
url, e);
}
+ finally
+ {
+ if (reader != null)
+ {
+ try
+ {
+ reader.close();
+ }
+ catch (IOException ioe) {}
+ }
+ }
}
}
@@ -328,7 +359,7 @@ public class JsonTool extends ImportSupp
{
if (jsonObject != null)
{
- return jsonObject. keys();
+ return jsonObject.keys();
}
else if (jsonArray != null)
{
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/XmlTool.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/XmlTool.java?rev=1778959&r1=1778958&r2=1778959&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/XmlTool.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/XmlTool.java
Mon Jan 16 01:41:55 2017
@@ -19,6 +19,7 @@ package org.apache.velocity.tools.generi
* under the License.
*/
+import java.io.IOException;
import java.io.Reader;
import java.io.Serializable;
import java.util.ArrayList;
@@ -201,9 +202,10 @@ public class XmlTool extends SafeConfig
*/
public void read(String resource)
{
+ Reader reader = null;
try
{
- Reader reader = importSupport.getResourceReader(resource);
+ reader = importSupport.getResourceReader(resource);
if (reader != null)
{
setRoot(XmlUtils.parse(reader));
@@ -213,6 +215,17 @@ public class XmlTool extends SafeConfig
{
getLog().error("could not read XML resource {}", resource, e);
}
+ finally
+ {
+ if (reader != null)
+ {
+ try
+ {
+ reader.close();
+ }
+ catch (IOException ioe) {}
+ }
+ }
}
/**
@@ -220,9 +233,10 @@ public class XmlTool extends SafeConfig
*/
public void fetch(String url)
{
+ Reader reader = null;
try
{
- Reader reader = importSupport.acquireReader(url);
+ reader = importSupport.acquireReader(url);
if (reader != null)
{
setRoot(XmlUtils.parse(reader));
@@ -232,6 +246,17 @@ public class XmlTool extends SafeConfig
{
getLog().error("could not fetch XML content from URL {}", url, e);
}
+ finally
+ {
+ if (reader != null)
+ {
+ try
+ {
+ reader.close();
+ }
+ catch (IOException ioe) {}
+ }
+ }
}
/**
Modified:
velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java?rev=1778959&r1=1778958&r2=1778959&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java
Mon Jan 16 01:41:55 2017
@@ -156,7 +156,7 @@ public class GenericToolsTests {
assertEquals(new Integer(5),mathTool.floor(5.1));
assertEquals(6,mathTool.getAverage(new long[] {5,6,7}));
/* getTotal() watches the type of its first argument, so assertEquals
needs a long */
- assertEquals((long)7,mathTool.getTotal(new long[]{2, 2, 3}));
+ assertEquals(7L,mathTool.getTotal(new long[]{2, 2, 3}));
assertEquals(new Integer(8), mathTool.idiv(130, 16));
assertEquals(9,mathTool.max(9,-10));
assertEquals(10, mathTool.min(10, 20));