protected boolean canCreateUser() { boolean result = config.getOptionAsBoolean( WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_AUTOCREATE_USER.getKey()); return result; }
static public void help() { System.out.println("Wikitty configuration and action"); System.out.println("Options (set with --option <key> <value>:"); for (WikittyConfigOption o : WikittyConfigOption.values()) { log.debug("\t" + o.key + "(" + o.defaultValue + "):" + t(o.description)); } log.debug("Actions:"); for (WikittyConfigAction a : WikittyConfigAction.values()) { log.debug("\t" + java.util.Arrays.toString(a.aliases) + "(" + a.action + "):" + t(a.description)); } System.exit(0); }
public String getOptionValue(ApplicationConfig config) { String result = config.getOption(getKey()); return result; }
static public ApplicationConfig getConfig( Properties props, String configFilename, String ... args) { ApplicationConfig config = new ApplicationConfig(props, configFilename); config.loadDefaultOptions(WikittyConfigOption.values()); config.loadActions(WikittyConfigAction.values()); try { config.parse(args); } catch (ArgumentsParserException eee) { if (log.isErrorEnabled()) { log.error("Can't load wikitty configuration", eee); } } return config; }
/** * Par default on utilise le mot de passe en parametre, sauf s'il est blanc * ou null, dans se cas on utilise le mot de passe general. * @param config * @param password * @return */ static public String getCryptPassword(ApplicationConfig config, String password) { if (StringUtils.isBlank(password)) { password = config.getOption(WikittyConfigOption.WIKITTY_STORAGE_CRYPT_PASSWORD.getKey()); } return password; }
public void put(String extensionName, WikittyExtensionMigration o) { String key = WikittyConfigOption.WIKITTY_MIGRATION_CLASS.getKey() + extensionName; config.putObject(key, o); }
public WikittyImportExportService(WikittyClient client) { this.client = client; ApplicationConfig config = client.getConfig(); exportDirectory = config.getOption( WikittyConfigOption.WIKITTY_EXPORT_DIRECTORY.getKey()); exportPublicURL = config.getOption( WikittyConfigOption.WIKITTY_EXPORT_PUBLICURL.getKey()); int maxThread = config.getOptionAsInt( WikittyConfigOption.WIKITTY_EXPORT_THREADNUMBER.getKey()); this.importExportExecutor = Executors.newFixedThreadPool(maxThread); }
public WikittyServiceSecurityExternalAuthenticationLDAP(ApplicationConfig config) { this.config = config; // on charge toutes les options jndi Properties jndiPropTmp = config.getOptionStartsWith(WikittyConfigOption .WIKITTY_SERVICE_AUTHENTICATION_LDAP_JNDI.getKey()); jndiProp = new Properties(); for (Enumeration<String> e=(Enumeration<String>)jndiPropTmp.propertyNames(); e.hasMoreElements();) { String key = e.nextElement(); String value = jndiPropTmp.getProperty(key); int debut = WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_JNDI.getKey().length(); key = key.substring(debut); jndiProp.setProperty(key, value); } // on charge l'url du serveur ldap String serverUrl = config.getOption( WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_SERVER.getKey()); jndiProp.put(Context.PROVIDER_URL, serverUrl); // on charge le pattern des logins (DN) ldapLoginPattern = config.getOption( WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_LOGIN_PATTERN.getKey()); }
/** * * @param ws * @param props */ public XMPPNotifierTransporter(ApplicationConfig config) { propagateEvent = config.getOptionAsBoolean(WikittyConfigOption. WIKITTY_EVENT_PROPAGATE.getKey()); listenEvent = config.getOptionAsBoolean(WikittyConfigOption. WIKITTY_EVENT_LISTEN.getKey()); initXMPP(config); }
public WikittyServiceAuthenticationLDAP(ApplicationConfig config, WikittyService ws) { super(config, ws); long timeToLogInfo = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_INFO.getKey()); long timeToLogWarn = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_WARN.getKey()); timeLog.setTimeToLogInfo(timeToLogInfo); timeLog.setTimeToLogWarn(timeToLogWarn); // on charge toutes les options jndi Properties jndiPropTmp = config.getOptionStartsWith(WikittyConfigOption .WIKITTY_SERVICE_AUTHENTICATION_LDAP_JNDI.getKey()); jndiProp = new Properties(); for (Enumeration<String> e=(Enumeration<String>)jndiPropTmp.propertyNames(); e.hasMoreElements();) { String key = e.nextElement(); String value = jndiPropTmp.getProperty(key); int debut = WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_JNDI.getKey().length(); key = key.substring(debut); jndiProp.setProperty(key, value); } // on charge l'url du serveur ldap String serverUrl = config.getOption( WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_SERVER.getKey()); jndiProp.put(Context.PROVIDER_URL, serverUrl); // on charge le pattern des logins (DN) ldapLoginPattern = config.getOption( WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_LDAP_LOGIN_PATTERN.getKey()); }
public WikittyProxy(ApplicationConfig config) { if (config != null) { long timeToLogInfo = config.getOptionAsInt(WikittyConfigOption. WIKITTY_PROXY_TIME_TO_LOG_INFO.getKey()); long timeToLogWarn = config.getOptionAsInt(WikittyConfigOption. WIKITTY_PROXY_TIME_TO_LOG_WARN.getKey()); timeLog.setTimeToLogInfo(timeToLogInfo); timeLog.setTimeToLogWarn(timeToLogWarn); } }
public WikittyServiceAccessStat(ApplicationConfig config, WikittyService service, AccessStatStorage statStorage) { super(service); this.statStorage = statStorage; if (statStorage == null) { if (log.isWarnEnabled()) { String statSto = config.getOption(WikittyConfigOption. WIKITTY_WIKITTYSERVICEACCESSSTAT_COMPONENTS.getKey()); log.warn(String.format( "No AccessStatStorage available, access stat can't work (%s)", statSto)); } } else { // if no statStorage, make empty extensions to never call statStorage List<String> exts = config.getOptionAsList(WikittyConfigOption. WIKITTY_ACCESSSTAT_EXTENSIONS.getKey()).getOption(); if (log.isInfoEnabled()) { log.info(String.format("Monitor access to extensions %s", exts)); } extensions.addAll(exts); } }
public WikittyServiceAuthentication(ApplicationConfig config, WikittyService ws) { super(config, ws); if (config != null) { long timeToLogInfo = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_INFO.getKey()); long timeToLogWarn = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_WARN.getKey()); timeLog.setTimeToLogInfo(timeToLogInfo); timeLog.setTimeToLogWarn(timeToLogWarn); } }
public WikittyExtensionMigration get(String extensionName) { try { String key = WikittyConfigOption.WIKITTY_MIGRATION_CLASS.getKey() + extensionName; WikittyExtensionMigration result = config.getOptionAsSingleton(WikittyExtensionMigration.class, key); return result; } catch (Exception eee) { throw new WikittyException("Can't get migration class in configuration", eee); } }
public WikittyServiceAuthenticationAbstract( ApplicationConfig config, WikittyService delegate) { super(delegate); this.config = config; if (config != null) { long timeToLogInfo = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_INFO.getKey()); long timeToLogWarn = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_WARN.getKey()); timeLog.setTimeToLogInfo(timeToLogInfo); timeLog.setTimeToLogWarn(timeToLogWarn); } }
/** * * @param config * @param ws */ public WikittyServiceAuthorisation(ApplicationConfig config, WikittyService ws) { super(ws); if (config != null) { long timeToLogInfo = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_INFO.getKey()); long timeToLogWarn = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_WARN.getKey()); timeLog.setTimeToLogInfo(timeToLogInfo); timeLog.setTimeToLogWarn(timeToLogWarn); } }
/** * * @param config not used currently but necessary in futur to configure the cache * Create a soft cache. */ public WikittyCacheSimple(ApplicationConfig config) { List<String> priorityExtensions = config.getOptionAsList( WikittyConfigOption.WIKITTY_CACHE_PRIORITY_EXTENSIONS.getKey()).getOption(); this.priorityExtensions.addAll(priorityExtensions); String refType = config.getOption( WikittyConfigOption.WIKITTY_CACHE_SIMPLE_REFERENCE_TYPE.getKey()); if ("soft".equalsIgnoreCase(refType)) { wikittyCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT); extensionCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT); } else { // HARD reference use normal map wikittyCache = new HashMap<String, Wikitty>(); extensionCache = new HashMap<String, WikittyExtension>(); } }
/** * * @param config * @param ws * @param auth si non null alors un mecanisme d'authentification externe est * utilise */ public WikittyServiceSecurity(ApplicationConfig config, WikittyService ws, WikittyServiceSecurityExternalAuthentication auth) { super(ws); this.auth = auth; if (config != null) { externalAuthOnly = config.getOptionAsBoolean(WikittyConfigOption. WIKITTY_SECURITY_EXTERNAL_AUTHENTICATION_ONLY.getKey()); long timeToLogInfo = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_INFO.getKey()); long timeToLogWarn = config.getOptionAsInt(WikittyConfigOption. WIKITTY_SERVICE_TIME_TO_LOG_WARN.getKey()); timeLog.setTimeToLogInfo(timeToLogInfo); timeLog.setTimeToLogWarn(timeToLogWarn); } }
/** * Verifie si la date du token depasse le temps authorise pour un token * Si l'option n'est pas presente dans la config retourne toujours false * (donc le token a une validite permanente) * * @param date la date a verifier * @return vrai si la date est depassee */ public static boolean isOutdated( ApplicationConfig config, WikittyService ws, String tokenId) { boolean result = false; if (config != null) { // TODO poussin 20120123 prevoir un timeout dans la config // qui invaliderait le vieux token et en recreerait un nouveau long timeout = 1000 * config.getOptionAsLong( WikittyConfigOption.WIKITTY_SERVICE_AUTHENTICATION_TIMEOUT.getKey()); if (timeout > 0) { Wikitty token = ws.restore( null, Collections.singletonList(tokenId)).get(0); Date date = WikittyTokenHelper.getDate(token); Date now = new Date(); long nowMillis = now.getTime(); long dateMillis = date.getTime(); long delta = nowMillis - dateMillis; result = delta > timeout; } } return result; }
public WikittyServiceCajoClient(ApplicationConfig config) { try { String url = config.getOption(WikittyConfigOption. WIKITTY_SERVER_URL.getKey()); // cajo url is not http or other protocol, url must start with // // example: //localhost:1198/ws // remove protocol int i = url.indexOf("://"); if (i >= 0) { url = url.substring(i+1); } log.info(String.format("Looking for serveur '%s'", url)); WikittyService ws = (WikittyService) TransparentItemProxy.getItem( url, new Class[]{WikittyService.class}); setDelegate(ws); } catch (Exception eee) { throw new WikittyException("Can't find wikitty server", eee); } }