Right, you need to do 2 different pipes for prop1 and prop2 here, as there are clearly 2 different streams here, and shouldn’t be queued.
the sequence is in your script calling 2 curl :-), or if you really want to do it in one curl, you can still create a servlet chaining those 2 pipes: Pipe prop1Transform = plumberService.getPipe(resourceProp1Transform); Pipe prop2Transform = plumberService.getPipe(resourceProp1Transform); prop1Transform.getOutput(); prop2Transform.getOutput(); resolver.commit(); But as you did it here, prop2 pipe is expecting the output of moveProp1. another thing: does subNode-1 always exist? If not you might want to create that structure by inserting before the move pipe a PathPipe (with autoSave to true that will slows the process but no real choice here). Nicolas > On 14 Jan 2016, at 19:48, DIRAN SAMARJIAN <hea60...@adobe.com> wrote: > > Hi Nicolas, > > Yes, the issue we are having is not to cut the execution stream if a single > pipe fails. We basically have a grouping of pipes in a container pipe but I > can see by design the container pipe stops execution if any intermediate pipe > fails. Is there an alternative way to group pipes together to be able to run > the entire set regardless if any intermediate steps fail? > > Here is the relevant config: > > { > "jcr:primaryType": "sling:OrderedFolder", > "jcr:createdBy": "admin", > "jcr:created": "Mon Dec 21 2015 21:04:54 GMT-0800", > "name": "Prop transform", > "jcr:description": "move some props", > "sling:resourceType": "slingPipes/container", > "conf": { > "jcr:primaryType": "nt:unstructured", > "prop1": { > "jcr:primaryType": "nt:unstructured", > "expr": "/jcr:root/content//*[jcr:contains(., > 'base/components/content/testcomp') and @item1_title]", > "path": "/content", > "sling:resourceType": "slingPipes/xpath" > }, > "moveProp1": { > "jcr:primaryType": "nt:unstructured", > "expr": "${path.prop1}/subNode-1/newTitle", > "path": "${path.prop1}/item1_title", > "sling:resourceType": "slingPipes/mv" > }, > "prop2": { > "jcr:primaryType": "nt:unstructured", > "expr": "/jcr:root/content//*[jcr:contains(., > 'base/components/content/testcomp') and @item1_description]", > "path": "/content", > "sling:resourceType": "slingPipes/xpath" > }, > "moveProp2": { > "jcr:primaryType": "nt:unstructured", > "expr": "${path.prop2}/subNode-1/newDescription", > "path": "${path.prop2}/item1_description", > "sling:resourceType": "slingPipes/mv" > } > } > } > >> On Jan 14, 2016, at 2:00 AM, Nicolas Peltier <npelt...@adobe.com> wrote: >> >> Hey Ruben! >> >> including sling users DL here. >> >> if i understand it correctly, you wish to move several properties from a >> same node in different things, >> >>> Eg if the property does not exist, skip the move? >> >> Is the problem you have here not to cut the execution stream if one of the >> property does not exist? >> >> Can you share a bit more what you are trying to achieve? Ideally paste your >> pipe in this thread (with .tidy.infinity.json)? >> >> Thx, >> Nicolas >> >> >>> On 14 Jan 2016, at 01:29, Ruben Ruesser <hea33...@adobe.com> wrote: >>> >>> Nicolas, >>> >>> We’re playing a bit with sling pipes – we have a couple of move operations >>> for properties but see that sling pipes stops whenever a property does not >>> exist. Is there a way to do a conditional move. Eg if the property does not >>> exist, skip the move? >>> >>> thanks >>> >>> Ruben Reusser.