Hi guys, I need an advice from Sling experts.

I need a JSONP renderer for Sling, initially I thought I had to develop only
one, but after I discovered that in effect Sling has two renderer for JSON,
one for plain resources and one for query.

These two renderer are in private packages in a Sling Bundle, and because
JSONP and JSON are quite equals and I wanted to reuse as much as possible, I
started thinking about strategies to call them.

The JsonQueryServlet is deployed as an OSGi Component, so I was able to
inject it using Felix SCR Annotation (querying for his properties), and then
I called his service() method inside my doGet:

     servlet.service(req, resp);

For the JsonRendererServlet instead I used another strategy.

I extracted the RequestPathInfo from the SlingHttpServletRequest and the I
included it using RequestDispatcher:

     String jsonPath = calculateIt(req);

     req.getRequestDispatcher(jsonPath).include(req, resp);

Now both of these two are working, but I have a bad taste.

Which of this is the best approach ?? The first ?? The second ?? None of
them ???


-- 
****************************************
http://www.lucamasini.net
http://twitter.com/lmasini
http://www.linkedin.com/pub/luca-masini/7/10/2b9
****************************************

Reply via email to