2626import javax .ws .rs .core .Context ;
2727import javax .ws .rs .core .Cookie ;
2828import javax .ws .rs .core .MediaType ;
29+ import javax .ws .rs .core .MultivaluedHashMap ;
30+ import javax .ws .rs .core .MultivaluedMap ;
2931import javax .ws .rs .core .Response ;
3032import javax .ws .rs .core .StreamingOutput ;
3133import javax .ws .rs .core .UriInfo ;
@@ -139,15 +141,15 @@ public Response create(@CookieParam(value = "user") Cookie userc,
139141 @ Path ("{sessionToken}" )
140142 public Response get (@ PathParam ("sessionToken" ) String sessionToken , @ Context UriInfo uriInfo )
141143 throws Exception {
142- return post (sessionToken , uriInfo );
144+ MultivaluedMap <String , String > formParams = new MultivaluedHashMap <String , String >();
145+ return post (sessionToken , uriInfo , formParams );
143146 }
144147
145148 @ POST
146149 @ Path ("{sessionToken}" )
147- public Response post (@ PathParam ("sessionToken" ) String sessionToken , @ Context UriInfo uriInfo )
148- throws Exception {
150+ public Response post (@ PathParam ("sessionToken" ) String sessionToken , @ Context UriInfo uriInfo ,
151+ MultivaluedMap < String , String > formParams ) throws Exception {
149152
150- log .info (sessionToken );
151153 String username = "" ;
152154 /*
153155 * retrieves form user that created that session and the rdfUser and
@@ -156,10 +158,9 @@ public Response post(@PathParam("sessionToken") String sessionToken, @Context Ur
156158 try {
157159 String query = "SELECT ?user FROM <" + sessionsGraph + "> WHERE { ?user " + " <"
158160 + LDIWO .sessionToken + "> \" " + sessionToken + "\" ^^xsd:string .}" ;
159- log .debug (query );
160161
161162 String result = frameworkRdfStoreManager .execute (query , "json" );
162- log . debug ( result );
163+
163164 ObjectMapper mapper = new ObjectMapper ();
164165 JsonNode rootNode = mapper .readTree (result );
165166 Iterator <JsonNode > bindingsIter = rootNode .path ("results" ).path ("bindings" )
@@ -192,10 +193,13 @@ public Response post(@PathParam("sessionToken") String sessionToken, @Context Ur
192193 // create post method and set parameters
193194 HttpPost proxyMethod = new HttpPost (endpoint );
194195 ArrayList <NameValuePair > postParameters = new ArrayList <NameValuePair >();
195- for (Entry <String , List <String >> entity : uriInfo .getQueryParameters ().entrySet ()) {
196+ // when is GET we extract query params using uriInfo
197+ for (Entry <String , List <String >> entity : uriInfo .getQueryParameters ().entrySet ())
196198 postParameters .add (new BasicNameValuePair (entity .getKey (), entity .getValue ().get (0 )));
199+ // when is POST we extract using formParams
200+ for (String key : formParams .keySet ())
201+ postParameters .add (new BasicNameValuePair (key , formParams .getFirst (key )));
197202
198- }
199203 proxyMethod .setEntity (new UrlEncodedFormEntity (postParameters ));
200204 // create the httpclient and reads/wirtes repsponse
201205 CloseableHttpClient httpClient = HttpClients .createDefault ();
@@ -240,7 +244,7 @@ public Response delete(@PathParam("sessionToken") String sessionToken,
240244 .build ();
241245 }
242246
243- String query = "DELETE FROM <http://generator.geoknow.eu/resource/ sessionsGraph> {?s ?p ?o} "
247+ String query = "DELETE FROM <" + sessionsGraph + " > {?s ?p ?o} "
244248 + "WHERE { ?s ?p ?o . FILTER(str(?o) = \" " + sessionToken + "\" ) } " ;
245249 log .debug (query );
246250
@@ -251,6 +255,6 @@ public Response delete(@PathParam("sessionToken") String sessionToken,
251255 .build ();
252256 }
253257
254- return Response .ok ( ).build ();
258+ return Response .status ( Response . Status . NO_CONTENT ).build ();
255259 }
256260}
0 commit comments