@OnEnabled public void onEnabled(final ConfigurationContext context) throws InitializationException { final String config = context.getProperty(CONFIGURATION_FILE).evaluateAttributeExpressions().getValue(); final FileBasedBuilderParameters params = new Parameters().fileBased().setFile(new File(config)); this.builder = new ReloadingFileBasedConfigurationBuilder<>(resultClass).configure(params); builder.addEventListener(ConfigurationBuilderEvent.CONFIGURATION_REQUEST, new EventListener<ConfigurationBuilderEvent>() { @Override public void onEvent(ConfigurationBuilderEvent event) { if (builder.getReloadingController().checkForReloading(null)) { getLogger().debug("Reloading " + config); } } }); try { // Try getting configuration to see if there is any issue, for example wrong file format. // Then throw InitializationException to keep this service in 'Enabling' state. builder.getConfiguration(); } catch (ConfigurationException e) { throw new InitializationException(e); } }
/** * Convenience method for creating a parameters object for a file-based * configuration. * * @return the newly created parameters object */ private FileBasedBuilderParameters fileParams() { return getParameters().fileBased(); }
private void configureFileBuilder(Enumeration<URL> urlResources) { Parameters params = new Parameters(); while (urlResources.hasMoreElements()) { BasicConfigurationBuilder<? extends Configuration> builder = createConfiguration(); URL url = urlResources.nextElement(); ((FileBasedConfigurationBuilder<?>) builder).configure(params.fileBased().setURL(url)); try { configurations.add(builder.getConfiguration()); } catch (ConfigurationException e) { logger.warning(message.failOnCreateApacheConfiguration(e.getMessage())); } } }
.configure(params.fileBased() .setFile(new File(this.configDefinition)) .setListDelimiterHandler(listDelimiterHandler));
/** * method used to get credentials from configuration xml */ public static String getValue(File file, String key) { if (!file.exists() || file.isDirectory()) { throw new ConfigurationRuntimeException("Cannot find a file with credentials"); } try { Parameters params = new Parameters(); FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class).configure(params.fileBased().setFile(file)); org.apache.commons.configuration2.Configuration config = builder.getConfiguration(); return config.getString(key); } catch (ConfigurationException e) { throw new ConfigurationRuntimeException(e); } }