Project

General

Profile

« Previous | Next » 

Revision 52806

Added by Tsampikos Livisianos over 5 years ago

add other research products api

View differences:

SearchApiService.java
181 181
    }
182 182

  
183 183
    @GET
184
    @Path("/api/other")
185
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
186
    public Response fetchOther(@QueryParam("q") String keywords,
187
                                  @QueryParam("doi") final String doi,
188
                                  @QueryParam("sortBy") final String sortBy,
189
                                  @DefaultValue("0") @QueryParam("page") int offset,
190
                                  @DefaultValue("10") @QueryParam("size") int limit,
191
                                  @QueryParam("refine") @DefaultValue("false") boolean refine,
192
                                  @QueryParam("fields") final List<String> fields,
193
                                  @QueryParam("fq") final List<String> fieldQueries,
194
                                  @QueryParam("format") final String format,
195
                                  @Context HttpServletRequest request) {
196

  
197
        String simpleQuery = buildSearchRequest(RequestResponseHandler.Entity.OTHER, keywords, doi, sortBy, fieldQueries);
198
        return getResponseByEntity(simpleQuery, RequestResponseHandler.Entity.OTHER, offset, limit, format, request, refine, fields, fieldQueries);
199
    }
200

  
201
    @GET
202
    @Path("/api/other/count")
203
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
204
    public Response fetchOtherCount(@QueryParam("q") String query,
205
                                       @QueryParam("format") final String format,
206
                                       @QueryParam("fq") final List<String> fieldQueries,
207
                                       @Context final HttpServletRequest request)  {
208
        String fullQuery = buildSearchRequest(RequestResponseHandler.Entity.OTHER, query, fieldQueries);
209
        return getCount(request, fullQuery, format, fieldQueries);
210
    }
211

  
212
    @GET
213
    @Path("/api/other/{otherid}")
214
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
215
    public Response fetchOther(@PathParam("otherid") String datasetid,
216
                                  @QueryParam("format") final String format,
217
                                  @QueryParam("fq") final List<String> fieldQueries,
218
                                  @Context final HttpServletRequest request) {
219
        return getResponseByEntityId(request, RequestResponseHandler.Entity.OTHER, datasetid, format, fieldQueries);
220
    }
221
    @GET
184 222
    @Path("/api/projects")
185 223
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
186 224
    public Response fetchProjects(@QueryParam("q") String keywords,
......
301 339
    }
302 340

  
303 341
    @GET
342
    @Path("/api/projects/{projectId}/other/count")
343
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
344
    public Response fetchProjectOtherCount(@PathParam("projectId") String projectId,
345
                                              @DefaultValue("0") @QueryParam("page") int offset,
346
                                              @DefaultValue("10") @QueryParam("size") int limit,
347
                                              @QueryParam("format") final String format,
348
                                              @QueryParam("fq") final List<String> fieldQueries,
349
                                              @Context HttpServletRequest request)  {
350
        String fullQuery = builtEntity2EntityRelationQuery(RequestResponseHandler.Entity.OTHER, "relprojectid", projectId, fieldQueries);
351
        return getCount(request, fullQuery, format, fieldQueries);
352
    }
353

  
354
    @GET
355
    @Path("/api/projects/{projectId}/other")
356
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
357
    public Response fetchProjectOther(@PathParam("projectId") String projectId,
358
                                         @DefaultValue("0") @QueryParam("page") int offset,
359
                                         @DefaultValue("10") @QueryParam("size") int limit,
360
                                         @QueryParam("format") final String format,
361
                                         @QueryParam("fq") final List<String> fieldQueries,
362
                                         @Context HttpServletRequest request)  {
363

  
364
        String fullQuery = builtEntity2EntityRelationQuery(RequestResponseHandler.Entity.OTHER, "relprojectid", projectId, fieldQueries);
365
        return getResponseByEntity(fullQuery, RequestResponseHandler.Entity.OTHER, offset, limit, format, request, false, null, fieldQueries);
366
    }
367

  
368
    @GET
304 369
    @Path("/api/datasources")
305 370
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
306 371
    public Response fetchDatasources(@QueryParam("q") String keywords,
......
890 955
        } else if (type.equalsIgnoreCase(RequestResponseHandler.Entity.SOFTWARE.getPlural())) {
891 956
            return RequestResponseHandler.Entity.SOFTWARE;
892 957

  
958
        } else if (type.equalsIgnoreCase(RequestResponseHandler.Entity.OTHER.getPlural())) {
959
            return RequestResponseHandler.Entity.OTHER;
960

  
893 961
        } else if (type.equalsIgnoreCase(RequestResponseHandler.Entity.PROJECT.getPlural())) {
894 962
            return RequestResponseHandler.Entity.PROJECT;
895 963

  

Also available in: Unified diff