labelingsystem-server  Version 0.1.0.0
RevisionsResource Class Reference

Public Member Functions

Response getRevisions ( @HeaderParam("Accept") String acceptHeader, @HeaderParam("Accept-Encoding") String acceptEncoding, @QueryParam("pretty") boolean pretty) throws IOException, JDOMException, ConfigException, ParserConfigurationException, TransformerException
 
Response getRevision (@PathParam("revision") String revision, @HeaderParam("Accept") String acceptHeader, @QueryParam("pretty") boolean pretty, @HeaderParam("Accept-Encoding") String acceptEncoding) throws IOException, JDOMException, RdfException, ParserConfigurationException, TransformerException
 
Response getRevision_JSON (@PathParam("revision") String revision, @QueryParam("pretty") boolean pretty, @HeaderParam("Accept-Encoding") String acceptEncoding) throws IOException, JDOMException, TransformerException, ParserConfigurationException
 
Response getRevision_XML (@PathParam("revision") String revision) throws IOException, JDOMException, TransformerException, ParserConfigurationException
 
Response getRevisionRDF_XML (@PathParam("revision") String revision) throws IOException, JDOMException, RdfException, ParserConfigurationException, TransformerException
 
Response getRevisionRDF_Turtle (@PathParam("revision") String revision) throws IOException, JDOMException, TransformerException, ParserConfigurationException
 
Response getRevisionRDF_N3 (@PathParam("revision") String revision) throws IOException, JDOMException, TransformerException, ParserConfigurationException
 
Response getRevisionRDF_JSONRDF (@PathParam("revision") String revision, @QueryParam("pretty") boolean pretty) throws IOException, JDOMException, TransformerException, ParserConfigurationException
 
Response getRevisionRDF_JSONLD (@PathParam("revision") String revision, @QueryParam("pretty") boolean pretty) throws IOException, JDOMException, TransformerException, ParserConfigurationException
 

Static Private Member Functions

static OutputStream GZIP (String input, OutputStream baos) throws IOException
 

Member Function Documentation

◆ getRevision()

Response getRevision ( @PathParam("revision") String  revision,
@HeaderParam("Accept") String  acceptHeader,
@QueryParam("pretty") boolean  pretty,
@HeaderParam("Accept-Encoding") String  acceptEncoding 
) throws IOException, JDOMException, RdfException, ParserConfigurationException, TransformerException
197  {
198  try {
199  String OUTSTRING = "";
200  RDF rdf = new RDF();
201  String item = "ls_rev";
202  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
203  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
204  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
205  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
206  if (result.size() < 1) {
207  throw new ResourceNotAvailableException();
208  }
209  for (int i = 0; i < predicates.size(); i++) {
210  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
211  }
212  if (acceptHeader.contains("application/json")) {
213  String out = Transformer.revision_GET(rdf.getModel("RDF/JSON"), revision).toJSONString();
214  if (pretty) {
215  JsonParser parser = new JsonParser();
216  JsonObject json = parser.parse(out).getAsJsonObject();
217  Gson gson = new GsonBuilder().setPrettyPrinting().create();
218  return Response.ok(gson.toJson(json)).build();
219  } else {
220  OUTSTRING = out.toString();
221  if (acceptEncoding.contains("gzip")) {
222  // set outputstream
223  final String OUTSTRING_FINAL = OUTSTRING;
224  StreamingOutput stream;
225  stream = new StreamingOutput() {
226  @Override
227  public void write(OutputStream output) throws IOException, WebApplicationException {
228  try {
229  output = GZIP(OUTSTRING_FINAL, output);
230  } catch (Exception e) {
231  System.out.println(e.toString());
232  }
233  }
234  };
235  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
236  } else {
237  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
238  }
239  }
240  } else if (acceptHeader.contains("application/rdf+json")) {
241  return Response.ok(rdf.getModel("RDF/JSON")).header("Content-Type", "application/json;charset=UTF-8").build();
242  } else if (acceptHeader.contains("text/html")) {
243  String out = Transformer.revision_GET(rdf.getModel("RDF/JSON"), revision).toJSONString();
244  if (pretty) {
245  JsonParser parser = new JsonParser();
246  JsonObject json = parser.parse(out).getAsJsonObject();
247  Gson gson = new GsonBuilder().setPrettyPrinting().create();
248  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
249  } else {
250  OUTSTRING = out.toString();
251  if (acceptEncoding.contains("gzip")) {
252  // set outputstream
253  final String OUTSTRING_FINAL = OUTSTRING;
254  StreamingOutput stream;
255  stream = new StreamingOutput() {
256  @Override
257  public void write(OutputStream output) throws IOException, WebApplicationException {
258  try {
259  output = GZIP(OUTSTRING_FINAL, output);
260  } catch (Exception e) {
261  System.out.println(e.toString());
262  }
263  }
264  };
265  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
266  } else {
267  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
268  }
269  }
270  } else if (acceptHeader.contains("application/xml")) {
271  return Response.ok(rdf.getModel("RDF/XML")).build();
272  } else if (acceptHeader.contains("application/rdf+xml")) {
273  return Response.ok(rdf.getModel("RDF/XML")).build();
274  } else if (acceptHeader.contains("text/turtle")) {
275  return Response.ok(rdf.getModel("Turtle")).build();
276  } else if (acceptHeader.contains("text/n3")) {
277  return Response.ok(rdf.getModel("N-Triples")).build();
278  } else if (acceptHeader.contains("application/ld+json")) {
279  return Response.ok(rdf.getModel("JSON-LD")).build();
280  } else {
281  String out = Transformer.revision_GET(rdf.getModel("RDF/JSON"), revision).toJSONString();
282  if (pretty) {
283  JsonParser parser = new JsonParser();
284  JsonObject json = parser.parse(out).getAsJsonObject();
285  Gson gson = new GsonBuilder().setPrettyPrinting().create();
286  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
287  } else {
288  OUTSTRING = out.toString();
289  if (acceptEncoding.contains("gzip")) {
290  // set outputstream
291  final String OUTSTRING_FINAL = OUTSTRING;
292  StreamingOutput stream;
293  stream = new StreamingOutput() {
294  @Override
295  public void write(OutputStream output) throws IOException, WebApplicationException {
296  try {
297  output = GZIP(OUTSTRING_FINAL, output);
298  } catch (Exception e) {
299  System.out.println(e.toString());
300  }
301  }
302  };
303  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
304  } else {
305  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
306  }
307  }
308  }
309  } catch (Exception e) {
310  if (e.toString().contains("ResourceNotAvailableException")) {
311  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
312  .header("Content-Type", "application/json;charset=UTF-8").build();
313  } else {
314  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
315  .header("Content-Type", "application/json;charset=UTF-8").build();
316  }
317  }
318  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), ConfigProperties.getPropertyParam(), and Transformer.revision_GET().

