1
0
mirror of https://github.com/sismics/docs.git synced 2025-12-13 17:56:20 +00:00

Search on tags (server)

This commit is contained in:
jendib
2013-07-31 20:57:12 +02:00
parent 990a1c3aa5
commit 4dc5cb12b3
6 changed files with 48 additions and 3 deletions

View File

@@ -108,7 +108,8 @@ public class DocumentResource extends BaseResource {
@QueryParam("asc") Boolean asc,
@QueryParam("search") String search,
@QueryParam("create_date_min") String createDateMinStr,
@QueryParam("create_date_max") String createDateMaxStr) throws JSONException {
@QueryParam("create_date_max") String createDateMaxStr,
@QueryParam("tags[]") List<String> tagIdList) throws JSONException {
if (!authenticate()) {
throw new ForbiddenClientException();
}
@@ -127,6 +128,7 @@ public class DocumentResource extends BaseResource {
documentCriteria.setUserId(principal.getId());
documentCriteria.setCreateDateMin(createDateMin);
documentCriteria.setCreateDateMax(createDateMax);
documentCriteria.setTagIdList(tagIdList);
if (!Strings.isNullOrEmpty(search)) {
documentCriteria.setSearch(search);
}

View File

@@ -98,6 +98,18 @@ public class TestDocumentResource extends BaseJerseyTest {
Assert.assertTrue(documents.length() == 1);
Assert.assertEquals(document1Id, documents.getJSONObject(0).getString("id"));
// Search documents by tag
documentResource = resource().path("/document/list");
documentResource.addFilter(new CookieAuthenticationFilter(document1Token));
getParams = new MultivaluedMapImpl();
getParams.putSingle("tags[]", tag1Id);
response = documentResource.queryParams(getParams).get(ClientResponse.class);
json = response.getEntity(JSONObject.class);
Assert.assertEquals(Status.OK, Status.fromStatusCode(response.getStatus()));
documents = json.getJSONArray("documents");
Assert.assertTrue(documents.length() == 1);
Assert.assertEquals(document1Id, documents.getJSONObject(0).getString("id"));
// Search documents (nothing)
documentResource = resource().path("/document/list");
documentResource.addFilter(new CookieAuthenticationFilter(document1Token));