List of usage examples for org.apache.commons.configuration HierarchicalConfiguration getBoolean
public boolean getBoolean(String key, boolean defaultValue)
From source file:org.apache.james.mailrepository.file.MBoxMailRepository.java
public void configure(HierarchicalConfiguration configuration) throws ConfigurationException { /*//from w w w. j a v a 2s. c o m The repository configuration */ String destination; this.mList = null; BUFFERING = configuration.getBoolean("[@BUFFERING]", true); fifo = configuration.getBoolean("[@FIFO]", false); destination = configuration.getString("[@destinationURL]"); if (destination.charAt(destination.length() - 1) == '/') { // Remove the trailing / as well as the protocol marker mboxFile = destination.substring("mbox://".length(), destination.lastIndexOf("/")); } else { mboxFile = destination.substring("mbox://".length()); } if (getLogger().isDebugEnabled()) { getLogger().debug("MBoxMailRepository.destinationURL: " + destination); } String checkType = configuration.getString("[@type]"); if (!(checkType.equals("MAIL") || checkType.equals("SPOOL"))) { String exceptionString = "Attempt to configure MboxMailRepository as " + checkType; if (getLogger().isWarnEnabled()) { getLogger().warn(exceptionString); } throw new ConfigurationException(exceptionString); } }
From source file:org.apache.james.modules.mailbox.ListenerConfiguration.java
public static ListenerConfiguration from(HierarchicalConfiguration configuration) { String listenerClass = configuration.getString("class"); Preconditions.checkState(!Strings.isNullOrEmpty(listenerClass), "class name is mandatory"); Optional<Boolean> isAsync = Optional.ofNullable(configuration.getBoolean("async", null)); return new ListenerConfiguration(listenerClass, extractSubconfiguration(configuration), isAsync); }
From source file:org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer.java
/** * @see/* www. j a va 2 s . c o m*/ * org.apache.james.lifecycle.api.Configurable * #configure(org.apache.commons.configuration.HierarchicalConfiguration) */ public final void configure(HierarchicalConfiguration config) throws ConfigurationException { enabled = config.getBoolean("[@enabled]", true); final Logger logger = getLogger(); if (!enabled) { logger.info(getServiceType() + " disabled by configuration"); return; } String listen[] = config.getString("bind", "0.0.0.0:" + getDefaultPort()).split(","); List<InetSocketAddress> bindAddresses = new ArrayList<InetSocketAddress>(); for (String aListen : listen) { String bind[] = aListen.split(":"); InetSocketAddress address; String ip = bind[0].trim(); int port = Integer.parseInt(bind[1].trim()); if (!ip.equals("0.0.0.0")) { try { ip = InetAddress.getByName(ip).getHostName(); } catch (UnknownHostException unhe) { throw new ConfigurationException( "Malformed bind parameter in configuration of service " + getServiceType(), unhe); } } address = new InetSocketAddress(ip, port); String infoBuffer = getServiceType() + " bound to: " + ip + ":" + port; logger.info(infoBuffer); bindAddresses.add(address); } setListenAddresses(bindAddresses.toArray(new InetSocketAddress[bindAddresses.size()])); jmxName = config.getString("jmxName", getDefaultJMXName()); int ioWorker = config.getInt("ioWorkerCount", DEFAULT_IO_WORKER_COUNT); setIoWorkerCount(ioWorker); maxExecutorThreads = config.getInt("maxExecutorCount", DEFAULT_MAX_EXECUTOR_COUNT); configureHelloName(config); setTimeout(config.getInt(TIMEOUT_NAME, DEFAULT_TIMEOUT)); StringBuilder infoBuffer = new StringBuilder(64).append(getServiceType()) .append(" handler connection timeout is: ").append(getTimeout()); logger.info(infoBuffer.toString()); setBacklog(config.getInt(BACKLOG_NAME, DEFAULT_BACKLOG)); infoBuffer = new StringBuilder(64).append(getServiceType()).append(" connection backlog is: ") .append(getBacklog()); logger.info(infoBuffer.toString()); String connectionLimitString = config.getString("connectionLimit", null); if (connectionLimitString != null) { try { connectionLimit = new Integer(connectionLimitString); } catch (NumberFormatException nfe) { logger.error("Connection limit value is not properly formatted.", nfe); } if (connectionLimit < 0) { logger.error("Connection limit value cannot be less than zero."); throw new ConfigurationException("Connection limit value cannot be less than zero."); } else if (connectionLimit > 0) { infoBuffer = new StringBuilder(128).append(getServiceType()).append(" will allow a maximum of ") .append(connectionLimitString).append(" connections."); logger.info(infoBuffer.toString()); } } String connectionLimitPerIP = config.getString("connectionLimitPerIP", null); if (connectionLimitPerIP != null) { try { connPerIP = Integer.parseInt(connectionLimitPerIP); } catch (NumberFormatException nfe) { logger.error("Connection limit per IP value is not properly formatted.", nfe); } if (connPerIP < 0) { logger.error("Connection limit per IP value cannot be less than zero."); throw new ConfigurationException("Connection limit value cannot be less than zero."); } else if (connPerIP > 0) { infoBuffer = new StringBuilder(128).append(getServiceType()).append(" will allow a maximum of ") .append(connPerIP).append(" per IP connections for ").append(getServiceType()); logger.info(infoBuffer.toString()); } } useStartTLS = config.getBoolean("tls.[@startTLS]", false); useSSL = config.getBoolean("tls.[@socketTLS]", false); if (useSSL && useStartTLS) throw new ConfigurationException("startTLS is only supported when using plain sockets"); if (useStartTLS || useSSL) { enabledCipherSuites = config.getStringArray("tls.supportedCipherSuites.cipherSuite"); keystore = config.getString("tls.keystore", null); if (keystore == null) { throw new ConfigurationException("keystore needs to get configured"); } secret = config.getString("tls.secret", ""); x509Algorithm = config.getString("tls.algorithm", defaultX509algorithm); } doConfigure(config); }
From source file:org.apache.james.rrt.lib.AbstractRecipientRewriteTable.java
/** * @see org.apache.james.lifecycle.api.Configurable#configure(HierarchicalConfiguration) *///w w w. jav a 2 s. c o m public void configure(HierarchicalConfiguration config) throws ConfigurationException { setRecursiveMapping(config.getBoolean("recursiveMapping", true)); try { setMappingLimit(config.getInt("mappingLimit", 10)); } catch (IllegalArgumentException e) { throw new ConfigurationException(e.getMessage()); } doConfigure(config); }
From source file:org.apache.james.smtpserver.fastfail.DNSRBLHandler.java
@Override public void init(Configuration config) throws ConfigurationException { boolean validConfig = false; HierarchicalConfiguration handlerConfiguration = (HierarchicalConfiguration) config; ArrayList<String> rblserverCollection = new ArrayList<String>(); Collections.addAll(rblserverCollection, handlerConfiguration.getStringArray("rblservers.whitelist")); if (rblserverCollection.size() > 0) { setWhitelist(rblserverCollection.toArray(new String[rblserverCollection.size()])); rblserverCollection.clear();/* www . ja va2 s. c o m*/ validConfig = true; } Collections.addAll(rblserverCollection, handlerConfiguration.getStringArray("rblservers.blacklist")); if (rblserverCollection.size() > 0) { setBlacklist(rblserverCollection.toArray(new String[rblserverCollection.size()])); rblserverCollection.clear(); validConfig = true; } // Throw an ConfiigurationException on invalid config if (!validConfig) { throw new ConfigurationException("Please configure whitelist or blacklist"); } setGetDetail(handlerConfiguration.getBoolean("getDetail", false)); }
From source file:org.apache.james.smtpserver.netty.SMTPServer.java
@Override public void doConfigure(HierarchicalConfiguration configuration) throws ConfigurationException { super.doConfigure(configuration); if (isEnabled()) { String authRequiredString = configuration.getString("authRequired", "false").trim().toLowerCase(); if (authRequiredString.equals("true")) authRequired = AUTH_REQUIRED; else if (authRequiredString.equals("announce")) authRequired = AUTH_ANNOUNCE; else/* w ww .j ava2 s. c om*/ authRequired = AUTH_DISABLED; if (authRequired != AUTH_DISABLED) { getLogger().info("This SMTP server requires authentication."); } else { getLogger().info("This SMTP server does not require authentication."); } authorizedAddresses = configuration.getString("authorizedAddresses", null); if (authRequired == AUTH_DISABLED && authorizedAddresses == null) { /* * if SMTP AUTH is not required then we will use * authorizedAddresses to determine whether or not to relay * e-mail. Therefore if SMTP AUTH is not required, we will not * relay e-mail unless the sending IP address is authorized. * * Since this is a change in behavior for James v2, create a * default authorizedAddresses network of 0.0.0.0/0, which * matches all possible addresses, thus preserving the current * behavior. * * James v3 should require the <authorizedAddresses> element. */ authorizedAddresses = "0.0.0.0/0.0.0.0"; } if (authorizedNetworks != null) { getLogger().info("Authorized addresses: " + authorizedNetworks.toString()); } // get the message size limit from the conf file and multiply // by 1024, to put it in bytes maxMessageSize = configuration.getLong("maxmessagesize", maxMessageSize) * 1024; if (maxMessageSize > 0) { getLogger().info("The maximum allowed message size is " + maxMessageSize + " bytes."); } else { getLogger().info("No maximum message size is enforced for this server."); } heloEhloEnforcement = configuration.getBoolean("heloEhloEnforcement", true); if (authRequiredString.equals("true")) authRequired = AUTH_REQUIRED; // get the smtpGreeting smtpGreeting = configuration.getString("smtpGreeting", null); addressBracketsEnforcement = configuration.getBoolean("addressBracketsEnforcement", true); verifyIdentity = configuration.getBoolean("verifyIdentity", true); } }
From source file:org.apache.james.user.ldap.LdapRepositoryConfiguration.java
public static LdapRepositoryConfiguration from(HierarchicalConfiguration configuration) throws ConfigurationException { String ldapHost = configuration.getString("[@ldapHost]", ""); String principal = configuration.getString("[@principal]", ""); String credentials = configuration.getString("[@credentials]", ""); String userBase = configuration.getString("[@userBase]"); String userIdAttribute = configuration.getString("[@userIdAttribute]"); String userObjectClass = configuration.getString("[@userObjectClass]"); // Default is to use connection pooling boolean useConnectionPool = configuration.getBoolean("[@useConnectionPool]", USE_CONNECTION_POOL); int connectionTimeout = configuration.getInt("[@connectionTimeout]", NO_CONNECTION_TIMEOUT); int readTimeout = configuration.getInt("[@readTimeout]", NO_READ_TIME_OUT); // Default maximum retries is 1, which allows an alternate connection to // be found in a multi-homed environment int maxRetries = configuration.getInt("[@maxRetries]", 1); boolean supportsVirtualHosting = configuration.getBoolean(SUPPORTS_VIRTUAL_HOSTING, !ENABLE_VIRTUAL_HOSTING);// w w w . j a v a 2 s . c o m // Default retry start interval is 0 second long retryStartInterval = configuration.getLong("[@retryStartInterval]", 0); // Default maximum retry interval is 60 seconds long retryMaxInterval = configuration.getLong("[@retryMaxInterval]", 60); int scale = configuration.getInt("[@retryIntervalScale]", 1000); // seconds HierarchicalConfiguration restrictionConfig = null; // Check if we have a restriction we can use // See JAMES-1204 if (configuration.containsKey("restriction[@memberAttribute]")) { restrictionConfig = configuration.configurationAt("restriction"); } ReadOnlyLDAPGroupRestriction restriction = new ReadOnlyLDAPGroupRestriction(restrictionConfig); //see if there is a filter argument String filter = configuration.getString("[@filter]"); Optional<String> administratorId = Optional.ofNullable(configuration.getString("[@administratorId]")); return new LdapRepositoryConfiguration(ldapHost, principal, credentials, userBase, userIdAttribute, userObjectClass, useConnectionPool, connectionTimeout, readTimeout, maxRetries, supportsVirtualHosting, retryStartInterval, retryMaxInterval, scale, restriction, filter, administratorId); }
From source file:org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository.java
/** * Extracts the parameters required by the repository instance from the * James server configuration data. The fields extracted include * {@link #ldapHost}, {@link #userIdAttribute}, {@link #userBase}, * {@link #principal}, {@link #credentials} and {@link #restriction}. * * @param configuration//from w ww .j a va 2 s . co m * An encapsulation of the James server configuration data. */ public void configure(HierarchicalConfiguration configuration) throws ConfigurationException { ldapHost = configuration.getString("[@ldapHost]", ""); principal = configuration.getString("[@principal]", ""); credentials = configuration.getString("[@credentials]", ""); userBase = configuration.getString("[@userBase]"); userIdAttribute = configuration.getString("[@userIdAttribute]"); userObjectClass = configuration.getString("[@userObjectClass]"); // Default is to use connection pooling useConnectionPool = configuration.getBoolean("[@useConnectionPool]", true); connectionTimeout = configuration.getInt("[@connectionTimeout]", -1); readTimeout = configuration.getInt("[@readTimeout]", -1); // Default maximum retries is 1, which allows an alternate connection to // be found in a multi-homed environment maxRetries = configuration.getInt("[@maxRetries]", 1); // Default retry start interval is 0 second long retryStartInterval = configuration.getLong("[@retryStartInterval]", 0); // Default maximum retry interval is 60 seconds long retryMaxInterval = configuration.getLong("[@retryMaxInterval]", 60); int scale = configuration.getInt("[@retryIntervalScale]", 1000); // seconds schedule = new DoublingRetrySchedule(retryStartInterval, retryMaxInterval, scale); HierarchicalConfiguration restrictionConfig = null; // Check if we have a restriction we can use // See JAMES-1204 if (configuration.containsKey("restriction[@memberAttribute]")) { restrictionConfig = configuration.configurationAt("restriction"); } restriction = new ReadOnlyLDAPGroupRestriction(restrictionConfig); //see if there is a filter argument filter = configuration.getString("[@filter]"); }
From source file:org.apache.james.user.lib.AbstractJamesUsersRepository.java
@Override public void configure(HierarchicalConfiguration configuration) throws ConfigurationException { setIgnoreCase(configuration.getBoolean("ignoreCase", false)); setEnableAliases(configuration.getBoolean("enableAliases", false)); setEnableForwarding(configuration.getBoolean("enableForwarding", false)); super.configure(configuration); }
From source file:org.apache.james.user.lib.AbstractUsersRepository.java
/** * @see/*from w ww.j a va 2s . c om*/ * org.apache.james.lifecycle.api.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration) */ public void configure(HierarchicalConfiguration configuration) throws ConfigurationException { virtualHosting = configuration.getBoolean("enableVirtualHosting", getDefaultVirtualHostingValue()); doConfigure(configuration); }