@Override public boolean getFlagCheckPasswordChange() { try { final ConfigurationDO flagCheckPwChangeConf = configDao.getEntry(ConfigurationParam.PASSWORD_FLAG_CHECK_CHANGE); if (flagCheckPwChangeConf != null) { final Boolean flagCheckPwChange = flagCheckPwChangeConf.getBooleanValue(); if (flagCheckPwChange != null) { return flagCheckPwChange; } } } catch (final RuntimeException e) { // this could happen if the database is not initialized (during projectforge initial setup) log.warn("Exception while getting configuration flag - password change requirement.", e); } return ConfigurationParam.PASSWORD_FLAG_CHECK_CHANGE.getDefaultBooleanValue(); }
@Override public int getMinPasswordLength() { try { final ConfigurationDO minPwLenEntry = configDao.getEntry(ConfigurationParam.MIN_PASSWORD_LENGTH); if (minPwLenEntry != null) { final Integer minPwLenValue = minPwLenEntry.getIntValue(); if (minPwLenValue != null) { return minPwLenValue; } } } catch (final RuntimeException e) { // this could happen if the database is not initialized (during projectforge initial setup) log.warn("Exception while getting the min password length configuration.", e); } return ConfigurationParam.MIN_PASSWORD_LENGTH.getDefaultIntValue(); }
list = new ArrayList<ConfigurationDO>(); for (final ConfigurationParam param : ConfigurationParam.values()) { if (param.isGlobal() != global) { continue; if (StringUtils.equals(param.getKey(), entry.getParameter()) == true) { configuration = entry; break; continue; log.info(identifier + ": " + entry.getKey().getKey() + "=" + value);
@Override public boolean storePluginToBeActivated(String id, boolean activate) { Set<String> active = getActivePlugins(); if (activate == true) { active.add(id); } else { active.remove(id); } String sval = StringUtils.join(active, ","); ConfigurationDO configuration = configurationDao.getEntry(ConfigurationParam.PLUGIN_ACTIVATED); if (configuration == null) { configuration = new ConfigurationDO(); ConfigurationParam param = ConfigurationParam.PLUGIN_ACTIVATED; configuration.setParameter(param.getKey()); configuration.setConfigurationType(param.getType()); configuration.setGlobal(param.isGlobal()); } configuration.setStringValue(sval); configurationDao.saveOrUpdate(configuration); GlobalConfiguration.getInstance().forceReload(); return false; }
/** * Checks and creates missing data base entries. Updates also out-dated descriptions. */ @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW, isolation = Isolation.REPEATABLE_READ) public void checkAndUpdateDatabaseEntries() { final List<ConfigurationDO> list = internalLoadAll(); final Set<String> params = new HashSet<String>(); for (final ConfigurationParam param : ConfigurationParam.values()) { checkAndUpdateDatabaseEntry(param, list, params); } for (final ConfigurationDO entry : list) { if (params.contains(entry.getParameter()) == false) { log.error("Unknown configuration entry. Mark as deleted: " + entry.getParameter()); internalMarkAsDeleted(entry); } } }
/** * Force reload of the Configuration cache. * * @see org.projectforge.framework.persistence.api.BaseDao#afterSaveOrModify(ExtendedBaseDO) * @see AbstractConfiguration#setExpired() */ @Override protected void afterSaveOrModify(final ConfigurationDO obj) { if (obj.getParameter().equals(ConfigurationParam.MULTI_TENANCY_ENABLED.getKey()) && obj.getBooleanValue() == true) { // Enable current logged in user as super admin user. final Integer adminUserId = ThreadLocalUserContext.getUserId(); final PFUserDO adminUser = userDao.getById(adminUserId); log.info("Enabling current user as super admin (for administer tenants) because he has enabled multi-tenancy: " + adminUser.getDisplayUsername()); adminUser.setSuperAdmin(true); userDao.update(adminUser); } if (obj.getGlobal() == true) { GlobalConfiguration.getInstance().setExpired(); } else { final TenantDO tenant = obj.getTenant(); final TenantRegistry tenantRegistry = TenantRegistryMap.getInstance().getTenantRegistry(tenant); tenantRegistry.getConfiguration().setExpired(); } }
final MaxLengthTextField textField = new MaxLengthTextField(InputPanel.WICKET_ID, new PropertyModel<String>(data, "stringValue")); if (ConfigurationParam.CALENDAR_DOMAIN.getI18nKey().equals(data.getI18nKey()) == true) { textField.setRequired(true); textField.add(new IValidator<String>()
@Test public void testGetMinPasswordLength() { final int defaultMinPwLen = ConfigurationParam.MIN_PASSWORD_LENGTH.getDefaultIntValue(); // default assertEquals(defaultMinPwLen, configurationService.getMinPasswordLength()); final ConfigurationDO minPwLenEntry = configurationDao.getEntry(ConfigurationParam.MIN_PASSWORD_LENGTH); minPwLenEntry.setIntValue(16); configurationDao.internalUpdate(minPwLenEntry); assertEquals(16, configurationService.getMinPasswordLength()); // null -> use default minPwLenEntry.setIntValue(null); configurationDao.internalUpdate(minPwLenEntry); assertEquals(defaultMinPwLen, configurationService.getMinPasswordLength()); }
/** * Test flag password change verification on newly entered password, that passwords have to change. */ @Test public void testGetFlagPasswordChange() { final boolean defaultFlagPwChange = ConfigurationParam.PASSWORD_FLAG_CHECK_CHANGE.getDefaultBooleanValue(); // default assertEquals(defaultFlagPwChange, configurationService.getFlagCheckPasswordChange()); final ConfigurationDO flagPwChange = configurationDao.getEntry(ConfigurationParam.PASSWORD_FLAG_CHECK_CHANGE); flagPwChange.setBooleanValue(false); configurationDao.internalUpdate(flagPwChange); assertEquals(false, configurationService.getFlagCheckPasswordChange()); } }