@Override public Collection<TenantDO> toChoices(final Collection<String> ids) { final List<TenantDO> list = new ArrayList<TenantDO>(); if (ids == null) { return list; } for (final String str : ids) { final Integer tenantId = NumberHelper.parseInteger(str); if (tenantId == null) { continue; } final TenantDO tenant = tenantService.getTenant(tenantId); if (tenant != null) { list.add(tenant); } } return list; }
private void initActualTenant() { if (ThreadLocalUserContext.getUserContext() == null) { return; } UserContext userContext = ThreadLocalUserContext.getUserContext(); TenantService tenantService = ApplicationContextProvider.getApplicationContext().getBean(TenantService.class); PFUserDO user = userContext.getUser(); if (user.getId() != null && tenantService.isMultiTenancyAvailable() == true) { // Try to find the last used tenant of the user: final Integer currentTenantId = (Integer) UserPreferencesHelper.getEntry(USER_PREF_KEY_CURRENT_TENANT); if (currentTenantId != null) { setCurrentTenant(tenantService.getTenant(currentTenantId)); } else { final Collection<TenantDO> tenants = tenantService.getTenantsOfUser(user.getId()); if (CollectionUtils.isNotEmpty(tenants) == true) { setCurrentTenant(tenants.iterator().next()); } } } }
/** * @param tenantIds * @return */ public Collection<TenantDO> getSortedTenants(final String tenantIds) { if (StringUtils.isEmpty(tenantIds) == true) { return null; } sortedTenants = new TreeSet<TenantDO>(tenantsComparator); final int[] ids = StringHelper.splitToInts(tenantIds, ",", false); for (final int id : ids) { final TenantDO tenant = tenantService.getTenant(id); if (tenant != null) { sortedTenants.add(tenant); } else { log.warn("Tenant with id '" + id + "' not found in UserTenantCache. tenantIds string was: " + tenantIds); } } return sortedTenants; }
/** * @param tenantIds * @return */ public List<String> getTenantNames(final String tenantIds) { if (StringUtils.isEmpty(tenantIds) == true) { return null; } final int[] ids = StringHelper.splitToInts(tenantIds, ",", false); final List<String> list = new ArrayList<>(); for (final int id : ids) { final TenantDO tenant = tenantService.getTenant(id); if (tenant != null) { list.add(tenant.getName()); } else { log.warn("Tenant with id '" + id + "' not found in UserTenantCache. tenantIds string was: " + tenantIds); } } return list; }
private void addAssignedTenants() { final FieldsetPanel fs = gridBuilder.newFieldset(getString("multitenancy.assignedTenants")).setLabelSide(false); final Collection<Integer> set = userService.getAssignedTenants(data); final TenantsProvider tenantsProvider = new TenantsProvider(tenantService); assignTenantsListHelper = new MultiChoiceListHelper<TenantDO>().setComparator(new TenantsComparator()).setFullList( tenantsProvider.getSortedTenants()); if (set != null) { for (final Integer tenantId : set) { final TenantDO tenant = tenantService.getTenant(tenantId); if (tenant != null) { assignTenantsListHelper.addOriginalAssignedItem(tenant).assignItem(tenant); } } } final Select2MultiChoice<TenantDO> tenants = new Select2MultiChoice<TenantDO>(fs.getSelect2MultiChoiceId(), new PropertyModel<Collection<TenantDO>>(this.assignTenantsListHelper, "assignedItems"), tenantsProvider); fs.add(tenants); }