You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2017/05/29 19:20:23 UTC
svn commit: r1796677 - in /sling/trunk/tooling/maven/maven-sling-plugin/src:
main/java/org/apache/sling/maven/bundlesupport/
test/java/org/apache/sling/maven/bundlesupport/
Author: sseifert
Date: Mon May 29 19:20:23 2017
New Revision: 1796677
URL: http://svn.apache.org/viewvc?rev=1796677&view=rev
Log:
SLING-6920 Maven Sling Plugin: Optional activate json tick parse support for validate goal
Modified:
sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java
sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java
sling/trunk/tooling/maven/maven-sling-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java
Modified: sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java?rev=1796677&r1=1796676&r2=1796677&view=diff
==============================================================================
--- sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java (original)
+++ sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java Mon May 29 19:20:23 2017
@@ -57,7 +57,7 @@ public final class JsonSupport {
* @return JSON object
*/
public static JsonObject parseObject(String jsonString) {
- try (StringReader reader = new StringReader(tickToDoubleQuote(jsonString));
+ try (StringReader reader = new StringReader(jsonString);
JsonReader jsonReader = JSON_READER_FACTORY.createReader(reader)) {
return jsonReader.readObject();
}
@@ -69,7 +69,7 @@ public final class JsonSupport {
* @return JSON array
*/
public static JsonArray parseArray(String jsonString) {
- try (StringReader reader = new StringReader(tickToDoubleQuote(jsonString));
+ try (StringReader reader = new StringReader(jsonString);
JsonReader jsonReader = JSON_READER_FACTORY.createReader(reader)) {
return jsonReader.readArray();
}
@@ -80,8 +80,12 @@ public final class JsonSupport {
* @param jsonString JSON string
* @throws javax.json.JsonException when JSON structure is invalid
*/
- public static void validateJsonStructure(String jsonString) {
- try (StringReader reader = new StringReader(tickToDoubleQuote(jsonString));
+ public static void validateJsonStructure(String jsonString, boolean tickToDoubleQuote) {
+ String transformedJsonString = jsonString;
+ if (tickToDoubleQuote) {
+ transformedJsonString = tickToDoubleQuote(jsonString);
+ }
+ try (StringReader reader = new StringReader(transformedJsonString);
JsonReader jsonReader = JSON_READER_FACTORY.createReader(reader)) {
jsonReader.read();
}
Modified: sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java?rev=1796677&r1=1796676&r2=1796677&view=diff
==============================================================================
--- sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java (original)
+++ sling/trunk/tooling/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java Mon May 29 19:20:23 2017
@@ -62,6 +62,12 @@ public class ValidationMojo extends Abst
private boolean skipJson;
/**
+ * Whether to accept quote ticks in JSON files or not.
+ */
+ @Parameter(property = "sling.validation.jsonQuoteTick", defaultValue = "false", required = true)
+ private boolean jsonQuoteTick;
+
+ /**
* @see org.apache.maven.plugin.AbstractMojo#execute()
*/
public void execute()
@@ -119,7 +125,7 @@ public class ValidationMojo extends Abst
}
// validate JSON
try {
- JsonSupport.validateJsonStructure(json);
+ JsonSupport.validateJsonStructure(json, jsonQuoteTick);
} catch (JsonException e) {
throw new MojoExecutionException("An Error occured while validating the file '"+fileName+"'", e);
}
Modified: sling/trunk/tooling/maven/maven-sling-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/maven-sling-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java?rev=1796677&r1=1796676&r2=1796677&view=diff
==============================================================================
--- sling/trunk/tooling/maven/maven-sling-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java (original)
+++ sling/trunk/tooling/maven/maven-sling-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java Mon May 29 19:20:23 2017
@@ -54,14 +54,19 @@ public class JsonSupportTest {
@Test
public void testValidateJsonStructure() {
- validateJsonStructure("{\"prop1\":123}");
- validateJsonStructure("[{\"prop1\":123}]");
- validateJsonStructure("{'prop1':123}");
+ validateJsonStructure("{\"prop1\":123}", false);
+ validateJsonStructure("[{\"prop1\":123}]", false);
+ validateJsonStructure("{'prop1':123}", true);
}
@Test(expected=JsonException.class)
public void testValidateJsonStructure_Invalid() {
- validateJsonStructure("wurstbrot");
+ validateJsonStructure("wurstbrot", false);
+ }
+
+ @Test(expected=JsonException.class)
+ public void testValidateJsonStructure_InvalidQuoteTick() {
+ validateJsonStructure("{'prop1':123}", false);
}
@Test