private InternalTenantContext createInternalTenantContext(final TenantContext tenantContext) { // Only tenantRecordId will be populated -- this is important to always create the (ehcache) key the same way return internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(tenantContext); } }
private InternalTenantContext createInternalTenantContext(final TenantContext tenantContext) { // Only tenantRecordId will be populated -- this is important to always create the (ehcache) key the same way return internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(tenantContext); }
@Override public Account getAccountByKey(final String key, final TenantContext context) throws AccountApiException { final InternalTenantContext internalTenantContext = internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context); return getAccountByKey(key, internalTenantContext); }
@Override public Pagination<AccountModelDao> build() { return accountDao.searchAccounts(searchKey, offset, limit, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); } },
@Override public Pagination<CustomFieldModelDao> build() { return customFieldDao.get(offset, limit, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); } },
@Override public List<AccountEmail> getEmails(final UUID accountId, final TenantContext context) { return ImmutableList.<AccountEmail>copyOf(Collections2.transform(accountDao.getEmailsByAccountId(accountId, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)), new Function<AccountEmailModelDao, AccountEmail>() { @Override public AccountEmail apply(final AccountEmailModelDao input) { return new DefaultAccountEmail(input); } })); }
@Override public Pagination<TagModelDao> build() { return tagDao.searchTags(searchKey, offset, limit, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); } },
@Override public Pagination<AccountModelDao> build() { return accountDao.get(offset, limit, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); } },
@Override public List<TagDefinition> getTagDefinitions(final TenantContext context) { return ImmutableList.<TagDefinition>copyOf(Collections2.transform(tagDefinitionDao.getTagDefinitions(true, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)), new Function<TagDefinitionModelDao, TagDefinition>() { @Override public TagDefinition apply(final TagDefinitionModelDao input) { return new DefaultTagDefinition(input, TagModelDaoHelper.isControlTag(input.getName())); } })); }
@Override public List<TagDefinition> getTagDefinitions(final Collection<UUID> tagDefinitionIds, final TenantContext context) throws TagDefinitionApiException { return ImmutableList.<TagDefinition>copyOf(Collections2.transform(tagDefinitionDao.getByIds(tagDefinitionIds, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)), new Function<TagDefinitionModelDao, TagDefinition>() { @Override public TagDefinition apply(final TagDefinitionModelDao input) { return new DefaultTagDefinition(input, TagModelDaoHelper.isControlTag(input.getName())); } })); }
@Override public Pagination<TagModelDao> build() { return tagDao.get(offset, limit, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); } },
@Override public Pagination<CustomFieldModelDao> build() { return customFieldDao.searchCustomFields(searchKey, offset, limit, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); } },
@Override public List<Account> getChildrenAccounts(final UUID parentAccountId, final TenantContext context) throws AccountApiException { return ImmutableList.<Account>copyOf(Collections2.transform(accountDao.getAccountsByParentId(parentAccountId, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)), new Function<AccountModelDao, Account>() { @Override public Account apply(final AccountModelDao input) { return new DefaultAccount(input); } })); }
@Override public List<AuditLog> getAuditLogs(final UUID objectId, final ObjectType objectType, final AuditLevel auditLevel, final TenantContext context) { // Optimization - bail early if (AuditLevel.NONE.equals(auditLevel)) { return ImmutableList.<AuditLog>of(); } final TableName tableName = getTableNameFromObjectType(objectType); if (tableName == null) { return ImmutableList.<AuditLog>of(); } return auditDao.getAuditLogsForId(tableName, objectId, auditLevel, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); }
@Override public List<CustomField> getCustomFieldsForObject(final UUID objectId, final ObjectType objectType, final TenantContext context) { return withCustomFieldsTransform(customFieldDao.getCustomFieldsForObject(objectId, objectType, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context))); }
@Override public List<String> getTenantValuesForKey(final String key, final TenantContext context) throws TenantApiException { final InternalTenantContext internalContext = internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context); if (!isCachedInTenantKVCache(key)) { return tenantDao.getTenantValueForKey(key, internalContext); } else { return getCachedTenantValuesForKey(key, internalContext); } }
@Override public TagDefinition getTagDefinitionForName(final String tagDefinitionName, final TenantContext context) throws TagDefinitionApiException { return new DefaultTagDefinition(tagDefinitionDao.getByName(tagDefinitionName, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)), TagModelDaoHelper.isControlTag(tagDefinitionName)); }
@Override public TagDefinition getTagDefinition(final UUID tagDefinitionId, final TenantContext context) throws TagDefinitionApiException { final TagDefinitionModelDao tagDefinitionModelDao = tagDefinitionDao.getById(tagDefinitionId, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); return new DefaultTagDefinition(tagDefinitionModelDao, TagModelDaoHelper.isControlTag(tagDefinitionModelDao.getName())); }
@Override public void deleteCatalog(final CallContext callContext) throws CatalogApiException { final InternalTenantContext internalTenantContext = internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(callContext); try { tenantApi.deleteTenantKey(TenantKey.CATALOG.toString(), callContext); catalogCache.clearCatalog(internalTenantContext); createDefaultEmptyCatalog(callContext.getCreatedDate(), callContext); } catch (final TenantApiException e) { throw new CatalogApiException(e); } }
@Override public void createDefaultEmptyCatalog(@Nullable final DateTime effectiveDate, final CallContext callContext) throws CatalogApiException { try { final InternalTenantContext internalTenantContext = internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(callContext); final StandaloneCatalog currentCatalog = getCurrentStandaloneCatalogForTenant(internalTenantContext); final CatalogUpdater catalogUpdater = (currentCatalog != null) ? new CatalogUpdater(currentCatalog) : new CatalogUpdater(getSafeFirstCatalogEffectiveDate(effectiveDate, callContext), null); tenantApi.updateTenantKeyValue(TenantKey.CATALOG.toString(), catalogUpdater.getCatalogXML(), callContext); catalogCache.clearCatalog(internalTenantContext); } catch (TenantApiException e) { throw new CatalogApiException(e); } }