On Fri, Sep 2, 2011 at 1:06 PM, Reto Bachmann-Gmür <[email protected]> wrote:
> On Fri, Sep 2, 2011 at 6:22 PM, Luciano Resende <[email protected]> wrote:
> ...
>>> The second requirements might need a bit more explanation. In sling
>>> servlets are typically bound to a type of JCR-resources even though
>>> this goes beyond the jax-rs spec it would be nice to bind jax-rs style
>>> classes to such a JCR-resource type, the patch I attached to
>>> SLING-2192 allows this, see my blog post [2] for an example usage.
>>> Similarly in Clerezza jax-rs style resource can be bound to an
>>> RDF-Type [3].
>>>
>>
>> As for your second example, maybe a simple way would be to have
>> JCR-resource types defined as specific media types, in this way, you
>> could envision having a single endpoint for CRUD operations in your
>> JCR repository to work based on the media type being requested. WDYT ?
>
> Hi Luciano,
>
> I must admit that I don't know as much of jcr and sling as I know
> about clerezza. Not sure if I understand you correctly, but the
> jcr:type of resource (which can be an arbitrary string) seems
> orthogonal to the media type: on one hand we have the selection of the
> root-resource on the other the production of an appropriate
> representation.
>
> Sling has a mechanism that has shown to work well that associates code
> handling the request to a specific URI, without changing this
> mechanism I'd like support for jax-rs root resource like classes
> ("like" because the @Path-Annotation are missing or ignored) as an
> alternative to servlets or scripts. I think Wink should not directly
> support other ways to bind resource-classes to URI than @Path, but it
> should provide an easy way for frameworks integrating wink (like sling
> or clerezza) to support other mechanisms.
>
> To avoid osgi-dependencies in wink-server I suggest providing an
> wink-osgi-service bundle that provides a service with the following
> methods
>
> //handles a request using previously bound root resources
> void handleRequest(HttpServletRequest request, HttpServletResponse response)
>
> //that's the method that allows easy integration with Sling or Clerezza
> void handleRequest(HttpServletRequest request, HttpServletResponse
> response, Object rootResource)
>
> //bind root resource or provider, binding classes seems against OSGi
> architecture
> void bindComponent(Object component)
>
> void unbindComponent(Object component)
>
> //framework supporting other request processing mechanism can use this
> method to check if Wink can handle a request (with the currently bound
> root resources)
> boolean hasRootResourceForUriPath(String uriPath)
>
> Do you think a new module providing such a bundle and service would
> fit into Wink? If so I'll open an issue and attach a patch to it. It
> can be implemented without modifying other code, even though in future
> the existing RequestProcessor might be adapted for a more seamless
> integration.

Is this new module have any Sling or Clerezza dependencies ?


-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Reply via email to