◆ getRevision_JSON()

Response getRevision_JSON ( @PathParam("revision") String  revision,
@QueryParam("pretty") boolean  pretty,
@HeaderParam("Accept-Encoding") String  acceptEncoding 
) throws IOException, JDOMException, TransformerException, ParserConfigurationException
323  {
324  try {
325  String OUTSTRING = "";
326  RDF rdf = new RDF();
327  String item = "ls_rev";
328  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
329  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
330  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
331  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
332  if (result.size() < 1) {
333  throw new ResourceNotAvailableException();
334  }
335  for (int i = 0; i < predicates.size(); i++) {
336  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
337  }
338  String out = Transformer.revision_GET(rdf.getModel("RDF/JSON"), revision).toJSONString();
339  if (pretty) {
340  JsonParser parser = new JsonParser();
341  JsonObject json = parser.parse(out).getAsJsonObject();
342  Gson gson = new GsonBuilder().setPrettyPrinting().create();
343  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
344  } else {
345  OUTSTRING = out.toString();
346  if (acceptEncoding.contains("gzip")) {
347  // set outputstream
348  final String OUTSTRING_FINAL = OUTSTRING;
349  StreamingOutput stream;
350  stream = new StreamingOutput() {
351  @Override
352  public void write(OutputStream output) throws IOException, WebApplicationException {
353  try {
354  output = GZIP(OUTSTRING_FINAL, output);
355  } catch (Exception e) {
356  System.out.println(e.toString());
357  }
358  }
359  };
360  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
361  } else {
362  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
363  }
364  }
365  } catch (Exception e) {
366  if (e.toString().contains("ResourceNotAvailableException")) {
367  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
368  .header("Content-Type", "application/json;charset=UTF-8").build();
369  } else {
370  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
371  .header("Content-Type", "application/json;charset=UTF-8").build();
372  }
373  }
374  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), ConfigProperties.getPropertyParam(), and Transformer.revision_GET().

◆ getRevision_XML()

