Hi, 2011/4/6 Alessandro Adamou <[email protected]>: > I would like to ask for some opinion/advice on classes that should be moved > out of kres.jersey : > > * Writers: there are some in commons.base that we had as ducplicates and > will gladly drop in favor of common ones. There are a few more in > kres.jersey, though: > ** JenaModelWriter : serializes a Jena Model into {"application/rdf+xml", > "application/xml", "text/xml"} > ** JSONJenaWriter, perhaps we could use JsonLdSerializerProvider from > commons.web.home instead?
You can contribute your own serializers. Have a look at entityhub/jersey which also contributes some serializers. And of course you should re-use serializer where appropriate. > * JerseyEndpoint : we register Clerezza TcManager and Serializer with the > servlet context. Perhaps this could be done in the commons.web jersey > endpoint? Have a look at entityhub/jersey and see how this is done there. > * KRFormat: we have this class with MIME constants for formats such as > RDF/XML, OWL/XML, manchester OWL, Turtle, RDF/JSON, OWL functional syntax > etc. We use it extensively in former Kres webservices, would it make sense > to move to commons.web? So these are non-standard mime-types not defined by any class yet? I think yes - such things should be moved to commons/base. - Fabian > Thanks > > Alessandro > > > On 4/4/11 3:28 PM, Olivier Grisel wrote: >> >> Hi all, >> >> I have finally managed to merge the HTTP endpoint refactoring branch to >> trunk. >> >> I plan to write a hands on developer guide on the stanbol site to help >> other developers use this modular JAX-RS services + webapp but won't >> have time before the IKS review meeting this week. In the mean time >> here is a quick overview of the system: >> >> >> https://svn.apache.org/repos/asf/incubator/stanbol/trunk/commons/web/README.txt >> >> As I know people are lazy and won't click on my link, here is a copy >> and paste of the content of this file: >> >> Stanbol HTTP Endpoints >> ====================== >> >> The following bundles provide the base infrastructure for building a >> consistent set JAX-RS based HTTP endpoints (RESTful webservices) to >> publish services implemented by the various OSGi bundles of a Stanbol >> distribution. >> >> The general convention is to make each endpoint self-documented by >> implementing a @GET annotated method that "Accept: text/html" and return >> an HTML page that explains how the endpoint works and give usage examples >> with the `curl` commandline tool and HTML forms to quickly test the >> service from inside the browser. >> >> - `stanbol/commons/web/base` provides the java interface and OSGi / >> JAX-RS context >> bridging tooling but not actual JAX-RS resources >> >> - `stanbol/commons/web/home` provides a simple resource for the home page >> and >> default CSS / icons and base freemarker template to be reused by other >> Stanbol >> JAX-RS resources for consistent look and feel accross the all >> documentation. >> >> - `stanbol/commons/web/sparql` provides a sample JAX-RS resource to >> publish >> access to the registered clerezza triple stores using the standardized >> SPARQL >> HTTP endpoint API. >> >> TODO: write the documentation to contribute new endpoints that reuse the >> styling >> and menu navigation of the default components. >> >> > > -- Fabian
