X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FPDBRestClient.java;h=2c05acd31a1fa1cd7e257ef69f1e6f59ae8b381d;hb=e6438a4c2df8713e8acc65b1625f7446b6e76416;hp=c6251a6846be9f37a80af035fdcf194b9ee651ec;hpb=cb98f8af1387172026ae298ead3ffb29aa04510c;p=jalview.git diff --git a/src/jalview/ws/dbsources/PDBRestClient.java b/src/jalview/ws/dbsources/PDBRestClient.java index c6251a6..2c05acd 100644 --- a/src/jalview/ws/dbsources/PDBRestClient.java +++ b/src/jalview/ws/dbsources/PDBRestClient.java @@ -79,19 +79,39 @@ public class PDBRestClient .getFieldToSortBy().trim().isEmpty()) ? "" : (pdbRestRequest .getFieldToSortBy() + (pdbRestRequest.isAscending() ? " asc" : " desc")); + String facetPivot = (pdbRestRequest.getFacetPivot() == null || pdbRestRequest + .getFacetPivot().isEmpty()) ? "" : pdbRestRequest + .getFacetPivot(); + String facetPivotMinCount = String.valueOf(pdbRestRequest + .getFacetPivotMinCount()); + // Build request parameters for the REST Request - WebResource webResource = client.resource(PDB_SEARCH_ENDPOINT) - .queryParam("wt", "json").queryParam("fl", wantedFields) - .queryParam("rows", String.valueOf(responseSize)) - .queryParam("q", pdbRestRequest.getQuery()) - .queryParam("sort", sortParam); - + WebResource webResource = null; + if (pdbRestRequest.isFacet()) + { + webResource = client.resource(PDB_SEARCH_ENDPOINT) + .queryParam("wt", "json").queryParam("fl", wantedFields) + .queryParam("rows", String.valueOf(responseSize)) + .queryParam("q", pdbRestRequest.getQuery()) + .queryParam("sort", sortParam).queryParam("facet", "true") + .queryParam("facet.pivot", facetPivot) + .queryParam("facet.pivot.mincount", facetPivotMinCount); + } + else + { + webResource = client.resource(PDB_SEARCH_ENDPOINT) + .queryParam("wt", "json").queryParam("fl", wantedFields) + .queryParam("rows", String.valueOf(responseSize)) + .queryParam("q", pdbRestRequest.getQuery()) + .queryParam("sort", sortParam); + } // Execute the REST request ClientResponse clientResponse = webResource.accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); // Get the JSON string from the response object String responseString = clientResponse.getEntity(String.class); + System.out.println("query >>>>>>> " + pdbRestRequest.toString()); // Check the response status and report exception if one occurs if (clientResponse.getStatus() != 200) @@ -414,6 +434,7 @@ public class PDBRestClient return code; } + @Override public String toString() { return name;