MARMOTTA-556: fixed and improved some details
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/d99de515 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/d99de515 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/d99de515 Branch: refs/heads/MARMOTTA-556 Commit: d99de51535956341d031d122a9dfa17fc100495c Parents: 205d4c1 Author: Sergio Fernández <[email protected]> Authored: Fri Oct 24 21:08:57 2014 +0200 Committer: Sergio Fernández <[email protected]> Committed: Fri Oct 24 21:08:57 2014 +0200 ---------------------------------------------------------------------- .../platform/ldf/services/LdfServiceImpl.java | 2 +- .../platform/ldf/webservices/LdfWebService.java | 59 +++++++++++--------- 2 files changed, 35 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/d99de515/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/services/LdfServiceImpl.java ---------------------------------------------------------------------- diff --git a/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/services/LdfServiceImpl.java b/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/services/LdfServiceImpl.java index dc8fd7c..3f906da 100644 --- a/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/services/LdfServiceImpl.java +++ b/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/services/LdfServiceImpl.java @@ -104,7 +104,6 @@ public class LdfServiceImpl implements LdfService { writeFragment(subject, predicate, object, context, page, format, out); } - @Override public void writeFragment(URI subject, URI predicate, Value object, Resource context, int page, RDFFormat format, OutputStream out) throws RepositoryException { final RepositoryConnection conn = sesameService.getConnection(); @@ -119,4 +118,5 @@ public class LdfServiceImpl implements LdfService { conn.close(); } } + } http://git-wip-us.apache.org/repos/asf/marmotta/blob/d99de515/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/webservices/LdfWebService.java ---------------------------------------------------------------------- diff --git a/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/webservices/LdfWebService.java b/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/webservices/LdfWebService.java index dbfcb96..cc09402 100644 --- a/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/webservices/LdfWebService.java +++ b/platform/marmotta-ldf/src/main/java/org/apache/marmotta/platform/ldf/webservices/LdfWebService.java @@ -45,45 +45,54 @@ public class LdfWebService { private static final String UUID_PATTERN = "{uuid:[^#?]+}"; @GET - public Response getFragment(@QueryParam("subject") String subject, - @QueryParam("predicate") String predicate, - @QueryParam("object") String object, - @QueryParam("page") String page, + public Response getFragment(@QueryParam("subject") @DefaultValue("") String subject, + @QueryParam("predicate") @DefaultValue("") String predicate, + @QueryParam("object") @DefaultValue("") String object, + @QueryParam("page") @DefaultValue("1") String page, @HeaderParam("Accept") String accept) { - return getFragment(subject, predicate, object, null, Integer.parseInt(StringUtils.defaultString(page, "1")), accept); + System.out.println("1"); + return getFragment(subject, predicate, object, null, Integer.parseInt(page), accept); } @GET @Path(UUID_PATTERN) - public Response getFragment(@QueryParam("subject") String subject, - @QueryParam("predicate") String predicate, - @QueryParam("object") String object, - @QueryParam("page") String page, + public Response getFragment(@QueryParam("subject") @DefaultValue("") String subject, + @QueryParam("predicate") @DefaultValue("") String predicate, + @QueryParam("object") @DefaultValue("") String object, + @QueryParam("page") @DefaultValue("1") String page, @PathParam("uuid") String uuid, @HeaderParam("Accept") String accept) { + System.out.println("2"); final String context = buildContextUri(uuid); - return getFragment(subject, predicate, object, context, Integer.parseInt(StringUtils.defaultString(page, "1")), accept); + return getFragment(subject, predicate, object, context, Integer.parseInt(page), accept); } private Response getFragment(final String subject, - final String predicate, - final String object, - final String context, - final int page, - final String accept) { + final String predicate, + final String object, + final String context, + final int page, + final String accept) { + System.out.println("3"); final RDFFormat format = getFormat(accept); - StreamingOutput stream = new StreamingOutput() { - @Override - public void write(OutputStream outputStream) throws IOException, WebApplicationException { - try { - ldfService.writeFragment(subject, predicate, object, context, page, format, outputStream); - } catch (RepositoryException e) { - throw new WebApplicationException(e); + try { + StreamingOutput stream = new StreamingOutput() { + @Override + public void write(OutputStream outputStream) throws IOException, WebApplicationException { + try { + ldfService.writeFragment(subject, predicate, object, context, page, format, outputStream); + } catch (RepositoryException e) { + throw new WebApplicationException(e); + } } - } - }; - return Response.ok(stream).build(); + }; + return Response.ok(stream).build(); + } catch (WebApplicationException e) { + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); + } catch (IllegalArgumentException e) { + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); + } } private RDFFormat getFormat(String accept) {
