@GET @Path("/{tagDefinitionId:" + UUID_PATTERN + "}") @Produces(APPLICATION_JSON) public Response getTagDefinition(@PathParam("tagDefinitionId") final String tagDefId, @QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode, @javax.ws.rs.core.Context final HttpServletRequest request) throws TagDefinitionApiException { final TenantContext tenantContext = context.createContext(request); final TagDefinition tagDefinition = tagUserApi.getTagDefinition(UUID.fromString(tagDefId), tenantContext); final List<AuditLog> auditLogs = auditUserApi.getAuditLogs(tagDefinition.getId(), ObjectType.TAG_DEFINITION, auditMode.getLevel(), tenantContext); final TagDefinitionJson json = new TagDefinitionJson(tagDefinition, auditLogs); return Response.status(Status.OK).entity(json).build(); }
@GET @Produces(APPLICATION_JSON) public Response getTagDefinitions(@javax.ws.rs.core.Context final HttpServletRequest request, @QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode) { final TenantContext tenantContext = context.createContext(request); final List<TagDefinition> tagDefinitions = tagUserApi.getTagDefinitions(tenantContext); final Collection<TagDefinitionJson> result = new LinkedList<TagDefinitionJson>(); for (final TagDefinition tagDefinition : tagDefinitions) { final List<AuditLog> auditLogs = auditUserApi.getAuditLogs(tagDefinition.getId(), ObjectType.TAG_DEFINITION, auditMode.getLevel(), tenantContext); result.add(new TagDefinitionJson(tagDefinition, auditLogs)); } return Response.status(Status.OK).entity(result).build(); }
@Test(groups = "fast") public void testJson() throws Exception { final String id = UUID.randomUUID().toString(); final Boolean isControlTag = true; final String name = UUID.randomUUID().toString(); final String description = UUID.randomUUID().toString(); final ImmutableList<String> applicableObjectTypes = ImmutableList.<String>of(UUID.randomUUID().toString()); final TagDefinitionJson tagDefinitionJson = new TagDefinitionJson(id, isControlTag, name, description, applicableObjectTypes, null); Assert.assertEquals(tagDefinitionJson.getId(), id); Assert.assertEquals(tagDefinitionJson.isControlTag(), isControlTag); Assert.assertEquals(tagDefinitionJson.getName(), name); Assert.assertEquals(tagDefinitionJson.getDescription(), description); Assert.assertEquals(tagDefinitionJson.getApplicableObjectTypes(), applicableObjectTypes); final String asJson = mapper.writeValueAsString(tagDefinitionJson); final TagDefinitionJson fromJson = mapper.readValue(asJson, TagDefinitionJson.class); Assert.assertEquals(fromJson, tagDefinitionJson); } }