@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); } }
public static DbDataComparisonConfig createFromProperties(String path) { try { URL url = DbDataComparisonConfigFactory.class.getClassLoader().getResource(path); if (url == null) { url = new File(path).toURI().toURL(); } if (url == null) { throw new IllegalArgumentException("Could not find resource or file at path: " + path); } return createFromProperties(new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class).configure(new Parameters().properties() .setURL(url) .setListDelimiterHandler(new LegacyListDelimiterHandler(',')) ).getConfiguration()); } catch (ConfigurationException e) { throw new RuntimeException(e); } catch (MalformedURLException e) { throw new IllegalArgumentException("Could not find resource or file at path: " + path, e); } }
private HierarchicalConfiguration<ImmutableNode> loadPropertiesFromUrl(FileObject file) { try { return new FileBasedConfigurationBuilder<>(FixedYAMLConfiguration.class) .configure(new Parameters().hierarchical().setURL(file.getURLDa())) .getConfiguration(); } catch (ConfigurationException e) { throw new DeployerRuntimeException(e); } }
public XMLConfiguration loadConfig(String configFile) throws ConfigurationException { Parameters params = new Parameters(); FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<XMLConfiguration>(XMLConfiguration.class) .configure(params.xml() .setFileName(configFile)); XMLConfiguration xmlConfig = builder.getConfiguration(); return xmlConfig; }
new FallbackBasePathLocationStrategy(FileLocatorUtils.DEFAULT_LOCATION_STRATEGY, home); FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class) .configure(new Parameters().xml().setLocationStrategy(locationStrategy).setFileName(fileName).setSchemaValidation(true) .setEntityResolver(new ResourceSchemaResolver())); propertiesConfiguration = new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class) .configure(new Parameters().properties().setLocationStrategy(propertiesLocationStrategy) .setFileName(propertiesFileName).setEncoding(Charsets.UTF_8.name()).setThrowExceptionOnMissing(false)) .getConfiguration();
/** * Creates a new instance of {@code Configurations} and initializes it with * the specified {@code Parameters} object. * * @param params the {@code Parameters} (may be <b>null</b>, then a default * instance is created) */ public Configurations(final Parameters params) { parameters = (params != null) ? params : new Parameters(); }
/** * Convenience method for creating a parameters object for a file-based * configuration. * * @return the newly created parameters object */ private FileBasedBuilderParameters fileParams() { return getParameters().fileBased(); }
public static DbDataComparisonConfig createFromProperties(String path) { try { URL url = DbDataComparisonConfigFactory.class.getClassLoader().getResource(path); if (url == null) { url = new File(path).toURI().toURL(); } if (url == null) { throw new IllegalArgumentException("Could not find resource or file at path: " + path); } return createFromProperties(new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class).configure(new Parameters().properties() .setURL(url) .setListDelimiterHandler(new LegacyListDelimiterHandler(',')) ).getConfiguration()); } catch (ConfigurationException e) { throw new RuntimeException(e); } catch (MalformedURLException e) { throw new IllegalArgumentException("Could not find resource or file at path: " + path, e); } }
private HierarchicalConfiguration<ImmutableNode> loadPropertiesFromUrl(FileObject file) { try { return new FileBasedConfigurationBuilder<>(FixedYAMLConfiguration.class) .configure(new Parameters().hierarchical().setURL(file.getURLDa())) .getConfiguration(); } catch (ConfigurationException e) { throw new DeployerRuntimeException(e); } }
private static FileBasedConfiguration createConfiguration(Reader reader) throws ConfigurationException { if (reader == null) { throw new NullPointerException("reader: null"); } FileBasedConfigurationBuilder<FileBasedConfiguration> builder = new FileBasedConfigurationBuilder<FileBasedConfiguration>(XMLConfiguration.class) .configure(new Parameters().xml()); FileBasedConfiguration fileBasedConfiguration = builder.getConfiguration(); FileHandler handler = new FileHandler(fileBasedConfiguration); handler.load(reader); return fileBasedConfiguration; }
private static FileBasedConfiguration createPropertiesConfiguration(Reader reader) throws ConfigurationException, IOException { if (reader == null) { throw new NullPointerException("reader: null"); } FileBasedConfigurationBuilder<FileBasedConfiguration> builder = new FileBasedConfigurationBuilder<FileBasedConfiguration>(PropertiesConfiguration.class) .configure(new Parameters() .properties() .setListDelimiterHandler(new DefaultListDelimiterHandler(','))); FileBasedConfiguration config = builder.getConfiguration(); config.read(reader); return config; }
public ExternalToolService() throws ConfigurationException { ClasspathResource resource = new ClasspathResource(ExternalToolConstants.EXTERNAL_TOOL_VERSIONS_FILE); Parameters params = new Parameters(); FileBasedConfigurationBuilder<JSONConfiguration> configBuilder = new FileBasedConfigurationBuilder<>(JSONConfiguration.class).configure(params.hierarchical() .setLocationStrategy(new ClasspathLocationStrategy()) .setFileName(ExternalToolConstants.EXTERNAL_TOOL_VERSIONS_FILE)); externalToolsConfiguration = configBuilder.getConfiguration(); }
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())); } } }
/** * Loads the Apache Commons Configuration2 {@link XMLConfiguration} from the given file. By default, * the {@link XPathExpressionEngine} is set. * @param configurationFile * @return * @throws ConfigurationException */ public static XMLConfiguration loadXmlConfiguration(File configurationFile) throws ConfigurationException { try { Parameters params = new Parameters(); FileBasedConfigurationBuilder<XMLConfiguration> configBuilder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class).configure(params .xml() .setExpressionEngine(new XPathExpressionEngine()) .setFile(configurationFile)); return configBuilder.getConfiguration(); } catch (org.apache.commons.configuration2.ex.ConfigurationException e) { throw new ConfigurationException(e); } }
/** * The singleton map os not entirely awesome, but this allows our legacy code to * benefit from live reloads for configuration while the application is running * * @param configFile the path to the config file which should be loaded * @return configuration file */ public static INIConfiguration parseConfig(String configFile) { if (!MAP.containsKey(configFile)) { ReloadingFileBasedConfigurationBuilder<INIConfiguration> builder = new ReloadingFileBasedConfigurationBuilder<>( INIConfiguration.class).configure(new Parameters().properties().setFileName(configFile)); PeriodicReloadingTrigger trigger = new PeriodicReloadingTrigger(builder.getReloadingController(), null, 1, TimeUnit.MINUTES); trigger.start(); MAP.put(configFile, builder); } try { return MAP.get(configFile).getConfiguration(); } catch (ConfigurationException ex) { throw new RuntimeException("Could not read " + configFile); } }
private void loadZeidonIni( InputStream iniFile ) { if ( iniFile == null ) throw new ZeidonException( "Could not find " + iniFileName ); InputStreamReader reader = new InputStreamReader( iniFile ); try { DefaultExpressionEngine engine = new DefaultExpressionEngine( DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS, NodeNameMatchers.EQUALS_IGNORE_CASE ); Parameters params = new Parameters(); FileBasedConfigurationBuilder<INIConfiguration> builder = new FileBasedConfigurationBuilder<INIConfiguration>( INIConfiguration.class ) .configure( params.hierarchical().setExpressionEngine( engine ) ); iniConfObj = builder.getConfiguration(); iniConfObj.read( reader ); reader.close(); sectionNameMap = new HashMap<>(); for ( String sectionName : iniConfObj.getSections() ) sectionNameMap.put( sectionName.toLowerCase(), sectionName ); } catch ( Exception e ) { throw ZeidonException.wrapException( e ).prependFilename( iniFileName ); } finally { IOUtils.closeQuietly( reader ); } }
Parameters params = new Parameters(); .configure(params.fileBased() .setFile(new File(this.configDefinition)) .setListDelimiterHandler(listDelimiterHandler));
/** * This default implementation constructs an empty {@link XMLConfiguration} with an {@link XPathExpressionEngine} * and a UTF-8 encoding. Note that when using this template generation method, the keys of the configuration * must be given in XPath form, i.e. 'key/subkey' instead of the default dotted notation 'key.subkey'. * @return An empty XMLConfiguration template. * @throws ConfigurationException If the template generation fails. */ default HierarchicalConfiguration<ImmutableNode> createConfigurationTemplate() throws ConfigurationException { Parameters params = new Parameters(); FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<XMLConfiguration>(XMLConfiguration.class) .configure(params.xml() .setExpressionEngine(new XPathExpressionEngine()) .setEncoding(StandardCharsets.UTF_8.name()) ); XMLConfiguration c; try { c = builder.getConfiguration(); exposeParameters("", c); } catch (org.apache.commons.configuration2.ex.ConfigurationException e) { throw new ConfigurationException(); } return c; }
public ApplicationConfiguration(final String filePath) { final CombinedConfiguration combinedConfiguration = new CombinedConfiguration(new MergeCombiner()); // Prefer System properties. combinedConfiguration.addConfiguration(new SystemConfiguration()); final Parameters parameters = new Parameters(); final FileBasedConfigurationBuilder builder = new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class).configure(parameters.properties() .setFileName(filePath)); try { combinedConfiguration.addConfiguration((Configuration) builder.getConfiguration()); } catch (ConfigurationException var5) { LOGGER.warn(String.format("No configuration found at %s.\nUsing defaults.", filePath)); } this.configuration = combinedConfiguration; }
@Test public void yamlTest() throws Exception { ImmutableHierarchicalConfiguration configuration = new FileBasedConfigurationBuilder<>(FixedYAMLConfiguration.class) .configure(new Parameters().hierarchical() .setFile(new File("./src/test/resources/DbEnvironmentXmlEnricher/system-config.yaml")) // .setFile(new File("./src/test/resources/DbEnvironmentXmlEnricher/system-config.xml")) ).getConfiguration(); System.out.println(configuration); }