Never mind on this. I opted for a event handler for a watch folder and a 
JobConsumer to do the actual work. (One of Bertrand's original suggestions)

One thing I have to comment on regrading working with sling as compared to 
spring or any other java framework. It just works. I'm amazed at how little 
fuss it took to get this working. No pondering for hours of multiple xml files 
wondering what magic incantation I'm missing.

Thanks for the great support too. Everyone on this NG is extremely helpful.

-Bruce

From: Bruce Edge 
<[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Friday, November 14, 2014 at 11:39 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Re: SlingServlet paths/resourceType/etc for POST to nonexistent URLs 
in JCR

I went with the servlet option initially because I need to process the posted 
data file before writing into the JCR. The data consists of a collection of zip 
files, all of which need to be unpacked prior to adding to the JCR. IOW the JCR 
should contain the fully expanded data using the same hierarchical structure as 
is present in the zip of zips included in the POST data along with some added 
properties for various file types.

Is this still feasible with the built-in content creation mechanism or do I 
need to stick with the servlet?

thanks

-Bruce

From: Jason Bailey 
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]><mailto:[email protected]>"
 
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
Date: Friday, November 14, 2014 at 10:09 AM
To: 
"[email protected]<mailto:[email protected]><mailto:[email protected]>"
 
<[email protected]<mailto:[email protected]><mailto:[email protected]>>
Subject: RE: SlingServlet paths/resourceType/etc for POST to nonexistent URLs 
in JCR

Bruce,

How you would do this depends in part on what that servlet does that's 
listening at /var/cars/

If you have all the data that is supposed to be at a particular path then 
removing that custom servlet and using the built in content creation process 
detailed at 
http://sling.apache.org/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.html
Is probably your best bet.

So that something like this

curl -u admin:admin -F key1=value1 -F key2=value2 -F key3=value3 -F 
data=@filename localhost:8080/var/cars/fiat/124-F/1970

would generate that file structure, add all the keys and values as properties 
on the 1970 node and put your file beneath 1970.

-Jason

-----Original Message-----
From: Bruce Edge [mailto:[email protected]]
Sent: Friday, November 14, 2014 10:23 AM
To: 
[email protected]<mailto:[email protected]><mailto:[email protected]>
Subject: SlingServlet paths/resourceType/etc for POST to nonexistent URLs in JCR

I have a SlingServlet working with a fixed length path, using 
sling.servlet.paths=/var/cars.

Under this I have a fixed format hierarchy consisting of make, model, year. I 
can populate by passing make, model, year and data as POST parameters.
curl -u admin:admin -F make=fiat -F model=124 -F year=1970 -F data=@filename 
localhost:8080/var/cars/

I'd like to handle POSTs to any path below the servlet's base path, e.g.:
/var/cars/{make}/{model}/{year}
eg:
curl -u admin:admin  -F date=@filename localhost:8080 
/var/cars/content/fiat/124/1970

I don't see a way to specify paths beyond the base without something kludgy 
like appending the make/model/year after a selector, i.e.:
/var/cars.json/fiat/124/1970

What's the recommended SlingServlet solution for pushing data into a sparse 
tree with lots of path name components?

-Bruce



Reply via email to