public InternalTenantContext createInternalTenantContext(final UUID accountId, final InternalTenantContext context) { final Long tenantRecordId = context.getTenantRecordId(); final Long accountRecordId = getAccountRecordId(accountId, ObjectType.ACCOUNT); return new InternalTenantContext(tenantRecordId, accountRecordId); }
protected TenantContext buildTenantContext(final InternalTenantContext context) { return context.toTenantContext(nonEntityDao.retrieveIdFromObject(context.getTenantRecordId(), ObjectType.TENANT)); }
private TenantContext buildTenantContext(final InternalTenantContext context) { return context.toTenantContext(nonEntityDao.retrieveIdFromObject(context.getTenantRecordId(), ObjectType.TENANT)); }
private void computeEntitlementsToCancel(final Account account, final List<Entitlement> result, final InternalTenantContext context) throws EntitlementApiException { final UUID tenantId = nonEntityDao.retrieveIdFromObject(context.getTenantRecordId(), ObjectType.TENANT); final List<Entitlement> allEntitlementsForAccountId = entitlementApi.getAllEntitlementsForAccountId(account.getId(), context.toTenantContext(tenantId)); // Entitlement is smart enough and will cancel the associated add-ons. See also discussion in https://github.com/killbill/killbill/issues/94 final Collection<Entitlement> allEntitlementsButAddonsForAccountId = Collections2.<Entitlement>filter(allEntitlementsForAccountId, new Predicate<Entitlement>() { @Override public boolean apply(final Entitlement entitlement) { return !ProductCategory.ADD_ON.equals(entitlement.getLastActiveProductCategory()); } }); result.addAll(allEntitlementsButAddonsForAccountId); }
public void exportDataForAccount(final DatabaseExportOutputStream out, final InternalTenantContext context) { if (context.getAccountRecordId() == null || context.getTenantRecordId() == null) { return; } final List<DefaultColumnInfo> columns = databaseSchemaDao.getColumnInfoList(); if (columns.size() == 0) { return; } final List<ColumnInfo> columnsForTable = new ArrayList<ColumnInfo>(); // The list of columns is ordered by table name first String lastSeenTableName = columns.get(0).getTableName(); for (final ColumnInfo column : columns) { if (!column.getTableName().equals(lastSeenTableName)) { exportDataForAccountAndTable(out, columnsForTable, context); lastSeenTableName = column.getTableName(); columnsForTable.clear(); } columnsForTable.add(column); } exportDataForAccountAndTable(out, columnsForTable, context); }
@Override public Void withHandle(final Handle handle) throws Exception { final ResultIterator<Map<String, Object>> iterator = handle.createQuery(queryBuilder.toString()) .bind("accountRecordId", context.getAccountRecordId()) .bind("tenantRecordId", context.getTenantRecordId()) .iterator(); try { while (iterator.hasNext()) { final Map<String, Object> row = iterator.next(); out.write(row); } } finally { iterator.close(); } return null; } });
@Override public void bind(final SQLStatement q, final InternalTenantContextBinder bind, final InternalTenantContext context) { if (context.getTenantRecordId() == null) { q.bind("tenantRecordId", context.getTenantRecordId());