Author: pauls
Date: Wed May 31 20:51:17 2017
New Revision: 1797108
URL: http://svn.apache.org/viewvc?rev=1797108&view=rev
Log:
SLING-6899: Remove commons.json from Sling Pipes
Added:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonUtil.java
Modified:
sling/trunk/contrib/extensions/sling-pipes/pom.xml
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ContainerPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/OutputWriter.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Pipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/PipeBindings.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Plumber.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ReferencePipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/AuthorizablePipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomJsonWriter.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomWriter.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/DefaultOutputWriter.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/FilterPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MovePipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MultiPropertyPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NopWriter.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NotPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/ParentPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberImpl.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberServlet.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/RemovePipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/SlingQueryPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/WritePipe.java
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/XPathPipe.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/AbstractPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ContainerPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/PipeBindingsTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ReferencePipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummyNull.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummySearch.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/FilterPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/JsonPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MovePipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MultiPropertyPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/NotPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/PlumberServletTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/RemovePipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/SlingQueryPipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/WritePipeTest.java
sling/trunk/contrib/extensions/sling-pipes/src/test/resources/filter.json
sling/trunk/contrib/extensions/sling-pipes/src/test/resources/json.json
Modified: sling/trunk/contrib/extensions/sling-pipes/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/pom.xml?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-pipes/pom.xml (original)
+++ sling/trunk/contrib/extensions/sling-pipes/pom.xml Wed May 31 20:51:17 2017
@@ -58,6 +58,9 @@
org.apache.sling.query;version=3.0.0,
*
</Import-Package>
+ <Embed-Dependency>
+
org.apache.sling.jcr.contentparser;inline="org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.class"
+ </Embed-Dependency>
</instructions>
</configuration>
</plugin>
@@ -66,6 +69,18 @@
<dependencies>
<dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.jcr.contentparser</artifactId>
+ <version>1.2.3-SNAPSHOT</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
@@ -133,12 +148,6 @@
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.commons.json</artifactId>
- <version>2.0.6</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.event.api</artifactId>
<version>1.0.0</version>
</dependency>
@@ -158,7 +167,25 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock</artifactId>
- <version>2.2.4</version>
+ <version>2.2.11-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.json</artifactId>
+ <version>2.0.6</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-json_1.0_spec</artifactId>
+ <version>1.0-alpha-1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.johnzon</artifactId>
+ <version>1.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ContainerPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ContainerPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ContainerPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ContainerPipe.java
Wed May 31 20:51:17 2017
@@ -16,10 +16,6 @@
*/
package org.apache.sling.pipes;
-import org.apache.sling.api.resource.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -27,6 +23,10 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.apache.sling.api.resource.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* This pipe executes the pipes it has in its configuration, chaining their
result, and
* modifying each contained pipe's expression with its context
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/OutputWriter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/OutputWriter.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/OutputWriter.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/OutputWriter.java
Wed May 31 20:51:17 2017
@@ -16,12 +16,13 @@
*/
package org.apache.sling.pipes;
+import java.io.IOException;
+
+import javax.json.JsonException;
+
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.commons.json.JSONException;
-
-import java.io.IOException;
/**
* defines how pipe's output get written to a servlet response
@@ -56,7 +57,7 @@ public abstract class OutputWriter {
* @throws IOException error handling streams
* @throws JSONException in case invalid json is written
*/
- public void init(SlingHttpServletRequest request, SlingHttpServletResponse
response) throws IOException, JSONException{
+ public void init(SlingHttpServletRequest request, SlingHttpServletResponse
response) throws IOException, JsonException {
max = request.getParameter(PARAM_SIZE) != null ?
Integer.parseInt(request.getParameter(PARAM_SIZE)) : NB_MAX;
if (max < 0) {
max = Integer.MAX_VALUE;
@@ -71,14 +72,14 @@ public abstract class OutputWriter {
* @throws IOException error handling streams
* @throws JSONException in case invalid json is written
*/
- protected abstract void initInternal(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JSONException;
+ protected abstract void initInternal(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JsonException;
/**
* Write a given resource
* @param resource resource that will be written
* @throws JSONException in case write fails
*/
- public void write(Resource resource) throws JSONException{
+ public void write(Resource resource) throws JsonException {
if (size++ < max) {
writeItem(resource);
}
@@ -89,14 +90,14 @@ public abstract class OutputWriter {
* @param resource resource that will be written
* @throws JSONException in case write fails
*/
- protected abstract void writeItem(Resource resource) throws JSONException;
+ protected abstract void writeItem(Resource resource) throws JsonException;
/**
* writes the end of the output
* @throws JSONException in case invalid json is written
*/
- public abstract void ends() throws JSONException;
+ public abstract void ends() throws JsonException;
/**
*
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Pipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Pipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Pipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Pipe.java
Wed May 31 20:51:17 2017
@@ -16,10 +16,10 @@
*/
package org.apache.sling.pipes;
-import org.apache.sling.api.resource.Resource;
-
import java.util.Iterator;
+import org.apache.sling.api.resource.Resource;
+
/**
* Pipe interface
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/PipeBindings.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/PipeBindings.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/PipeBindings.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/PipeBindings.java
Wed May 31 20:51:17 2017
@@ -16,20 +16,6 @@
*/
package org.apache.sling.pipes;
-import org.apache.commons.io.IOUtils;
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.api.resource.ValueMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.script.Bindings;
-import javax.script.Invocable;
-import javax.script.ScriptContext;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-import javax.script.ScriptException;
-import javax.script.SimpleScriptContext;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
@@ -40,6 +26,21 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.script.Bindings;
+import javax.script.Invocable;
+import javax.script.ScriptContext;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+import javax.script.ScriptException;
+import javax.script.SimpleScriptContext;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ValueMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* Execution bindings of a pipe, and all expression related
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Plumber.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Plumber.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Plumber.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/Plumber.java
Wed May 31 20:51:17 2017
@@ -16,14 +16,13 @@
*/
package org.apache.sling.pipes;
-import org.apache.sling.api.resource.PersistenceException;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.event.jobs.Job;
-import java.util.Map;
-import java.util.Set;
-
/**
* Plumber is an osgi service aiming to make pipes available to the sling
system, in order to
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ReferencePipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ReferencePipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ReferencePipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/ReferencePipe.java
Wed May 31 20:51:17 2017
@@ -16,10 +16,10 @@
*/
package org.apache.sling.pipes;
-import org.apache.sling.api.resource.Resource;
-
import java.util.Iterator;
+import org.apache.sling.api.resource.Resource;
+
/**
* executes a pipe referred in the configuration
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/AuthorizablePipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/AuthorizablePipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/AuthorizablePipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/AuthorizablePipe.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,13 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Collections;
+import java.util.Iterator;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonArrayBuilder;
+
import org.apache.commons.lang.StringUtils;
import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.api.security.user.Group;
@@ -23,15 +30,11 @@ import org.apache.jackrabbit.api.securit
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.commons.json.JSONArray;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Collections;
-import java.util.Iterator;
-
/**
* pipe that outputs an authorizable resource based on the id set in expr
*/
@@ -165,8 +168,8 @@ public class AuthorizablePipe extends Ba
if (auth.isGroup()) {
Group group = (Group)auth;
String uids = bindings.instantiateExpression(addMembers);
- JSONArray array = new JSONArray(uids);
- for (int index = 0; index < array.length(); index ++){
+ JsonArray array = JsonUtil.parseArray(uids);
+ for (int index = 0; index < array.size(); index ++){
String uid = array.getString(index);
Authorizable member = userManager.getAuthorizable(uid);
if (member != null) {
@@ -195,11 +198,11 @@ public class AuthorizablePipe extends Ba
if (auth.isGroup()){
Group group = (Group)auth;
Iterator<Authorizable> memberIterator = group.getMembers();
- JSONArray array = new JSONArray();
+ JsonArrayBuilder array = Json.createArrayBuilder();
while (memberIterator.hasNext()){
- array.put(memberIterator.next().getID());
+ array.add(memberIterator.next().getID());
}
- outputBinding = array.toString();
+ outputBinding = JsonUtil.toString(array);
} else {
logger.error("{}Â is not a group, unable to bind members",
auth.getID());
}
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomJsonWriter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomJsonWriter.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomJsonWriter.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomJsonWriter.java
Wed May 31 20:51:17 2017
@@ -16,12 +16,8 @@
*/
package org.apache.sling.pipes.internal;
-import java.util.HashMap;
-import java.util.Iterator;
-
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.SlingHttpServletRequest;
-import org.apache.sling.commons.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,12 +33,7 @@ public class CustomJsonWriter extends Cu
String writerParam = request.getParameter(PARAM_WRITER);
if (StringUtils.isNotBlank(writerParam)){
try {
- JSONObject object = new JSONObject(writerParam);
- customOutputs = new HashMap<>();
- for (Iterator<String> keys = object.keys(); keys.hasNext();){
- String key = keys.next();
- customOutputs.put(key, object.getString(key));
- }
+ customOutputs =
JsonUtil.unbox(JsonUtil.parseObject(writerParam));
return true;
} catch(Exception e){
log.error("requested json writer can't be parsed", e);
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomWriter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomWriter.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomWriter.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/CustomWriter.java
Wed May 31 20:51:17 2017
@@ -19,10 +19,12 @@ package org.apache.sling.pipes.internal;
import java.util.HashMap;
import java.util.Map;
+import javax.json.JsonException;
+import javax.json.JsonValue;
+
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.commons.json.JSONException;
import org.apache.sling.pipes.BasePipe;
/**
@@ -51,13 +53,18 @@ public class CustomWriter extends Defaul
}
@Override
- public void writeItem(Resource resource) throws JSONException {
- writer.object();
- writer.key(PATH_KEY).value(resource.getPath());
+ public void writeItem(Resource resource) throws JsonException {
+ writer.writeStartObject();
+ writer.write(PATH_KEY,resource.getPath());
for (Map.Entry<String, Object> entry : customOutputs.entrySet()){
Object o =
pipe.getBindings().instantiateObject((String)entry.getValue());
- writer.key(entry.getKey()).value(o);
+ if ( o instanceof JsonValue ) {
+ writer.write(entry.getKey(),(JsonValue) o);
+ }
+ else {
+ writer.write(entry.getKey(), o.toString());
+ }
}
- writer.endObject();
+ writer.writeEnd();
}
}
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/DefaultOutputWriter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/DefaultOutputWriter.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/DefaultOutputWriter.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/DefaultOutputWriter.java
Wed May 31 20:51:17 2017
@@ -18,20 +18,21 @@ package org.apache.sling.pipes.internal;
import java.io.IOException;
+import javax.json.Json;
+import javax.json.JsonException;
+import javax.json.stream.JsonGenerator;
+
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.commons.json.JSONException;
-import org.apache.sling.commons.json.io.JSONWriter;
import org.apache.sling.pipes.OutputWriter;
-import org.apache.sling.pipes.Pipe;
/**
* default output writer with size and output resources' path
*/
public class DefaultOutputWriter extends OutputWriter {
- protected JSONWriter writer;
+ protected JsonGenerator writer;
@Override
public boolean handleRequest(SlingHttpServletRequest request) {
@@ -39,24 +40,24 @@ public class DefaultOutputWriter extends
}
@Override
- protected void initInternal(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JSONException {
+ protected void initInternal(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JsonException {
response.setCharacterEncoding("utf-8");
response.setContentType("application/json");
- writer = new JSONWriter(response.getWriter());
- writer.object();
- writer.key(KEY_ITEMS);
- writer.array();
+ writer = Json.createGenerator(response.getWriter());
+ writer.writeStartObject();
+ writer.writeStartArray(KEY_ITEMS);
}
@Override
- public void writeItem(Resource resource) throws JSONException {
- writer.value(resource.getPath());
+ public void writeItem(Resource resource) throws JsonException {
+ writer.write(resource.getPath());
}
@Override
- public void ends() throws JSONException {
- writer.endArray();
- writer.key(KEY_SIZE).value(size);
- writer.endObject();
+ public void ends() throws JsonException {
+ writer.writeEnd();
+ writer.write(KEY_SIZE,size);
+ writer.writeEnd();
+ writer.flush();
}
}
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/FilterPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/FilterPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/FilterPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/FilterPipe.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,13 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.regex.Pattern;
+
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.pipes.BasePipe;
@@ -23,12 +30,6 @@ import org.apache.sling.pipes.Plumber;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jcr.Node;
-import javax.jcr.NodeIterator;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.regex.Pattern;
-
/**
* intends to output the input only if configured conditions are fulfilled
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonPipe.java
Wed May 31 20:51:17 2017
@@ -20,6 +20,11 @@ import java.io.InputStream;
import java.io.StringWriter;
import java.util.Iterator;
+import javax.json.JsonArray;
+import javax.json.JsonException;
+import javax.json.JsonStructure;
+import javax.json.JsonValue.ValueType;
+
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpConnectionManager;
import org.apache.commons.httpclient.HttpState;
@@ -30,10 +35,6 @@ import org.apache.commons.httpclient.par
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.commons.json.JSONArray;
-import org.apache.sling.commons.json.JSONException;
-import org.apache.sling.commons.json.JSONObject;
-import org.apache.sling.commons.json.JSONTokener;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
import org.slf4j.Logger;
@@ -48,7 +49,7 @@ public class JsonPipe extends BasePipe {
HttpClient client;
- JSONArray array;
+ JsonArray array;
Object binding;
int index = -1;
@@ -128,21 +129,33 @@ public class JsonPipe extends BasePipe {
String jsonString = retrieveJSONString();
if (StringUtils.isNotBlank(jsonString)){
try {
- JSONTokener tokener = new JSONTokener(jsonString);
- char firstChar = tokener.next();
- if (firstChar == '[') {
- binding = array = new JSONArray(jsonString);
+ JsonStructure json;
+ try {
+ json = JsonUtil.parse(jsonString);
+ } catch (JsonException ex) {
+ json = null;
+ }
+ if (json == null) {
+ binding = jsonString.trim();
+ output = super.getOutput();
+ }
+ else if (json.getValueType() != ValueType.ARRAY) {
+ binding = JsonUtil.unbox(json);
+ output = super.getOutput();
+ }
+ else {
+ binding = array = (JsonArray) json;
index = 0;
output = new Iterator<Resource>() {
@Override
public boolean hasNext() {
- return index < array.length();
+ return index < array.size();
}
@Override
public Resource next() {
try {
- binding = array.get(index);
+ binding = JsonUtil.unbox(array.get(index));
} catch(Exception e){
logger.error("Unable to retrieve {}nth item of
jsonarray", index, e);
}
@@ -150,15 +163,8 @@ public class JsonPipe extends BasePipe {
return getInput();
}
};
- } else if (firstChar == '{') {
- binding = new JSONObject(jsonString);
- output = super.getOutput();
- } else {
- //simple string
- binding = jsonString;
- output = super.getOutput();
- }
- } catch (JSONException e) {
+ }
+ } catch (JsonException e) {
logger.error("unable to parse JSON {} ", jsonString, e);
}
}
Added:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonUtil.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonUtil.java?rev=1797108&view=auto
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonUtil.java
(added)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/JsonUtil.java
Wed May 31 20:51:17 2017
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.pipes.internal;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.AbstractMap;
+import java.util.Map.Entry;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonArrayBuilder;
+import javax.json.JsonException;
+import javax.json.JsonNumber;
+import javax.json.JsonObject;
+import javax.json.JsonObjectBuilder;
+import javax.json.JsonString;
+import javax.json.JsonStructure;
+import javax.json.JsonValue;
+import javax.json.JsonValue.ValueType;
+
+import org.apache.sling.jcr.contentparser.impl.JsonTicksConverter;
+
+public class JsonUtil {
+ public static JsonStructure parse(String input) throws JsonException {
+ return Json.createReader(new
StringReader(JsonTicksConverter.tickToDoubleQuote(input))).read();
+ }
+
+ public static JsonObject parseObject(String input) throws JsonException{
+ return (JsonObject) parse(input);
+ }
+
+ public static JsonArray parseArray(String input) throws JsonException {
+ return (JsonArray) parse(input);
+ }
+
+ public static Object unbox(JsonValue value, Function<JsonStructure,
Object> convert) throws JsonException {
+ switch (value.getValueType()) {
+ case ARRAY:
+ case OBJECT:
+ return convert.apply((JsonStructure) value);
+ case FALSE:
+ return Boolean.FALSE;
+ case TRUE:
+ return Boolean.TRUE;
+ case NULL:
+ return null;
+ case NUMBER:
+ JsonNumber number = (JsonNumber) value;
+ return number.isIntegral() ? number.longValue() :
number.doubleValue();
+ case STRING:
+ return ((JsonString) value).getString();
+ default:
+ throw new JsonException("Unknow value type");
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T unbox(JsonValue value) {
+ return (T) unbox(value, json -> json.getValueType() == ValueType.ARRAY
?
+ ((JsonArray) json).stream()
+ .map(JsonUtil::unbox)
+ .collect(Collectors.toList())
+ :
+ ((JsonObject) json).entrySet().stream()
+ .map(entry -> new
AbstractMap.SimpleEntry<>(entry.getKey(),unbox(entry.getValue())))
+ .collect(Collectors.toMap(Entry::getKey,
Entry::getValue)));
+ }
+
+ public static String toString(JsonValue value) {
+ StringWriter writer = new StringWriter();
+ Json.createGenerator(writer).write(value).close();
+ return writer.toString();
+ }
+
+ public static String toString(JsonArrayBuilder builder) {
+ return toString(builder.build());
+ }
+
+ public static String toString(JsonObjectBuilder builder) {
+ return toString(builder.build());
+ }
+}
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MovePipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MovePipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MovePipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MovePipe.java
Wed May 31 20:51:17 2017
@@ -16,19 +16,20 @@
*/
package org.apache.sling.pipes.internal;
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.pipes.BasePipe;
-import org.apache.sling.pipes.Plumber;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.Collections;
+import java.util.Iterator;
import javax.jcr.Item;
import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import java.util.Collections;
-import java.util.Iterator;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.pipes.BasePipe;
+import org.apache.sling.pipes.Plumber;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Does a JCR Move of a node, returns the resource corresponding to the moved
node
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MultiPropertyPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MultiPropertyPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MultiPropertyPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/MultiPropertyPipe.java
Wed May 31 20:51:17 2017
@@ -16,19 +16,20 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+
+import javax.jcr.Property;
+import javax.jcr.PropertyType;
+import javax.jcr.Value;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jcr.Property;
-import javax.jcr.PropertyType;
-import javax.jcr.Value;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-
/**
* reads input MV property, outputs N times the input parent node resource,
where N is the number of
* values in the property, outputs each value in the bindings
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NopWriter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NopWriter.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NopWriter.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NopWriter.java
Wed May 31 20:51:17 2017
@@ -16,14 +16,13 @@
*/
package org.apache.sling.pipes.internal;
+import java.io.IOException;
+
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.commons.json.JSONException;
import org.apache.sling.pipes.OutputWriter;
-import java.io.IOException;
-
public class NopWriter extends OutputWriter {
@Override
public boolean handleRequest(SlingHttpServletRequest request) {
@@ -31,17 +30,17 @@ public class NopWriter extends OutputWri
}
@Override
- protected void initInternal(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JSONException {
+ protected void initInternal(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException {
//nop
}
@Override
- protected void writeItem(Resource resource) throws JSONException {
+ protected void writeItem(Resource resource){
//nop
}
@Override
- public void ends() throws JSONException {
+ public void ends() {
//nop
}
}
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NotPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NotPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NotPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/NotPipe.java
Wed May 31 20:51:17 2017
@@ -16,13 +16,13 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Collections;
+import java.util.Iterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.Plumber;
import org.apache.sling.pipes.ReferencePipe;
-import java.util.Collections;
-import java.util.Iterator;
-
/**
* executes a pipe referred in the configuration, but invert output:
* nothing if the pipe has something, input if the pipe has nothing
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/ParentPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/ParentPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/ParentPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/ParentPipe.java
Wed May 31 20:51:17 2017
@@ -16,13 +16,13 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Collections;
+import java.util.Iterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
-import java.util.Collections;
-import java.util.Iterator;
-
/**
* very simple pipe, returning parent resource of input resource
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberImpl.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberImpl.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberImpl.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberImpl.java
Wed May 31 20:51:17 2017
@@ -16,11 +16,34 @@
*/
package org.apache.sling.pipes.internal;
-import java.util.*;
+import static org.apache.sling.api.resource.ResourceResolverFactory.SUBSERVICE;
+import static org.apache.sling.pipes.BasePipe.PN_STATUS;
+import static org.apache.sling.pipes.BasePipe.PN_STATUS_MODIFIED;
+import static org.apache.sling.pipes.BasePipe.STATUS_FINISHED;
+import static org.apache.sling.pipes.BasePipe.STATUS_STARTED;
+
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.jcr.RepositoryException;
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.SlingConstants;
-import org.apache.sling.api.resource.*;
+import org.apache.sling.api.resource.LoginException;
+import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.PersistenceException;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.DistributionRequestType;
import org.apache.sling.distribution.DistributionResponse;
@@ -29,7 +52,13 @@ import org.apache.sling.distribution.Sim
import org.apache.sling.event.jobs.Job;
import org.apache.sling.event.jobs.JobManager;
import org.apache.sling.event.jobs.consumer.JobConsumer;
-import org.apache.sling.pipes.*;
+import org.apache.sling.pipes.BasePipe;
+import org.apache.sling.pipes.ContainerPipe;
+import org.apache.sling.pipes.OutputWriter;
+import org.apache.sling.pipes.Pipe;
+import org.apache.sling.pipes.PipeBindings;
+import org.apache.sling.pipes.Plumber;
+import org.apache.sling.pipes.ReferencePipe;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
@@ -41,12 +70,6 @@ import org.osgi.service.metatype.annotat
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-import javax.jcr.RepositoryException;
-
-import static org.apache.sling.api.resource.ResourceResolverFactory.SUBSERVICE;
-import static org.apache.sling.pipes.BasePipe.*;
-
/**
* implements plumber interface, registers default pipes, and provides
execution facilities
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberServlet.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberServlet.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberServlet.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/PlumberServlet.java
Wed May 31 20:51:17 2017
@@ -17,8 +17,11 @@
package org.apache.sling.pipes.internal;
import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import javax.json.JsonException;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
@@ -26,15 +29,15 @@ import javax.servlet.http.HttpServletRes
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.api.servlets.ServletResolverConstants;
-import org.apache.sling.commons.json.JSONException;
-import org.apache.sling.commons.json.JSONObject;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.event.jobs.Job;
-import org.apache.sling.pipes.*;
+import org.apache.sling.pipes.BasePipe;
+import org.apache.sling.pipes.ContainerPipe;
+import org.apache.sling.pipes.OutputWriter;
+import org.apache.sling.pipes.Plumber;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -118,11 +121,7 @@ public class PlumberServlet extends Slin
String paramBindings = request.getParameter(PARAM_BINDINGS);
if (StringUtils.isNotBlank(paramBindings)){
try {
- JSONObject bindingJSON = new JSONObject(paramBindings);
- for (Iterator<String> keys = bindingJSON.keys();
keys.hasNext();){
- String key = keys.next();
- bindings.put(key, bindingJSON.get(key));
- }
+
bindings.putAll(JsonUtil.unbox(JsonUtil.parseObject(paramBindings)));
} catch (Exception e){
log.error("Unable to retrieve bindings information", e);
}
@@ -131,7 +130,7 @@ public class PlumberServlet extends Slin
return bindings;
}
- OutputWriter getWriter(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JSONException {
+ OutputWriter getWriter(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws IOException, JsonException {
OutputWriter[] candidates = new OutputWriter[]{new CustomJsonWriter(),
new CustomWriter(), new DefaultOutputWriter()};
for (OutputWriter candidate : candidates) {
if (candidate.handleRequest(request)) {
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/RemovePipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/RemovePipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/RemovePipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/RemovePipe.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,14 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Collections;
+import java.util.Iterator;
+
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.Property;
+import javax.jcr.RepositoryException;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.pipes.BasePipe;
@@ -23,13 +31,6 @@ import org.apache.sling.pipes.Plumber;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jcr.Node;
-import javax.jcr.NodeIterator;
-import javax.jcr.Property;
-import javax.jcr.RepositoryException;
-import java.util.Collections;
-import java.util.Iterator;
-
/**
* this pipe tries to remove the input resource, abstracting its type,
* returning parent of the input
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/SlingQueryPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/SlingQueryPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/SlingQueryPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/SlingQueryPipe.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,10 @@
*/
package org.apache.sling.pipes.internal;
+import static org.apache.sling.query.SlingQuery.$;
+
+import java.util.Iterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
@@ -23,10 +27,6 @@ import org.apache.sling.query.SlingQuery
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.sling.query.SlingQuery.$;
-
-import java.util.Iterator;
-
/**
* this pipe uses SlingQuery to filters children (filter defined in expr
property) of
* a resource (defined in the path property)
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/WritePipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/WritePipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/WritePipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/WritePipe.java
Wed May 31 20:51:17 2017
@@ -16,18 +16,6 @@
*/
package org.apache.sling.pipes.internal;
-import org.apache.sling.api.resource.ModifiableValueMap;
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.pipes.BasePipe;
-import org.apache.sling.pipes.Plumber;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.jcr.Node;
-import javax.jcr.NodeIterator;
-import javax.jcr.Property;
-import javax.jcr.RepositoryException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@@ -37,6 +25,19 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.Property;
+import javax.jcr.RepositoryException;
+
+import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.pipes.BasePipe;
+import org.apache.sling.pipes.Plumber;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* pipe that writes to configured resource
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/XPathPipe.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/XPathPipe.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/XPathPipe.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/internal/XPathPipe.java
Wed May 31 20:51:17 2017
@@ -16,17 +16,17 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Iterator;
+
+import javax.jcr.query.Query;
+
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.resource.Resource;
-
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jcr.query.Query;
-import java.util.Iterator;
-
/**
* generates output based on an xpath query (no input is considered)
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/AbstractPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/AbstractPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/AbstractPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/AbstractPipeTest.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,12 @@
*/
package org.apache.sling.pipes;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import java.util.Iterator;
import org.apache.sling.api.resource.Resource;
@@ -27,12 +33,6 @@ import org.apache.sling.testing.mock.sli
import org.junit.Before;
import org.junit.Rule;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
/**
* this abstract class for pipes implements a plumber with all registered
pipes, plus some test ones, and give some paths,
* it also provides a testing Sling Context, with some content.
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ContainerPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ContainerPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ContainerPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ContainerPipeTest.java
Wed May 31 20:51:17 2017
@@ -16,17 +16,17 @@
*/
package org.apache.sling.pipes;
-import org.apache.sling.api.resource.Resource;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Iterator;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import java.util.Iterator;
+
+import org.apache.sling.api.resource.Resource;
+import org.junit.Before;
+import org.junit.Test;
+
/**
* testing container with dummy child pipes
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/PipeBindingsTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/PipeBindingsTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/PipeBindingsTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/PipeBindingsTest.java
Wed May 31 20:51:17 2017
@@ -16,18 +16,20 @@
*/
package org.apache.sling.pipes;
-import org.apache.sling.api.resource.Resource;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
-import static org.junit.Assert.*;
-
import javax.script.ScriptException;
+import org.apache.sling.api.resource.Resource;
+import org.junit.Before;
+import org.junit.Test;
+
/**
* testing binding's expressions instanciations
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ReferencePipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ReferencePipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ReferencePipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/ReferencePipeTest.java
Wed May 31 20:51:17 2017
@@ -16,11 +16,11 @@
*/
package org.apache.sling.pipes;
+import static org.junit.Assert.assertFalse;
+
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertFalse;
-
/**
* testing references
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummyNull.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummyNull.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummyNull.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummyNull.java
Wed May 31 20:51:17 2017
@@ -16,13 +16,13 @@
*/
package org.apache.sling.pipes.dummies;
+import java.util.Collections;
+import java.util.Iterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.Plumber;
-import java.util.Collections;
-import java.util.Iterator;
-
/**
* this pipe has nothing in output
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummySearch.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummySearch.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummySearch.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/dummies/DummySearch.java
Wed May 31 20:51:17 2017
@@ -16,14 +16,15 @@
*/
package org.apache.sling.pipes.dummies;
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.pipes.BasePipe;
-import org.apache.sling.pipes.Plumber;
+import java.util.Collections;
+import java.util.Iterator;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
-import java.util.Collections;
-import java.util.Iterator;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.pipes.BasePipe;
+import org.apache.sling.pipes.Plumber;
/**
* dummy search reads its conf node children and returns them.
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/FilterPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/FilterPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/FilterPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/FilterPipeTest.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,10 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.util.Iterator;
import org.apache.commons.lang3.StringUtils;
@@ -27,10 +31,6 @@ import org.apache.sling.pipes.AbstractPi
import org.apache.sling.pipes.Pipe;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
/**
* testing different kind of filters
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/JsonPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/JsonPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/JsonPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/JsonPipeTest.java
Wed May 31 20:51:17 2017
@@ -16,16 +16,18 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Iterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.pipes.AbstractPipeTest;
import org.junit.Before;
import org.junit.Test;
-import java.util.Iterator;
-
-import static org.junit.Assert.*;
-
/**
* testing json pipe with anonymous yahoo meteo API
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MovePipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MovePipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MovePipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MovePipeTest.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,10 @@
*/
package org.apache.sling.pipes.internal;
+import java.util.Iterator;
+
+import javax.jcr.Session;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.AbstractPipeTest;
import org.junit.Assert;
@@ -23,9 +27,6 @@ import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
-import javax.jcr.Session;
-import java.util.Iterator;
-
/**
* testing moving nodes & properties
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MultiPropertyPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MultiPropertyPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MultiPropertyPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/MultiPropertyPipeTest.java
Wed May 31 20:51:17 2017
@@ -16,18 +16,18 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Iterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.pipes.AbstractPipeTest;
import org.apache.sling.pipes.Pipe;
import org.junit.Before;
import org.junit.Test;
-import java.util.Iterator;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-
/**
* testing normal case of MV Property Pipe
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/NotPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/NotPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/NotPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/NotPipeTest.java
Wed May 31 20:51:17 2017
@@ -17,12 +17,12 @@
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertFalse;
+
import org.apache.sling.pipes.AbstractPipeTest;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertFalse;
-
public class NotPipeTest extends AbstractPipeTest {
@Before
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/PlumberServletTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/PlumberServletTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/PlumberServletTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/PlumberServletTest.java
Wed May 31 20:51:17 2017
@@ -16,10 +16,21 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.StringReader;
import java.io.StringWriter;
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
import javax.servlet.ServletException;
import org.apache.commons.lang3.StringUtils;
@@ -28,9 +39,6 @@ import org.apache.sling.api.SlingHttpSer
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.commons.json.JSONArray;
-import org.apache.sling.commons.json.JSONException;
-import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.pipes.AbstractPipeTest;
import org.apache.sling.pipes.BasePipe;
import org.apache.sling.pipes.ContainerPipeTest;
@@ -38,13 +46,6 @@ import org.apache.sling.pipes.OutputWrit
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
/**
* testing the servlet logic (parameters & output)
*/
@@ -81,15 +82,15 @@ public class PlumberServletTest extends
}
}
- private void assertDummyTree(int size) throws JSONException {
+ private void assertDummyTree(int size) {
String finalResponse = stringResponse.toString();
assertFalse("There should be a response",
StringUtils.isBlank(finalResponse));
- JSONObject object = new JSONObject(finalResponse);
+ JsonObject object = Json.createReader(new
StringReader(finalResponse)).readObject();
assertEquals("response should be an obj with size value equals to " +
DUMMYTREE_TEST_SIZE, object.getInt(OutputWriter.KEY_SIZE), DUMMYTREE_TEST_SIZE);
- assertEquals("response should be an obj with items value equals to a "
+ size + " valued array", object.getJSONArray(OutputWriter.KEY_ITEMS).length(),
size);
+ assertEquals("response should be an obj with items value equals to a "
+ size + " valued array", object.getJsonArray(OutputWriter.KEY_ITEMS).size(),
size);
}
- private void assertDummyTree() throws JSONException {
+ private void assertDummyTree() {
assertDummyTree(DUMMYTREE_TEST_SIZE);
}
@@ -139,23 +140,23 @@ public class PlumberServletTest extends
String testBindingLength = testBinding + "Length";
String bindingValue = "testBindingValue";
String pathLengthParam = "pathLength";
- JSONObject bindings = new JSONObject("{'" + testBinding + "':'" +
bindingValue + "'}");
- JSONObject respObject = new JSONObject("{'" + pathLengthParam +
"':'${path.get(\"dummyGrandChild\").length}','" + testBindingLength + "':'${" +
testBinding + ".length}'}");
+ String bindings = "{\"" + testBinding + "\":\"" + bindingValue + "\"}";
+ String respObject = "{\"" + pathLengthParam +
"\":\"${path.get(\\\"dummyGrandChild\\\").length}\",\"" + testBindingLength +
"\":\"${" + testBinding + ".length}\"}";
SlingHttpServletRequest request =
mockPlumberServletRequest(context.resourceResolver(),
dummyTreePath, null, bindings.toString(), respObject.toString(), null, null);
servlet.execute(request, response, false);
assertDummyTree();
- JSONObject response = new JSONObject(stringResponse.toString());
- JSONArray array = response.getJSONArray(OutputWriter.KEY_ITEMS);
- for (int i = 0; i < array.length(); i++) {
- JSONObject object = array.optJSONObject(i);
+ JsonObject response = Json.createReader(new
StringReader(stringResponse.toString())).readObject();
+ JsonArray array = response.getJsonArray(OutputWriter.KEY_ITEMS);
+ for (int i = 0; i < array.size(); i++) {
+ JsonObject object = array.getJsonObject(i);
assertNotNull("there should be an object returned at each time",
object);
- String path = object.optString(CustomWriter.PATH_KEY);
+ String path = object.getString(CustomWriter.PATH_KEY);
assertNotNull("the string path should be returned for each item,
containing the path of the resource");
- String pathLength = object.optString(pathLengthParam);
+ String pathLength = object.getString(pathLengthParam);
assertNotNull("there should be a pathLength param, as specified in
the writer", pathLength);
assertEquals("Pathlength should be the string representation of
the path length", path.length() + "", pathLength);
- String testBindingLengthValue =
object.optString(testBindingLength);
+ String testBindingLengthValue =
object.getString(testBindingLength);
assertNotNull("testBindingLength should be there",
testBindingLengthValue);
assertEquals("testBindingLength should be the string
representation of the additional binding length",
bindingValue.length() + "", testBindingLengthValue);
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/RemovePipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/RemovePipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/RemovePipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/RemovePipeTest.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,15 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Iterator;
+
+import javax.jcr.Node;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
@@ -24,11 +33,6 @@ import org.apache.sling.pipes.Pipe;
import org.junit.Before;
import org.junit.Test;
-import javax.jcr.Node;
-import java.util.Iterator;
-
-import static org.junit.Assert.*;
-
/**
* testing removal
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/SlingQueryPipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/SlingQueryPipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/SlingQueryPipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/SlingQueryPipeTest.java
Wed May 31 20:51:17 2017
@@ -16,12 +16,12 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertTrue;
+
import org.apache.sling.pipes.AbstractPipeTest;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertTrue;
-
/**
* test the sling query pipe
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/WritePipeTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/WritePipeTest.java?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/WritePipeTest.java
(original)
+++
sling/trunk/contrib/extensions/sling-pipes/src/test/java/org/apache/sling/pipes/internal/WritePipeTest.java
Wed May 31 20:51:17 2017
@@ -16,6 +16,17 @@
*/
package org.apache.sling.pipes.internal;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Iterator;
+
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.pipes.AbstractPipeTest;
@@ -23,12 +34,6 @@ import org.apache.sling.pipes.Pipe;
import org.junit.Before;
import org.junit.Test;
-import javax.jcr.Node;
-import javax.jcr.NodeIterator;
-import java.util.Iterator;
-
-import static org.junit.Assert.*;
-
/**
* test write
*/
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/resources/filter.json
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/resources/filter.json?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-pipes/src/test/resources/filter.json
(original)
+++ sling/trunk/contrib/extensions/sling-pipes/src/test/resources/filter.json
Wed May 31 20:51:17 2017
@@ -75,5 +75,5 @@
"jcr:primaryType":"nt:unstructured",
"slingPipesFilter_test":"${false}"
}
- },
+ }
}
\ No newline at end of file
Modified:
sling/trunk/contrib/extensions/sling-pipes/src/test/resources/json.json
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/test/resources/json.json?rev=1797108&r1=1797107&r2=1797108&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-pipes/src/test/resources/json.json
(original)
+++ sling/trunk/contrib/extensions/sling-pipes/src/test/resources/json.json Wed
May 31 20:51:17 2017
@@ -25,7 +25,7 @@
"weather": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "slingPipes/json",
- "expr": "{'query':{'ro':{'city':'Bucharest','temp':'12°'},
'fr':{'city':'Paris','temp':'13°'}}}}"
+ "expr": "{'query':{'ro':{'city':'Bucharest','temp':'12°'},
'fr':{'city':'Paris','temp':'13°'}}}"
},
"write": {
"jcr:primaryType": "nt:unstructured",