Revision 44643
Added by Katerina Iatropoulou over 7 years ago
SearchApiService.java | ||
---|---|---|
18 | 18 |
import javax.ws.rs.core.MediaType; |
19 | 19 |
import javax.ws.rs.core.Response; |
20 | 20 |
import java.io.IOException; |
21 |
import java.util.Arrays; |
|
22 | 21 |
import java.util.List; |
23 | 22 |
import java.util.Locale; |
24 | 23 |
import java.util.Map; |
... | ... | |
581 | 580 |
|
582 | 581 |
return queryBuilder.toString(); |
583 | 582 |
} |
584 |
|
|
583 |
/* |
|
585 | 584 |
public void extractParameterNOperatorsValues(Map<String, String[]> parameterMap, Map<String, String[]> operatorTypeValues, Map<String, String[]> parameterTypeValues, RequestResponseHandler.Entity entity) { |
586 | 585 |
for (String parameter:parameterMap.keySet()) { |
587 | 586 |
Map<String, String> parameterIndexMap = entity.getParameterIndexMap(); |
... | ... | |
670 | 669 |
} |
671 | 670 |
} */ |
672 | 671 |
|
673 |
private Response getResponseByEntityId(RequestResponseHandler.Entity entity, String entityId) { |
|
672 |
private Response getResponseByEntityId(RequestResponseHandler.Entity entity, String entityId, String type) {
|
|
674 | 673 |
try { |
675 | 674 |
StringBuilder queryBuilder = new StringBuilder(); |
676 | 675 |
builtEntityIdQuery(queryBuilder, entity, entityId); |
... | ... | |
680 | 679 |
|
681 | 680 |
if (searchResult.getSearchResults() == null || searchResult.getSearchResults().isEmpty() || |
682 | 681 |
searchResult.getSearchResults().size() == 0 || searchResult.getSearchResults().get(0) == null) { |
683 |
return Response.status(Response.Status.NOT_FOUND).entity( |
|
684 |
ResponseFormatter.compose404Message("404 - " + entity +" with id " |
|
685 |
+ entityId + " not found.")).type(MediaType.APPLICATION_JSON).build(); |
|
682 |
return Response.status(Response.Status.NOT_FOUND).entity(APIResponseFormatter.compose404Message(type, "404 - " + entity +" with id " |
|
683 |
+ entityId + " not found.")).type(type).build(); |
|
686 | 684 |
} |
687 | 685 |
|
688 | 686 |
return Response.status(Response.Status.OK).entity(ResponseFormatter.createEntityResponse(entity, XML.toJSONObject(searchResult.getSearchResults().get(0)).toString())).type(MediaType.APPLICATION_JSON).build(); |
689 | 687 |
|
690 | 688 |
} catch (SearchServiceException sse) { |
691 | 689 |
logger.error("Fail to fetch "+ entity + " with id " + entityId, sse); |
692 |
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(ResponseFormatter.compose500Message("Fail to fetch " + entity + " with id " + entityId, sse.getMessage())).build();
|
|
690 |
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(APIResponseFormatter.compose500Message(type, "Fail to fetch " + entity + " with id " + entityId, sse.getMessage())).build();
|
|
693 | 691 |
} |
694 | 692 |
} |
695 | 693 |
|
696 | 694 |
private Response getResponseByEntity(String fullQuery, RequestResponseHandler.Entity entity, int offset, int limit, String format, HttpServletRequest request, boolean refine, List<String> refineFields, List<String> fieldQueries, String type) { |
697 | 695 |
try { |
698 |
|
|
699 | 696 |
SearchResult solrResults = searchService.newSearch(fullQuery, Locale.getDefault().toString(), refineFields, fieldQueries, offset, limit, format); |
700 |
|
|
701 |
//APIResponseFormatter.createEntitiesResponse(request,entity, fullQuery,"", fieldQueries, solrResults.getSize(), offset, limit, refine, solrResults.getBrowseResults().toString(), type); |
|
702 |
//return Response.status(Response.Status.OK).entity(ResponseFormatter.createEntitiesResponse(request, entity, fullQuery.replace("\"", "\\\""), |
|
703 |
//solrResults.getSearchResults().toString(), solrResults.getTotal()+"", offset+"", limit+"", refine, SolrResultsFormatter.jsonList2Json(solrResults.getBrowseResults()))).type(type).build(); |
|
704 | 697 |
return Response.status(Response.Status.OK).entity(APIResponseFormatter.createEntitiesResponse(request, entity, fullQuery, fieldQueries, solrResults, refine, type)).type(type).build(); |
705 | 698 |
|
706 | 699 |
} catch (SearchServiceException sse) { |
Also available in: Unified diff
code cleaning