private TenantRegistry createSingleTenantRegistry() { synchronized (this) { return new TenantRegistry(tenantService.getDefaultTenant(), applicationContext); } }
public TenantDO insertDefaultTenant() { log.info("Checking if default tenant exists."); try { String selectDefaultTenant = "SELECT * FROM t_tenant WHERE pk = 1"; SqlRowSet selectResult = jdbcTemplate.queryForRowSet(selectDefaultTenant); if (selectResult != null && selectResult.getRow() > 0) { return tenantService.getDefaultTenant(); } } catch (Exception e) { log.warn("Something went wrong while checking for default tenant: " + e.getMessage()); } log.info("Adding default tenant."); String insertDefaultTenant = "INSERT INTO t_tenant(PK, CREATED, DELETED, LAST_UPDATE, DEFAULT_TENANT, NAME, SHORTNAME, DESCRIPTION, TENANT_ID) " + "VALUES (1,'2016-03-17 14:00:00',FALSE,'2016-03-17 14:00:00',TRUE,'Default tenant','Default tenant','defaultTenant',1)"; jdbcTemplate.execute(insertDefaultTenant); log.info("Adding default tenant finished."); tenantService.resetTenantTableStatus(); return tenantService.getDefaultTenant(); }
public TenantDO getCurrentTenant() { final UserContext userContext = ThreadLocalUserContext.getUserContext(); final TenantDO currentTenant = userContext != null ? userContext.getCurrentTenant() : tenantService.getDefaultTenant(); return currentTenant; }
public TeamEventDO getByUid(Integer calendarId, final String uid, final boolean excludeDeleted) { if (uid == null) { return null; } final StringBuilder sqlQuery = new StringBuilder(); final List<Object> params = new ArrayList<>(); sqlQuery.append("select e from TeamEventDO e where e.uid = :uid AND e.tenant = :tenant"); params.add("uid"); params.add(uid); params.add("tenant"); params.add(ThreadLocalUserContext.getUser() != null ? ThreadLocalUserContext.getUser().getTenant() : tenantService.getDefaultTenant()); if (excludeDeleted) { sqlQuery.append(" AND e.deleted = :deleted"); params.add("deleted"); params.add(false); } // workaround to still handle old requests if (calendarId != null) { sqlQuery.append(" AND e.calendar.id = :calendarId"); params.add("calendarId"); params.add(calendarId); } try { return emgrFac.runRoTrans(emgr -> emgr.selectSingleAttached(TeamEventDO.class, sqlQuery.toString(), params.toArray())); } catch (NoResultException | NonUniqueResultException e) { return null; } }
@Override public List<PFUserDO> getAllUsers() { try { TenantDO tenant = ThreadLocalUserContext.getUser().getTenant() != null ? ThreadLocalUserContext.getUser().getTenant() : tenantService.getDefaultTenant(); return userDao.internalLoadAll(tenant); } catch (final Exception ex) { log.error( "******* Exception while getting users from data-base (OK only in case of migration from older versions): " + ex.getMessage(), ex); return new ArrayList<PFUserDO>(); } }
/** * Sets the current tenant (of the logged-in user) for the given object. If no current tenant found, the default * tenant of the system is used (if exist). If no such tenant exist, null is set as the object's tenant. <br/> * If no multi-tenancy is configured, nothing is done. * * @param obj */ public void setCurrentTenant(final BaseDO<?> obj) { if (tenantService.isMultiTenancyAvailable() == false) { return; } TenantDO currentTenant = getCurrentTenant(); if (currentTenant == null) { currentTenant = tenantService.getDefaultTenant(); } obj.setTenant(currentTenant); }
public void isTenantSet(final BaseDO obj, final boolean setTenantIfNotExist) { if (obj.getTenant() == null && setTenantIfNotExist) { //TODO FB: IS this the correct tenant? TenantDO tenant = ThreadLocalUserContext.getUser().getTenant(); if (tenant == null) { tenant = tenantService.getDefaultTenant(); } obj.setTenant(tenant); } } }
XStream.PRIORITY_VERY_HIGH); TenantDO defaultTenant = tenantService.getDefaultTenant();
private TenantDO getTenant() { return ThreadLocalUserContext.getUser() != null && ThreadLocalUserContext.getUser().getTenant() != null ? ThreadLocalUserContext.getUser().getTenant() : tenantService.getDefaultTenant(); }
public PFUserDO addUser(final PFUserDO user) { user.setTenant(tenantService.getDefaultTenant()); Set<UserRightDO> userRights = new HashSet<>(user.getRights()); user.getRights().clear(); userService.save(user); userRights.forEach(right -> userRightDao.internalSave(right)); Set<TenantDO> tenantsToAssign = new HashSet<>(); tenantsToAssign.add(tenantService.getDefaultTenant()); tenantDao.internalAssignTenants(user, tenantsToAssign, null, false, false); putUser(user); if (user.getUsername().equals(AbstractTestBase.ADMIN) == true) { AbstractTestBase.ADMIN_USER = user; } return user; }
public AddressDO findByUid(final String uid) { final TenantDO tenant = ThreadLocalUserContext.getUser().getTenant() != null ? ThreadLocalUserContext.getUser().getTenant() : tenantService.getDefaultTenant(); return emgrFactory.runRoTrans(emgr -> { return emgr.selectSingleAttached(AddressDO.class, "SELECT a FROM AddressDO a WHERE a.uid = :uid AND tenant = :tenant", "uid", uid, "tenant", tenant); }); } }
public EmployeeDO getEmployeeByStaffnumber(String staffnumber) { EmployeeDO result = null; try { result = emgrFactory.runRoTrans(emgr -> { String baseSQL = "SELECT e FROM EmployeeDO e WHERE e.staffNumber = :staffNumber"; TenantDO tenant; if (ThreadLocalUserContext.getUser() == null || ThreadLocalUserContext.getUser().getTenant() == null) { tenant = tenantService.getDefaultTenant(); } else { tenant = ThreadLocalUserContext.getUser().getTenant(); } return emgr.selectSingleDetached(EmployeeDO.class, baseSQL + META_SQL, "staffNumber", staffnumber, "deleted", false, "tenant", tenant); }); } catch (NoResultException ex) { log.warn("No employee found for staffnumber: " + staffnumber); } return result; } }
final TenantDO defaultTenant = tenantService.getDefaultTenant(); if (defaultTenant != null) { final PFUserDO user = ThreadLocalUserContext.getUser();
hrGroup.setDescription("Users for having full access to the companies hr."); hrGroup.setCreated(); hrGroup.setTenant(applicationContext.getBean(TenantService.class).getDefaultTenant());
TenantDO defaultTenant = tenantService.getDefaultTenant();
/** * @param adminUser The admin user with the desired username and the salted password (salt string included). * @param adminUserTimezone */ public PFUserDO updateAdminUser(PFUserDO user, final TimeZone adminUserTimezone) { //Update test data user with data from setup page PFUserDO adminUser = userDao.getInternalByName(DEFAULT_ADMIN_USER); adminUser.setUsername(user.getUsername()); adminUser.setPassword(user.getPassword()); adminUser.setPasswordSalt(user.getPasswordSalt()); adminUser.setLocalUser(true); adminUser.setTimeZone(adminUserTimezone); adminUser.setTenant(tenantService.getDefaultTenant()); adminUser.setSuperAdmin(true); userDao.internalUpdate(adminUser); ThreadLocalUserContext.setUser(getUserGroupCache(), adminUser); TenantRegistryMap.getInstance().clear(); UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache(); userGroupCache.forceReload(); return adminUser; }
admin = databaseService.updateAdminUser(admin, null); Set<TenantDO> tenantsToAssign = new HashSet<>(); tenantsToAssign.add(tenantService.getDefaultTenant()); tenantDao.internalAssignTenants(admin, tenantsToAssign, null, false, false); databaseService.afterCreatedTestDb(true);
private void initialize() { if (initialized == true) { return; } defaultTenant = tenantService.getDefaultTenant(); logon(TEST_ADMIN_USER); final ConfigurationDO configurationDO = configurationDao.getEntry(ConfigurationParam.MULTI_TENANCY_ENABLED); configurationDO.setBooleanValue(true); configurationDao.internalUpdate(configurationDO); superAdminDefault = createUser("mt_superAdminDefault", true); superAdmin2 = createUser("mt_superAdmin2", true); superAdmin3 = createUser("mt_superAdmin3", true); admin1 = createUser("mt_admin1", false); admin2 = createUser("mt_admin2", false); user1 = initTestDB.addUser(new PFUserDO().setUsername("mt_user1")); logon(superAdminDefault); // defaultTenant = createTenant("Tenant 1", true, superAdminDefault, admin1); tenant2 = createTenant("Tenant 2", false, superAdmin2, superAdminDefault, admin1, admin2); tenant3 = createTenant("Tenant 3", false); }