Author: olli
Date: Mon Oct 10 07:23:33 2016
New Revision: 1764022

URL: http://svn.apache.org/viewvc?rev=1764022&view=rev
Log:
SLING-6122 Sling Pipes javadoc fails

patch from Nicolas Peltier

Modified:
    
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/BasePipe.java
    
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/internal/AuthorizablePipe.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/WritePipe.java

Modified: 
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/BasePipe.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/BasePipe.java?rev=1764022&r1=1764021&r2=1764022&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/BasePipe.java
 (original)
+++ 
sling/trunk/contrib/extensions/sling-pipes/src/main/java/org/apache/sling/pipes/BasePipe.java
 Mon Oct 10 07:23:33 2016
@@ -29,7 +29,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * provides generic utilities for a pipe
+ * provides generic utilities for a pipe, is also a dummy pipe (outputs its 
input, without changing anything)
  */
 public class BasePipe implements Pipe {
 
@@ -67,6 +67,12 @@ public class BasePipe implements Pipe {
 
     private String name;
 
+    /**
+     * Pipe Constructor
+     * @param plumber plumber
+     * @param resource configuration resource
+     * @throws Exception in case configuration is not working
+     */
     public BasePipe(Plumber plumber, Resource resource) throws Exception {
         this.resource = resource;
         properties = resource.adaptTo(ValueMap.class);
@@ -77,6 +83,7 @@ public class BasePipe implements Pipe {
         bindings = new PipeBindings(resource);
     }
 
+    @Override
     public boolean isDryRun() {
         if (dryRunObject == null) {
             Object run =  bindings.isBindingDefined(DRYRUN_KEY) ? 
bindings.instantiateObject(DRYRUN_EXPR) : false;
@@ -86,6 +93,7 @@ public class BasePipe implements Pipe {
         return dryRun;
     }
 
+    @Override
     public String toString() {
         return name + " " + "(path: " + resource.getPath() + ", dryRun: " + 
isDryRun() + ", modifiesContent: " + modifiesContent() + ")";
     }
@@ -95,13 +103,14 @@ public class BasePipe implements Pipe {
         return false;
     }
 
+    @Override
     public String getName(){
         return name;
     }
 
     /**
      * Get pipe's expression, instanciated or not
-     * @return
+     * @return configured expression
      */
     public String getExpr(){
         String rawExpression = properties.get(PN_EXPR, "");
@@ -110,7 +119,7 @@ public class BasePipe implements Pipe {
 
     /**
      * Get pipe's path, instanciated or not
-     * @return
+     * @return configured path (can be empty)
      */
     public String getPath() {
         String rawPath = properties.get(PN_PATH, "");
@@ -130,8 +139,12 @@ public class BasePipe implements Pipe {
         return configuredInput;
     }
 
+    /**
+     * Retrieves previous pipe if contained by a parent, or referrer's
+     * @return pipe before this one or the referrer's can be null in case 
there is no parent
+     */
     protected Pipe getPreviousPipe(){
-        return referrer == null ? parent.getPreviousPipe(this) : 
referrer.getPreviousPipe();
+        return referrer == null ? (parent != null ? 
parent.getPreviousPipe(this) : null) : referrer.getPreviousPipe();
     }
 
     @Override
@@ -170,7 +183,7 @@ public class BasePipe implements Pipe {
 
     /**
      * default execution, just returns current resource
-     * @return
+     * @return output of this pipe, which is here the input resource
      */
     public Iterator<Resource> getOutput(){
         Resource resource = getInput();
@@ -182,7 +195,7 @@ public class BasePipe implements Pipe {
 
     /**
      * Get configuration node
-     * @return
+     * @return configuration node if any
      */
     public Resource getConfiguration() {
         return resource.getChild(NN_CONF);
@@ -198,5 +211,8 @@ public class BasePipe implements Pipe {
         referrer = pipe;
     }
 
+    /**
+     * Empty resource iterator
+     */
     public static final Iterator<Resource> EMPTY_ITERATOR = 
Collections.emptyIterator();
 }

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -42,6 +42,12 @@ public class ContainerPipe extends BaseP
 
     List<Pipe> reversePipeList = new ArrayList<>();
 
+    /**
+     * Constructor
+     * @param plumber plumber
+     * @param resource container's configuration resource
+     * @throws Exception bad configuration handling
+     */
     public ContainerPipe(Plumber plumber, Resource resource) throws Exception{
         super(plumber, resource);
         for (Iterator<Resource> childPipeResources = 
getConfiguration().listChildren(); childPipeResources.hasNext();){
@@ -77,8 +83,8 @@ public class ContainerPipe extends BaseP
 
     /**
      * Returns the pipe immediately before the given pipe, null if it's the 
first
-     * @param pipe
-     * @return
+     * @param pipe given pipe
+     * @return previous pipe of the param
      */
     public Pipe getPreviousPipe(Pipe pipe){
         Pipe previousPipe = null;
@@ -93,7 +99,7 @@ public class ContainerPipe extends BaseP
 
     /**
      * Return the first pipe in the container
-     * @return
+     * @return first pipe of the container
      */
     public Pipe getFirstPipe() {
         return pipeList.iterator().next();
@@ -101,13 +107,17 @@ public class ContainerPipe extends BaseP
 
     /**
      * Return the last pipe in the container
-     * @return
+     * @return pipe in the last position of the container's pipes
      */
     public Pipe getLastPipe() {
         return reversePipeList.iterator().next();
     }
 
-    public Resource getOuputResource() {
+    /**
+     * output resource of the container pipe
+     * @return output resource of the last pipe of the container
+     */
+    public Resource getOutputResource() {
         return bindings.getExecutedResource(getLastPipe().getName());
     }
 
@@ -132,6 +142,10 @@ public class ContainerPipe extends BaseP
         boolean hasNext = false;
         int cursor = 0;
 
+        /**
+         * Constructor
+         * @param containerPipe corresponding container pipe
+         */
         ContainerResourceIterator(ContainerPipe containerPipe) {
             container = containerPipe;
             bindings = container.bindings;
@@ -144,7 +158,7 @@ public class ContainerPipe extends BaseP
         /**
          * go up and down the container iterators until cursor is at 0 (first 
pipe) with no
          * more resources, or at length - 1 (last pipe) with a next one
-         * @return
+         * @return true if cursor has been updated
          */
         private boolean updateCursor(){
             Pipe currentPipe = container.pipeList.get(cursor);

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -34,25 +34,33 @@ public interface OutputWriter {
 
     /**
      *
-     * @param request
-     * @return
+     * @param request current request
+     * @return true if this writer handles that request
      */
     boolean handleRequest(SlingHttpServletRequest request);
 
     /**
-     * Init the writer
-     * @param response
+     * Init the writer, writes beginning of the output
+     * @param request request from which writer will output
+     * @param response response on which writer will output
+     * @param pipe pipe whose output will be written
+     * @throws IOException error handling streams
+     * @throws JSONException in case invalid json is written
      */
     void init(SlingHttpServletRequest request, SlingHttpServletResponse 
response, Pipe pipe) throws IOException, JSONException;
 
     /**
      * Write a given resource
-     * @param resource
+     * @param resource resource that will be written
+     * @throws JSONException in case write fails
      */
     void writeItem(Resource resource) throws JSONException;
 
     /**
-     * ends write
+     * writes the end of the output
+     * @param size size of the overall result
+     * @throws JSONException in case invalid json is written
      */
+
     void ends(int size) throws JSONException;
-}
\ No newline at end of file
+}

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -48,77 +48,80 @@ public interface Pipe {
 
     /**
      * returns true if that pipe will modify content during its execution
-     * @return
+     * @return true for write / false for read
      */
     boolean modifiesContent();
 
     /**
      * returns true if that pipe is set not to write content
-     * @return
+     * @return true if dry run, false otherwise
      */
     boolean isDryRun();
 
     /**
      * Return the name of that pipe
-     * @return
+     * @return name of the pipe
      */
     String getName();
 
     /**
-     * Set parent
+     * set the pipe parent
+     * @param parent container pipe
      */
     void setParent(ContainerPipe parent);
 
     /**
      * Return parent's pipe (can be null)
-     * @return
+     * @return pipe's container parent
      */
     ContainerPipe getParent();
 
     /**
      * Get the pipe's optional configured resource or null
-     * @return
+     * @return input if configured
      */
     Resource getConfiguredInput();
 
     /**
      * Get pipe current's resource *before* next execution, meaning either the
      * configured resource, either previous' pipe output resource
-     * @return
+     * @return input, configured or previous pipe
      */
     Resource getInput();
 
     /**
      * returns the binding output used in container pipe's expression
-     * @return
+     * @return object, either value map or something else, that will be used 
in nashorn for computing expressions
      */
     Object getOutputBinding();
 
     /**
      * returns the pipe's bindings
-     * @return
+     * @return PipeBindings instance containing all bindings of that pipe
      */
     PipeBindings getBindings();
 
     /**
      * set the pipe's bindings
+     * @param bindings bindings to set
      */
     void setBindings(PipeBindings bindings);
 
     /**
      * Executes the pipe, can be contained in a parent or not
-     * @return
+     * @return iterator of resource resulting from execution of this pipe
      */
     Iterator<Resource> getOutput();
 
     /**
      * Get Distribution agent
+     * @return configured distribution agent
      */
     String getDistributionAgent();
 
     /**
      * sets the reference pipe this pipe is referred by
-     * @param pipe
+     * @param pipe referrer that refers to this instance
      */
     void setReferrer(ReferencePipe pipe);
-}
\ No newline at end of file
+}

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -41,7 +41,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Execution bindings of a pipe
+ * Execution bindings of a pipe, and all expression related
  */
 public class PipeBindings {
     private static final Logger log = 
LoggerFactory.getLogger(PipeBindings.class);
@@ -63,7 +63,8 @@ public class PipeBindings {
     private static final Pattern INJECTED_SCRIPT = 
Pattern.compile("\\$\\{(([^\\{^\\}]*(\\{[0-9,]+\\})?)*)\\}");
 
     /**
-     * public constructor
+     * public constructor, built from pipe's resource
+     * @param resource pipe's configuration resource
      */
     public PipeBindings(Resource resource){
         engine.setContext(scriptContext);
@@ -93,8 +94,8 @@ public class PipeBindings {
 
     /**
      * add a script file to the engine
-     * @param resolver
-     * @param path
+     * @param resolver resolver with which the file should be read
+     * @param path path of the script file
      */
     public void addScript(ResourceResolver resolver, String path) {
         InputStream is = null;
@@ -126,21 +127,25 @@ public class PipeBindings {
 
     /**
      * adds additional bindings (global variables to use in child pipes 
expressions)
-     * @param bindings
+     * @param bindings key/values bindings to add to the existing bindings
      */
     public void addBindings(Map bindings) {
         log.info("Adding bindings {}", bindings);
         getBindings().putAll(bindings);
     }
 
+    /**
+     * copy bindings
+     * @param original original bindings to copy
+     */
     public void copyBindings(PipeBindings original){
         getBindings().putAll(original.getBindings());
     }
 
     /**
      * Update current resource of a given pipe, and appropriate binding
-     * @param pipe
-     * @param resource
+     * @param pipe pipe we'll extract the output binding from
+     * @param resource current resource in the pipe execution
      */
     public void updateBindings(Pipe pipe, Resource resource) {
         outputResources.put(pipe.getName(), resource);
@@ -150,23 +155,37 @@ public class PipeBindings {
         addBinding(pipe.getName(), pipe.getOutputBinding());
     }
 
+    /**
+     * add a binding
+     * @param name binding's name
+     * @param value binding's value
+     */
     public void addBinding(String name, Object value){
         log.debug("Adding binding {}={}", name, value);
         getBindings().put(name, value);
     }
 
+    /**
+     * check if a given bindings is defined or not
+     * @param name name of the binding
+     * @return true if <code>name</code> is registered
+     */
     public boolean isBindingDefined(String name){
         return getBindings().containsKey(name);
     }
 
+    /**
+     * return registered bindings
+     * @return bindings
+     */
     public Bindings getBindings() {
         return scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
     }
 
     /**
      * Doesn't look like nashorn likes template strings :-(
-     * @param expr
-     * @return
+     * @param expr ECMA like expression <code>blah${'some' + 'ecma' + 
'expression'}</code>
+     * @return computed expression
      */
     protected String computeECMA5Expression(String expr){
         Matcher matcher = INJECTED_SCRIPT.matcher(expr);
@@ -198,10 +217,10 @@ public class PipeBindings {
     }
 
     /**
-     *
-     * @param expr
-     * @return
-     * @throws ScriptException
+     * evaluate a given expression
+     * @param expr ecma like expression
+     * @return object that is the result of the expression
+     * @throws ScriptException in case the script fails, an exception is 
thrown (to let call code the opportunity to stop the execution)
      */
     protected Object evaluate(String expr) throws ScriptException {
         String computed = computeECMA5Expression(expr);
@@ -215,8 +234,8 @@ public class PipeBindings {
     /**
      * Expression is a function of variables from execution context, that
      * we implement here as a String
-     * @param expr
-     * @return
+     * @param expr ecma like expression
+     * @return String that is the result of the expression
      */
     public String instantiateExpression(String expr){
         try {
@@ -229,8 +248,8 @@ public class PipeBindings {
 
     /**
      * Instantiate object from expression
-     * @param expr
-     * @return
+     * @param expr ecma expression
+     * @return instantiated object
      */
     public Object instantiateObject(String expr){
         try {
@@ -254,9 +273,9 @@ public class PipeBindings {
     }
 
     /**
-     *
-     * @param name
-     * @return
+     * return Pipe <code>name</code>'s output binding
+     * @param name name of the pipe
+     * @return resource corresponding to that pipe output
      */
     public Resource getExecutedResource(String name) {
         return outputResources.get(name);

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -32,8 +32,8 @@ public interface Plumber {
 
     /**
      * Instantiate a pipe from the given resource and returns it
-     * @param resource
-     * @return
+     * @param resource configuration resource
+     * @return pipe instantiated from the resource, null otherwise
      */
     Pipe getPipe(Resource resource);
 
@@ -43,8 +43,8 @@ public interface Plumber {
      * @param path path of a valid pipe configuration
      * @param bindings bindings to add to the execution of the pipe, can be 
null
      * @param save in case that pipe writes anything, wether the plumber 
should save changes or not
-     *
-     * @return
+     * @throws Exception in case execution fails
+     * @return set of paths of output resources
      */
     Set<String> execute(ResourceResolver resolver, String path, Map bindings, 
boolean save) throws Exception;
 
@@ -54,23 +54,25 @@ public interface Plumber {
      * @param pipe pipe to execute
      * @param bindings bindings to add to the execution of the pipe, can be 
null
      * @param save in case that pipe writes anything, wether the plumber 
should save changes or not
-     *
-     * @return
+     * @throws Exception in case execution fails
+     * @return set of paths of output resources
      */
     Set<String> execute(ResourceResolver resolver, Pipe pipe, Map bindings, 
boolean save) throws Exception;
 
     /**
      * Persist some pipe changes, and eventually distribute changes
-     * @param resolver
+     * @param resolver resolver with which changes will be persisted
      * @param pipe pipe from which the change occurred
      * @param paths set of changed paths
+     * @throws PersistenceException in case persisting fails
      */
+
     void persist(ResourceResolver resolver, Pipe pipe, Set<String> paths) 
throws PersistenceException;
 
     /**
      * Registers
-     * @param type
-     * @param pipeClass
+     * @param type resource type of the pipe to register
+     * @param pipeClass class of the pipe to register
      */
     void registerPipe(String type, Class<? extends BasePipe> pipeClass);
 

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -29,7 +29,6 @@ import org.apache.sling.pipes.Plumber;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.jcr.RepositoryException;
 import java.util.Collections;
 import java.util.Iterator;
 
@@ -65,6 +64,12 @@ public class AuthorizablePipe extends Ba
         return autoCreateGroup || StringUtils.isNotBlank(addToGroup) || 
StringUtils.isNotBlank(addMembers);
     }
 
+    /**
+     * public constructor
+     * @param plumber plumber instance
+     * @param resource configuration resource
+     * @throws Exception bad configuration handling
+     */
     public AuthorizablePipe(Plumber plumber, Resource resource) throws 
Exception {
         super(plumber, resource);
         resolver = resource.getResourceResolver();
@@ -105,8 +110,7 @@ public class AuthorizablePipe extends Ba
      * Returns the authorizable configured by its expression, creating it if
      * not present and if <code>autoCreateGroup</code> is set to true, or, if
      * no expression, tries to resolve getInput() as an authorizable
-     * @return
-     * @throws RepositoryException
+     * @return corresponding authorizable
      */
     protected Authorizable getAuthorizable() {
         Authorizable auth = null;
@@ -133,7 +137,7 @@ public class AuthorizablePipe extends Ba
 
     /**
      * Add current authorizable to configured addToGroup expression (should 
resolve as a group id)
-     * @param auth
+     * @param auth authorizable to add to the group
      */
     protected void addToGroup(Authorizable auth){
         try {
@@ -154,7 +158,7 @@ public class AuthorizablePipe extends Ba
 
     /**
      * Add to current authorizable (that should be a group) the configured 
members in addMembers expression
-     * @param auth
+     * @param auth group to which members should be added
      */
     protected void addMembers(Authorizable auth) {
         try {
@@ -184,7 +188,7 @@ public class AuthorizablePipe extends Ba
 
     /**
      * add current group's members to the bindings
-     * @param auth
+     * @param auth group whose members should be bound in the pipe bindings
      */
     protected void bindMembers(Authorizable auth){
         try {

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -76,8 +76,8 @@ public class JsonPipe extends BasePipe {
     }
 
     /**
-     * Retrieve remote JSON String, or null if any problem occurs
-     * @return
+     * Retrieve remote / expression JSON String, or null if any problem occurs
+     * @return JSON serialization of the result
      */
     private String retrieveJSONString()  {
         String json = null;
@@ -119,7 +119,8 @@ public class JsonPipe extends BasePipe {
 
     /**
      * in case there is no successful retrieval of some JSON data, we cut the 
pipe here
-     * @return
+     * @return input resource of the pipe, can be reouputed N times in case 
output json binding is an array of
+     * N element (output binding would be here each time the Nth element of 
the array)
      */
     public Iterator<Resource> getOutput() {
         Iterator<Resource> output = EMPTY_ITERATOR;

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=1764022&r1=1764021&r2=1764022&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
 Mon Oct 10 07:23:33 2016
@@ -49,6 +49,12 @@ public class WritePipe extends BasePipe
     Pattern addPatch = Pattern.compile("\\+\\[(.*)\\]");
     Pattern multi = Pattern.compile("\\[(.*)\\]");
 
+    /**
+     * public constructor
+     * @param plumber plumber instance
+     * @param resource configuration resource
+     * @throws Exception bad configuration handling
+     */
     public WritePipe(Plumber plumber, Resource resource) throws Exception {
         super(plumber, resource);
         if (getConfiguration() == null){
@@ -59,9 +65,13 @@ public class WritePipe extends BasePipe
     }
 
     /**
-     * convert the configured value in an actual one
-     * @param expression
-     * @return
+     * convert the configured value (can be an expression) in a value that can 
be written in a resource.
+     * also handles patch for multivalue properties like <code>+[value]</code> 
in which case <code>value</code>
+     * is added to the MV property
+     * @param resource resource to which value will be written
+     * @param key property to which value will be written
+     * @param expression configured value to write
+     * @return actual value to write to the resource
      */
     protected Object computeValue(Resource resource, String key, Object 
expression) {
         if (expression instanceof String) {
@@ -98,9 +108,9 @@ public class WritePipe extends BasePipe
      * Write properties from the configuration to the target resource,
      * instantiating both property names & values
      *
-     * @param conf
-     * @param target
-     * @throws RepositoryException
+     * @param conf configured resource that holds all properties to write (and 
children)
+     * @param target target resource on which configured values will be written
+     * @throws RepositoryException issues occuring when traversing nodes
      */
     private void copyProperties(Resource conf, Resource target) throws 
RepositoryException {
         ValueMap writeMap = conf.adaptTo(ValueMap.class);
@@ -129,7 +139,7 @@ public class WritePipe extends BasePipe
 
     /**
      * we store all property to remove for very last moment (in order to 
potentially reuse their value)
-     * @param property
+     * @param property property resource that should be removed
      */
     private void addPropertyToRemove(Resource property){
         if (property != null) {
@@ -142,8 +152,8 @@ public class WritePipe extends BasePipe
 
     /**
      * write the configured tree at the target resource, creating each node if 
needed, copying values.
-     * @param conf
-     * @return
+     * @param conf configuration JCR tree to write to target resource
+     * @param target target resource to write
      */
     private void writeTree(Node conf, Resource target) throws 
RepositoryException {
         copyProperties(resolver.getResource(conf.getPath()), target);


Reply via email to