protected Response getCustomFields(final UUID id, final AuditMode auditMode, final TenantContext context) { final List<CustomField> fields = customFieldUserApi.getCustomFieldsForObject(id, getObjectType(), context); final List<CustomFieldJson> result = new LinkedList<CustomFieldJson>(); for (final CustomField cur : fields) { // TODO PIERRE - Bulk API final List<AuditLog> auditLogs = auditUserApi.getAuditLogs(cur.getId(), ObjectType.CUSTOM_FIELD, auditMode.getLevel(), context); result.add(new CustomFieldJson(cur, auditLogs)); } return Response.status(Response.Status.OK).entity(result).build(); }
protected Response createCustomFields(final UUID id, final List<CustomFieldJson> customFields, final CallContext context, final UriInfo uriInfo) throws CustomFieldApiException { final LinkedList<CustomField> input = new LinkedList<CustomField>(); for (final CustomFieldJson cur : customFields) { input.add(new StringCustomField(cur.getName(), cur.getValue(), getObjectType(), id, context.getCreatedDate())); } customFieldUserApi.addCustomFields(input, context); return uriBuilder.buildResponse(uriInfo, this.getClass(), "getCustomFields", id); }
@Test(groups = "fast") public void testJson() throws Exception { final String customFieldId = UUID.randomUUID().toString(); final String objectId = UUID.randomUUID().toString(); final ObjectType objectType = ObjectType.INVOICE; final String name = UUID.randomUUID().toString(); final String value = UUID.randomUUID().toString(); final CustomFieldJson customFieldJson = new CustomFieldJson(customFieldId, objectId, objectType, name, value, null); Assert.assertEquals(customFieldJson.getCustomFieldId(), customFieldId); Assert.assertEquals(customFieldJson.getObjectId(), objectId); Assert.assertEquals(customFieldJson.getObjectType(), objectType); Assert.assertEquals(customFieldJson.getName(), name); Assert.assertEquals(customFieldJson.getValue(), value); Assert.assertNull(customFieldJson.getAuditLogs()); final String asJson = mapper.writeValueAsString(customFieldJson); final CustomFieldJson fromJson = mapper.readValue(asJson, CustomFieldJson.class); Assert.assertEquals(fromJson, customFieldJson); } }
public CustomFieldJson(final CustomField input, @Nullable final List<AuditLog> auditLogs) { this(input.getId().toString(), input.getObjectId().toString(), input.getObjectType(), input.getFieldName(), input.getFieldValue(), toAuditLogJson(auditLogs)); }
@Override public CustomFieldJson apply(final CustomField customField) { // TODO Really slow - we should instead try to figure out the account id final List<AuditLog> auditLogs = auditUserApi.getAuditLogs(customField.getId(), ObjectType.CUSTOM_FIELD, auditMode.getLevel(), tenantContext); return new CustomFieldJson(customField, auditLogs); } },
@Override public CustomFieldJson apply(final CustomField customField) { // TODO Really slow - we should instead try to figure out the account id final List<AuditLog> auditLogs = auditUserApi.getAuditLogs(customField.getId(), ObjectType.CUSTOM_FIELD, auditMode.getLevel(), tenantContext); return new CustomFieldJson(customField, auditLogs); } },