52 String OUTSTRING =
"";
55 String query =
rdf.getPREFIXSPARQL();
56 query +=
"SELECT * WHERE { "
58 +
"?s a ls:Revision . "
59 +
"?s dc:identifier ?identifier . "
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();
70 for (
int i = 0; i < s.size(); i++) {
71 rdf.setModelTriple(s.get(i), p.get(i), o.get(i));
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();
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);
91 if (acceptHeader.contains(
"application/json")) {
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();
98 OUTSTRING = outArray.toString();
99 if (acceptEncoding.contains(
"gzip")) {
101 final String OUTSTRING_FINAL = OUTSTRING;
102 StreamingOutput stream;
103 stream =
new StreamingOutput() {
105 public void write(OutputStream output)
throws IOException, WebApplicationException {
107 output =
GZIP(OUTSTRING_FINAL, output);
109 System.out.println(e.toString());
113 return Response.ok(stream).header(
"Content-Type",
"application/json;charset=UTF-8").header(
"Content-Encoding",
"gzip").build();
115 return Response.ok(OUTSTRING).header(
"Content-Type",
"application/json;charset=UTF-8").build();
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")) {
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();
127 OUTSTRING = outArray.toString();
128 if (acceptEncoding.contains(
"gzip")) {
130 final String OUTSTRING_FINAL = OUTSTRING;
131 StreamingOutput stream;
132 stream =
new StreamingOutput() {
134 public void write(OutputStream output)
throws IOException, WebApplicationException {
136 output =
GZIP(OUTSTRING_FINAL, output);
138 System.out.println(e.toString());
142 return Response.ok(stream).header(
"Content-Type",
"application/json;charset=UTF-8").header(
"Content-Encoding",
"gzip").build();
144 return Response.ok(OUTSTRING).header(
"Content-Type",
"application/json;charset=UTF-8").build();
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();
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();
163 OUTSTRING = outArray.toString();
164 if (acceptEncoding.contains(
"gzip")) {
166 final String OUTSTRING_FINAL = OUTSTRING;
167 StreamingOutput stream;
168 stream =
new StreamingOutput() {
170 public void write(OutputStream output)
throws IOException, WebApplicationException {
172 output =
GZIP(OUTSTRING_FINAL, output);
174 System.out.println(e.toString());
178 return Response.ok(stream).header(
"Content-Type",
"application/json;charset=UTF-8").header(
"Content-Encoding",
"gzip").build();
180 return Response.ok(OUTSTRING).header(
"Content-Type",
"application/json;charset=UTF-8").build();
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();
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();