public CustomFieldModelDao(final CustomField customField) { this(customField.getId(), customField.getCreatedDate(), customField.getUpdatedDate(), customField.getFieldName(), customField.getFieldValue(), customField.getObjectId(), customField.getObjectType()); }
@Override public CustomField apply(final CustomFieldModelDao input) { return new StringCustomField(input); } };
@Override public void removeCustomFields(final List<CustomField> customFields, final CallContext context) throws CustomFieldApiException { // TODO make it transactional for (final CustomField cur : customFields) { customFieldDao.deleteCustomField(cur.getId(), internalCallContextFactory.createInternalCallContext(cur.getObjectId(), cur.getObjectType(), context)); } }
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)); }
mapping.put(cur.getObjectId(), cur.getObjectType()); for (UUID cur : mapping.keySet()) { final ObjectType type = mapping.get(cur); all.addAll(customFieldDao.getCustomFieldsForObject(cur, type, internalCallContextFactory.createInternalCallContext(cur, type, context))); throw new CustomFieldApiException(ErrorCode.CUSTOM_FIELD_ALREADY_EXISTS, match.getId()); customFieldDao.create(new CustomFieldModelDao(cur), internalCallContextFactory.createInternalCallContext(cur.getObjectId(), cur.getObjectType(), context));
@Test(groups = "slow") public void testCreateCustomField() throws CustomFieldApiException { final UUID id = UUID.randomUUID(); final ObjectType objectType = ObjectType.ACCOUNT; String fieldName = "TestField1"; String fieldValue = "Kitty Hawk"; final CustomField field = new StringCustomField(fieldName, fieldValue, objectType, id, internalCallContext.getCreatedDate()); eventsListener.pushExpectedEvent(NextEvent.CUSTOM_FIELD); customFieldDao.create(new CustomFieldModelDao(field), internalCallContext); assertListenerStatus(); fieldName = "TestField2"; fieldValue = "Cape Canaveral"; final CustomField field2 = new StringCustomField(fieldName, fieldValue, objectType, id, internalCallContext.getCreatedDate()); eventsListener.pushExpectedEvent(NextEvent.CUSTOM_FIELD); customFieldDao.create(new CustomFieldModelDao(field2), internalCallContext); assertListenerStatus(); } }
final CustomField customField = new StringCustomField(cfName, cfValue, ObjectType.ACCOUNT, accountId, callContext.getCreatedDate()); eventsListener.pushExpectedEvent(NextEvent.CUSTOM_FIELD); customFieldUserApi.addCustomFields(ImmutableList.<CustomField>of(customField), callContext); assertListenerStatus(); final List<CustomField> customFields = customFieldUserApi.getCustomFieldsForObject(accountId, ObjectType.ACCOUNT, callContext); Assert.assertEquals(customFields.size(), 1); Assert.assertEquals(customFields.get(0), customField); customFieldUserApi.removeCustomFields(customFields, callContext); List<CustomField> remainingCustomFields = customFieldUserApi.getCustomFieldsForObject(accountId, ObjectType.ACCOUNT, callContext); Assert.assertEquals(remainingCustomFields.size(), 0); final CustomField newCustomField = new StringCustomField(cfName, cfValue, ObjectType.ACCOUNT, accountId, callContext.getCreatedDate()); customFieldUserApi.addCustomFields(ImmutableList.<CustomField>of(newCustomField), callContext); remainingCustomFields = customFieldUserApi.getCustomFieldsForObject(accountId, ObjectType.ACCOUNT, callContext); Assert.assertEquals(remainingCustomFields.size(), 1); customFieldUserApi.removeCustomFields(remainingCustomFields, callContext); remainingCustomFields = customFieldUserApi.getCustomFieldsForObject(accountId, ObjectType.ACCOUNT, callContext); Assert.assertEquals(remainingCustomFields.size(), 0);
public static <E extends Entity, O, T extends BillingExceptionBase> Pagination<E> getEntityPaginationNoException(final Long limit, final SourcePaginationBuilder<O, T> sourcePaginationBuilder, final Function<O, E> function) { try { return getEntityPagination(limit, sourcePaginationBuilder, function); } catch (final BillingExceptionBase e) { throw new ShouldntHappenException("No exception expected" + e); } } }
@Override public boolean apply(final CustomField input) { if (customFieldList == null) { return true; } for (final String cur : requestedIds) { final UUID curId = UUID.fromString(cur); if (input.getId().equals(curId)) { return true; } } return false; } });
@Override protected void installCustomFieldDao() { bind(CustomFieldDao.class).to(MockCustomFieldDao.class).asEagerSingleton(); } }
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); }
throw new ShouldntHappenException("Marker exception for code clarity");
@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); } },
private Map<UUID, List<Subscription>> buildSubscriptionsFromEntitlements(final AccountEntitlements accountEntitlements) { final Map<UUID, List<Subscription>> subscriptionsPerBundle = new HashMap<UUID, List<Subscription>>(); for (final UUID bundleId : accountEntitlements.getEntitlements().keySet()) { if (subscriptionsPerBundle.get(bundleId) == null) { subscriptionsPerBundle.put(bundleId, new LinkedList<Subscription>()); } for (final Entitlement entitlement : accountEntitlements.getEntitlements().get(bundleId)) { if (entitlement instanceof DefaultEntitlement) { subscriptionsPerBundle.get(bundleId).add(new DefaultSubscription((DefaultEntitlement) entitlement)); } else { throw new ShouldntHappenException("Entitlement should be a DefaultEntitlement instance"); } } } return subscriptionsPerBundle; } }
@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); } },
return ImmutableList.<AuditLog>of(); default: throw new ShouldntHappenException("AuditLevel " + auditLevel + " unsupported");
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(); }