Response getRevision_XML ( @PathParam("revision") String  revision) throws IOException, JDOMException, TransformerException, ParserConfigurationException
379  {
380  try {
381  RDF rdf = new RDF();
382  String item = "ls_rev";
383  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
384  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
385  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
386  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
387  if (result.size() < 1) {
388  throw new ResourceNotAvailableException();
389  }
390  for (int i = 0; i < predicates.size(); i++) {
391  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
392  }
393  String RDFoutput = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + rdf.getModel("RDF/XML");
394  return Response.ok(RDFoutput).build();
395  } catch (Exception e) {
396  if (e.toString().contains("ResourceNotAvailableException")) {
397  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
398  .header("Content-Type", "application/json;charset=UTF-8").build();
399  } else {
400  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
401  .header("Content-Type", "application/json;charset=UTF-8").build();
402  }
403  }
404  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getRevisionRDF_JSONLD()

Response getRevisionRDF_JSONLD ( @PathParam("revision") String  revision,
@QueryParam("pretty") boolean  pretty 
) throws IOException, JDOMException, TransformerException, ParserConfigurationException
534  {
535  try {
536  RDF rdf = new RDF();
537  String item = "ls_rev";
538  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
539  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
540  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
541  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
542  if (result.size() < 1) {
543  throw new ResourceNotAvailableException();
544  }
545  for (int i = 0; i < predicates.size(); i++) {
546  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
547  }
548  String out = rdf.getModel("JSON-LD");
549  if (pretty) {
550  JsonParser parser = new JsonParser();
551  JsonObject json = parser.parse(out).getAsJsonObject();
552  Gson gson = new GsonBuilder().setPrettyPrinting().create();
553  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
554  } else {
555  return Response.ok(out).header("Content-Type", "application/json;charset=UTF-8").build();
556  }
557  } catch (Exception e) {
558  if (e.toString().contains("ResourceNotAvailableException")) {
559  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
560  .header("Content-Type", "application/json;charset=UTF-8").build();
561  } else {
562  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
563  .header("Content-Type", "application/json;charset=UTF-8").build();
564  }
565  }
566  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getRevisionRDF_JSONRDF()

Response getRevisionRDF_JSONRDF ( @PathParam("revision") String  revision,
@QueryParam("pretty") boolean  pretty 
) throws IOException, JDOMException, TransformerException, ParserConfigurationException
497  {
498  try {
499  RDF rdf = new RDF();
500  String item = "ls_rev";
501  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
502  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
503  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
504  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
505  if (result.size() < 1) {
506  throw new ResourceNotAvailableException();
507  }
508  for (int i = 0; i < predicates.size(); i++) {
509  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
510  }
511  String out = rdf.getModel("RDF/JSON");
512  if (pretty) {
513  JsonParser parser = new JsonParser();
514  JsonObject json = parser.parse(out).getAsJsonObject();
515  Gson gson = new GsonBuilder().setPrettyPrinting().create();
516  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
517  } else {
518  return Response.ok(out).header("Content-Type", "application/json;charset=UTF-8").build();
519  }
520  } catch (Exception e) {
521  if (e.toString().contains("ResourceNotAvailableException")) {
522  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
523  .header("Content-Type", "application/json;charset=UTF-8").build();
524  } else {
525  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
526  .header("Content-Type", "application/json;charset=UTF-8").build();
527  }
528  }
529  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getRevisionRDF_N3()

Response getRevisionRDF_N3 ( @PathParam("revision") String  revision) throws IOException, JDOMException, TransformerException, ParserConfigurationException
468  {
469  try {
470  RDF rdf = new RDF();
471  String item = "ls_rev";
472  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
473  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
474  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
475  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
476  if (result.size() < 1) {
477  throw new ResourceNotAvailableException();
478  }
479  for (int i = 0; i < predicates.size(); i++) {
480  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
481  }
482  return Response.ok(rdf.getModel("N-Triples")).build();
483  } catch (Exception e) {
484  if (e.toString().contains("ResourceNotAvailableException")) {
485  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
486  .header("Content-Type", "application/json;charset=UTF-8").build();
487  } else {
488  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
489  .header("Content-Type", "application/json;charset=UTF-8").build();
490  }
491  }
492  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getRevisionRDF_Turtle()

Response getRevisionRDF_Turtle ( @PathParam("revision") String  revision) throws IOException, JDOMException, TransformerException, ParserConfigurationException
439  {
440  try {
441  RDF rdf = new RDF();
442  String item = "ls_rev";
443  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
444  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
445  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
446  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
447  if (result.size() < 1) {
448  throw new ResourceNotAvailableException();
449  }
450  for (int i = 0; i < predicates.size(); i++) {
451  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
452  }
453  return Response.ok(rdf.getModel("Turtle")).build();
454  } catch (Exception e) {
455  if (e.toString().contains("ResourceNotAvailableException")) {
456  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
457  .header("Content-Type", "application/json;charset=UTF-8").build();
458  } else {
459  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
460  .header("Content-Type", "application/json;charset=UTF-8").build();
461  }
462  }
463  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getRevisionRDF_XML()

Response getRevisionRDF_XML ( @PathParam("revision") String  revision) throws IOException, JDOMException, RdfException, ParserConfigurationException, TransformerException
409  {
410  try {
411  RDF rdf = new RDF();
412  String item = "ls_rev";
413  String query = GeneralFunctions.getAllElementsForItemID(item, revision);
414  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
415  List<String> predicates = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
416  List<String> objects = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
417  if (result.size() < 1) {
418  throw new ResourceNotAvailableException();
419  }
420  for (int i = 0; i < predicates.size(); i++) {
421  rdf.setModelTriple(item + ":" + revision, predicates.get(i), objects.get(i));
422  }
423  String RDFoutput = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + rdf.getModel("RDF/XML");
424  return Response.ok(RDFoutput).build();
425  } catch (Exception e) {
426  if (e.toString().contains("ResourceNotAvailableException")) {
427  return Response.status(Response.Status.NOT_FOUND).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
428  .header("Content-Type", "application/json;charset=UTF-8").build();
429  } else {
430  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
431  .header("Content-Type", "application/json;charset=UTF-8").build();
432  }
433  }
434  }

References GeneralFunctions.getAllElementsForItemID(), Logging.getMessageJSON(), and ConfigProperties.getPropertyParam().

◆ getRevisions()

Response getRevisions ( @HeaderParam("Accept") String  acceptHeader,
@HeaderParam("Accept-Encoding") String  acceptEncoding,
@QueryParam("pretty") boolean  pretty 
) throws IOException, JDOMException, ConfigException, ParserConfigurationException, TransformerException
50  {
51  try {
52  String OUTSTRING = "";
53  // QUERY STRING
54  RDF rdf = new RDF();
55  String query = rdf.getPREFIXSPARQL();
56  query += "SELECT * WHERE { "
57  + "?s ?p ?o . "
58  + "?s a ls:Revision . "
59  + "?s dc:identifier ?identifier . "
60  + " } ";
61  // QUERY TRIPLESTORE
62  long ctm_start = System.currentTimeMillis();
63  List<BindingSet> result = RDF4J_20.SPARQLquery(ConfigProperties.getPropertyParam("repository"), ConfigProperties.getPropertyParam("ts_server"), query);
64  List<String> s = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "s");
65  List<String> p = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "p");
66  List<String> o = RDF4J_20.getValuesFromBindingSet_ORDEREDLIST(result, "o");
67  if (result.size() < 1) {
68  throw new ResourceNotAvailableException();
69  }
70  for (int i = 0; i < s.size(); i++) {
71  rdf.setModelTriple(s.get(i), p.get(i), o.get(i));
72  }
73  JSONArray outArray = new JSONArray();
74  if (acceptHeader.contains("application/json") || acceptHeader.contains("text/html")) {
75  JSONObject jsonObject = (JSONObject) new JSONParser().parse(rdf.getModel("RDF/JSON"));
76  Set keys = jsonObject.keySet();
77  Iterator a = keys.iterator();
78  while (a.hasNext()) {
79  String key = (String) a.next();
80  JSONObject tmpObject = (JSONObject) jsonObject.get(key);
81  JSONArray idArray = (JSONArray) tmpObject.get(rdf.getPrefixItem("dc:identifier"));
82  JSONObject idObject = (JSONObject) idArray.get(0);
83  String h = (String) idObject.get("value");
84  JSONObject tmpObject2 = new JSONObject();
85  tmpObject2.put(key, tmpObject);
86  String hh = tmpObject2.toString();
87  JSONObject tmp = Transformer.revision_GET(hh, h);
88  outArray.add(tmp);
89  }
90  }
91  if (acceptHeader.contains("application/json")) {
92  if (pretty) {
93  JsonParser parser = new JsonParser();
94  JsonObject json = parser.parse(outArray.toString()).getAsJsonObject();
95  Gson gson = new GsonBuilder().setPrettyPrinting().create();
96  return Response.ok(gson.toJson(json)).build();
97  } else {
98  OUTSTRING = outArray.toString();
99  if (acceptEncoding.contains("gzip")) {
100  // set outputstream
101  final String OUTSTRING_FINAL = OUTSTRING;
102  StreamingOutput stream;
103  stream = new StreamingOutput() {
104  @Override
105  public void write(OutputStream output) throws IOException, WebApplicationException {
106  try {
107  output = GZIP(OUTSTRING_FINAL, output);
108  } catch (Exception e) {
109  System.out.println(e.toString());
110  }
111  }
112  };
113  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
114  } else {
115  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
116  }
117  }
118  } else if (acceptHeader.contains("application/rdf+json")) {
119  return Response.ok(rdf.getModel("RDF/JSON")).header("Content-Type", "application/json;charset=UTF-8").build();
120  } else if (acceptHeader.contains("text/html")) {
121  if (pretty) {
122  JsonParser parser = new JsonParser();
123  JsonObject json = parser.parse(outArray.toString()).getAsJsonObject();
124  Gson gson = new GsonBuilder().setPrettyPrinting().create();
125  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
126  } else {
127  OUTSTRING = outArray.toString();
128  if (acceptEncoding.contains("gzip")) {
129  // set outputstream
130  final String OUTSTRING_FINAL = OUTSTRING;
131  StreamingOutput stream;
132  stream = new StreamingOutput() {
133  @Override
134  public void write(OutputStream output) throws IOException, WebApplicationException {
135  try {
136  output = GZIP(OUTSTRING_FINAL, output);
137  } catch (Exception e) {
138  System.out.println(e.toString());
139  }
140  }
141  };
142  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
143  } else {
144  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
145  }
146  }
147  } else if (acceptHeader.contains("application/xml")) {
148  return Response.ok(rdf.getModel("RDF/XML")).build();
149  } else if (acceptHeader.contains("application/rdf+xml")) {
150  return Response.ok(rdf.getModel("RDF/XML")).build();
151  } else if (acceptHeader.contains("text/turtle")) {
152  return Response.ok(rdf.getModel("Turtle")).build();
153  } else if (acceptHeader.contains("text/n3")) {
154  return Response.ok(rdf.getModel("N-Triples")).build();
155  } else if (acceptHeader.contains("application/ld+json")) {
156  return Response.ok(rdf.getModel("JSON-LD")).build();
157  } else if (pretty) {
158  JsonParser parser = new JsonParser();
159  JsonObject json = parser.parse(outArray.toString()).getAsJsonObject();
160  Gson gson = new GsonBuilder().setPrettyPrinting().create();
161  return Response.ok(gson.toJson(json)).header("Content-Type", "application/json;charset=UTF-8").build();
162  } else {
163  OUTSTRING = outArray.toString();
164  if (acceptEncoding.contains("gzip")) {
165  // set outputstream
166  final String OUTSTRING_FINAL = OUTSTRING;
167  StreamingOutput stream;
168  stream = new StreamingOutput() {
169  @Override
170  public void write(OutputStream output) throws IOException, WebApplicationException {
171  try {
172  output = GZIP(OUTSTRING_FINAL, output);
173  } catch (Exception e) {
174  System.out.println(e.toString());
175  }
176  }
177  };
178  return Response.ok(stream).header("Content-Type", "application/json;charset=UTF-8").header("Content-Encoding", "gzip").build();
179  } else {
180  return Response.ok(OUTSTRING).header("Content-Type", "application/json;charset=UTF-8").build();
181  }
182  }
183  } catch (Exception e) {
184  if (e.toString().contains("ResourceNotAvailableException")) {
185  JSONArray outArray = new JSONArray();
186  return Response.ok(outArray).header("Content-Type", "application/json;charset=UTF-8").build();
187  } else {
188  return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(Logging.getMessageJSON(e, "v1.rest.RevisionsResource"))
189  .header("Content-Type", "application/json;charset=UTF-8").build();
190  }
191  }
192  }

References Logging.getMessageJSON(), ConfigProperties.getPropertyParam(), and Transformer.revision_GET().

◆ GZIP()

static OutputStream GZIP ( String  input,
OutputStream  baos 
) throws IOException
staticprivate
568  {
569  try (GZIPOutputStream gzos = new GZIPOutputStream(baos)) {
570  gzos.write(input.getBytes("UTF-8"));
571  } catch (Exception e) {
572  System.out.println(e.toString());
573  }
574  return baos;
575  }
rdf
Definition: RDF.java:1
Exception
v1.rest.RevisionsResource.GZIP
static OutputStream GZIP(String input, OutputStream baos)
Definition: RevisionsResource.java:568