List of usage examples for org.apache.commons.configuration CompositeConfiguration CompositeConfiguration
public CompositeConfiguration()
From source file:cc.kune.wave.server.CustomSettingsBinder.java
/** * Bind configuration parameters into Guice Module. * * @param propertyFile the property file * @param settingsArg the settings arg/*from w ww . ja v a 2s .c o m*/ * @return a Guice module configured with setting support. * @throws ConfigurationException on configuration error */ public static Module bindSettings(String propertyFile, Class<?>... settingsArg) throws ConfigurationException { final CompositeConfiguration config = new CompositeConfiguration(); config.addConfiguration(new SystemConfiguration()); config.addConfiguration(new PropertiesConfiguration(propertyFile)); List<Field> fields = new ArrayList<Field>(); for (Class<?> settings : settingsArg) { fields.addAll(Arrays.asList(settings.getDeclaredFields())); } // Reflect on settings class and absorb settings final Map<Setting, Field> settings = new LinkedHashMap<Setting, Field>(); for (Field field : fields) { if (!field.isAnnotationPresent(Setting.class)) { continue; } // Validate target type SettingTypeValidator typeHelper = supportedSettingTypes.get(field.getType()); if (typeHelper == null || !typeHelper.check(field.getGenericType())) { throw new IllegalArgumentException(field.getType() + " is not one of the supported setting types"); } Setting setting = field.getAnnotation(Setting.class); settings.put(setting, field); } // Now validate them List<String> missingProperties = new ArrayList<String>(); for (Setting setting : settings.keySet()) { if (setting.defaultValue().isEmpty()) { if (!config.containsKey(setting.name())) { missingProperties.add(setting.name()); } } } if (missingProperties.size() > 0) { StringBuilder error = new StringBuilder(); error.append("The following required properties are missing from the server configuration: "); error.append(Joiner.on(", ").join(missingProperties)); throw new ConfigurationException(error.toString()); } // bundle everything up in an injectable guice module return new AbstractModule() { @Override protected void configure() { // We must iterate the settings a third time when binding. // Note: do not collapse these loops as that will damage // early error detection. The runtime is still O(n) in setting count. for (Map.Entry<Setting, Field> entry : settings.entrySet()) { Class<?> type = entry.getValue().getType(); Setting setting = entry.getKey(); if (int.class.equals(type)) { Integer defaultValue = null; if (!setting.defaultValue().isEmpty()) { defaultValue = Integer.parseInt(setting.defaultValue()); } bindConstant().annotatedWith(Names.named(setting.name())) .to(config.getInteger(setting.name(), defaultValue)); } else if (boolean.class.equals(type)) { Boolean defaultValue = null; if (!setting.defaultValue().isEmpty()) { defaultValue = Boolean.parseBoolean(setting.defaultValue()); } bindConstant().annotatedWith(Names.named(setting.name())) .to(config.getBoolean(setting.name(), defaultValue)); } else if (String.class.equals(type)) { bindConstant().annotatedWith(Names.named(setting.name())) .to(config.getString(setting.name(), setting.defaultValue())); } else { String[] value = config.getStringArray(setting.name()); if (value.length == 0 && !setting.defaultValue().isEmpty()) { value = setting.defaultValue().split(","); } bind(new TypeLiteral<List<String>>() { }).annotatedWith(Names.named(setting.name())).toInstance(ImmutableList.copyOf(value)); } } } }; }
From source file:gda.configuration.properties.JakartaPropertiesConfig.java
/** * Constructor for JakartaPropertiesConfig objects. Creates a new composite configuration and adds a system * configuration to it.//from w w w . j a v a 2 s . c om */ public JakartaPropertiesConfig() { // create global composite to store all loaded property config data config = new CompositeConfiguration(); // create a system properties configuration - grabs all system // properties. Configuration sysConfig = new SystemConfiguration(); config.addConfiguration(sysConfig); // create map to store individual configs configMap = new HashMap<String, Configuration>(); // put system properties in the map configMap.put("system", sysConfig); }
From source file:com.dattack.dbtools.drules.DrulesClient.java
private static CompositeConfiguration loadProperties(final String[] propertyFiles) throws ConfigurationException { final CompositeConfiguration configuration = new CompositeConfiguration(); configuration.addConfiguration(GlobalConfiguration.getConfiguration()); if (propertyFiles != null) { for (final String filename : propertyFiles) { if (StringUtils.isNotBlank(filename)) { configuration.addConfiguration( new PropertiesConfiguration(ConfigurationUtil.interpolate(filename, configuration))); }/*from w w w. ja va 2 s. c o m*/ } } return configuration; }
From source file:com.caricah.iotracah.bootstrap.runner.impl.DefaultRunner.java
/** * Initializes this instance./*from w w w. ja v a 2 s .co m*/ * <p> * This method should be called once the JVM process is created and the * <code>Runner</code> instance is created thru its empty public * constructor. * </p> * <p> * Apart from set up and allocation of native resources, this method * does not start actual operation of <code>Runner</code> (such * as starting threads.) as it would impose serious security hazards. The * start of operation must be performed in the <code>start()</code> * method. * </p> * * @throws UnRetriableException Any exception preventing a successful * initialization. */ @Override public void init() throws UnRetriableException { log.trace(" init : initializing system configurations"); //First load the system settings as the defaults. CompositeConfiguration configuration = new CompositeConfiguration(); configuration.addConfiguration(new SystemConfiguration()); setConfiguration(configuration); log.info(" init : {} set to : {}", "iotracah.pidfile", System.getProperty("iotracah.pidfile")); log.info(" init : {} set to : {}", "iotracah.default.path.home", System.getProperty("iotracah.default.path.home")); log.info(" init : {} set to : {}", "iotracah.default.path.logs", System.getProperty("iotracah.default.path.logs")); log.info(" init : {} set to : {}", "iotracah.default.path.data", System.getProperty("iotracah.default.path.data")); log.info(" init : {} set to : {}", "iotracah.default.path.conf", System.getProperty("iotracah.default.path.conf")); for (ConfigHandler configHandler : getConfigurationSetLoader()) { log.debug(" init : found the configuration handler {} ", configHandler); Configuration newConfigs = configHandler.populateConfiguration(getConfiguration()); setConfiguration(newConfigs); } for (LogHandler logHandler : getLogSetLoader()) { log.debug(" init : Configuring logging using handler {} ", logHandler); logHandler.configure(getConfiguration()); } }
From source file:com.cloudera.whirr.cm.CmServerClusterInstance.java
public synchronized static Configuration getConfiguration(ClusterSpec clusterSpec) throws IOException { try {/*from w w w. ja v a 2 s.c o m*/ CompositeConfiguration configuration = new CompositeConfiguration(); if (clusterSpec != null) { configuration.addConfiguration(clusterSpec.getConfiguration()); } configuration.addConfiguration(new PropertiesConfiguration( CmServerClusterInstance.class.getClassLoader().getResource(CONFIG_WHIRR_DEFAULT_FILE))); return configuration; } catch (ConfigurationException e) { throw new IOException("Error loading " + CONFIG_WHIRR_DEFAULT_FILE, e); } }
From source file:com.strandls.alchemy.webservices.client.ClientInitModule.java
/** * @return configuration for the client. *//* w w w . ja v a2s. c om*/ private Configuration getConfiguration() { final CompositeConfiguration config = new CompositeConfiguration(); config.addConfiguration(new SystemConfiguration()); try { config.addConfiguration(new PropertiesConfiguration(CLIENT_PROPERTIES)); } catch (final ConfigurationException e) { throw new RuntimeException(e); } return config; }
From source file:com.dattack.dbping.engine.PingEngine.java
private void execute(final File file, final Set<String> taskNames) throws ConfigurationException, DattackParserException { if (file.isDirectory()) { final File[] files = file.listFiles(FilesystemUtils.createFilenameFilterByExtension("xml")); if (files != null) { for (final File child : files) { execute(child, taskNames); }/* ww w .j a va2 s . c o m*/ } } else { final DbpingBean dbpingBean = DbpingParser.parse(file); for (final PingTaskBean pingTaskBean : dbpingBean.getTaskList()) { if (taskNames != null && !taskNames.isEmpty() && !taskNames.contains(pingTaskBean.getName())) { continue; } final CompositeConfiguration conf = new CompositeConfiguration(); conf.setProperty("task.name", pingTaskBean.getName()); conf.addConfiguration(ConfigurationUtil.createEnvSystemConfiguration()); final DataSource dataSource = new JNDIDataSource(pingTaskBean.getDatasource()); final SqlCommandProvider sentenceProvider = getSentenceProvider(pingTaskBean.getCommandProvider()); sentenceProvider.setSentences(pingTaskBean.getSqlStatementList()); final LogWriter logWriter = new CSVFileLogWriter( ConfigurationUtil.interpolate(pingTaskBean.getLogFile(), conf)); final LogHeader logHeader = new LogHeader(pingTaskBean); logWriter.write(logHeader); for (int i = 0; i < pingTaskBean.getThreads(); i++) { pool.submit(new PingJob(pingTaskBean, dataSource, sentenceProvider, logWriter), pingTaskBean.getName() + "@Thread-" + i); } } } }
From source file:com.blazebit.jbake.mojo.BuildMojo.java
protected CompositeConfiguration createConfiguration() throws ConfigurationException { final CompositeConfiguration config = new CompositeConfiguration(); if (properties != null) { config.addConfiguration(new MapConfiguration(properties)); }//w w w . jav a2 s .co m config.addConfiguration(new MapConfiguration(project.getProperties())); config.addConfiguration(ConfigUtil.load(inputDirectory)); if (getLog().isDebugEnabled()) { getLog().debug("Configuration:"); Iterator<String> iter = config.getKeys(); while (iter.hasNext()) { String key = iter.next(); getLog().debug(key + ": " + config.getString(key)); } } return config; }
From source file:com.manydesigns.portofino.modules.MailModule.java
@Override public void init() { CompositeConfiguration mailConfiguration = new CompositeConfiguration(); mailConfiguration.addConfiguration(configuration); try {//from w w w . ja v a 2 s . c o m mailConfiguration .addConfiguration(new PropertiesConfiguration(getClass().getResource("mail.properties"))); } catch (ConfigurationException e) { logger.error("Could not load mail configuration defaults"); } mailQueueSetup = new MailQueueSetup(mailConfiguration); mailQueueSetup.setup(); SimpleMenuAppender group = SimpleMenuAppender.group("mail", null, "Mail", 4.0); adminMenu.menuAppenders.add(group); SimpleMenuAppender link = SimpleMenuAppender.link("mail", "Mail", null, "Mail", MailSettingsAction.URL_BINDING, 1.0); adminMenu.menuAppenders.add(link); servletContext.setAttribute(MAIL_CONFIGURATION, mailQueueSetup.getMailConfiguration()); MailQueue mailQueue = mailQueueSetup.getMailQueue(); if (mailQueue == null) { logger.info("Mail queue not enabled"); return; } servletContext.setAttribute(MAIL_QUEUE, mailQueue); servletContext.setAttribute(MAIL_SENDER, mailQueueSetup.getMailSender()); status = ModuleStatus.ACTIVE; }
From source file:com.dattack.dbtools.drules.engine.DefaultNotificationActionBeanVisitor.java
private void sendMail(final ConfigurationSmtpBean config, final NotificationActionSendMailBean action) throws EmailException, AddressException, ConfigurationException, TemplateException, IOException { if (config == null) { LOGGER.warn("Missing SMTP configuration. Please, check your configuration file."); return;/* w w w . j a v a 2 s. co m*/ } final CompositeConfiguration configuration = new CompositeConfiguration(); configuration.addConfiguration(ThreadContext.getInstance().getConfiguration()); configuration.setDelimiterParsingDisabled(true); configuration.setProperty(PropertyNames.TASK_NAME, flightRecorder.getTaskBean().getName()); configuration.setProperty(PropertyNames.LOG, flightRecorder.getReport().toString()); configuration.setProperty(PropertyNames.SUCCESS_ROWS, flightRecorder.getSuccessCounter()); configuration.setProperty(PropertyNames.ERROR_ROWS, flightRecorder.getErrorCounter()); configuration.setProperty(PropertyNames.WARNING_ROWS, flightRecorder.getWarningCounter()); for (final ConfigurationMailingListBean item : config.getMailingLists()) { configuration.setProperty(item.getName(), item.getAddressList()); } final HtmlEmailBuilder htmlEmailBuilder = new HtmlEmailBuilder() // .withHostName(ConfigurationUtil.interpolate(config.getHostname(), configuration)) // .withPort(config.getPort()) // .withUsername(ConfigurationUtil.interpolate(config.getUsername(), configuration)) // .withPassword(ConfigurationUtil.interpolate(config.getPassword(), configuration)) // .withFrom(ConfigurationUtil.interpolate(config.getFrom(), configuration)) // .withSubject(ConfigurationUtil.interpolate(action.getSubject(), configuration)) // .withMessage(formatMessage(action, configuration)) // .withSslOnConnect(config.isSslOnConnect()) // .withStartTlsEnabled(config.isStartTlsEnabled()); // for (final String to : action.getToAddressesList()) { final String[] addresses = StringUtils.split(ConfigurationUtil.interpolate(to, configuration), " ,"); for (final String item : addresses) { htmlEmailBuilder.withToAddress(new InternetAddress(item)); } } htmlEmailBuilder.build().send(); }