use of org.apache.commons.configuration2.builder.fluent.FileBasedBuilderParameters in project nifi by apache.
the class CommonsConfigurationLookupService method onEnabled.
@OnEnabled
public void onEnabled(final ConfigurationContext context) throws InitializationException {
final String config = context.getProperty(CONFIGURATION_FILE).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);
}
}
use of org.apache.commons.configuration2.builder.fluent.FileBasedBuilderParameters in project vcell by virtualcell.
the class VCellConfiguration method getConfiguration.
private static synchronized Configuration getConfiguration() throws ConfigurationException {
if (configurationBuilder == null) {
Parameters params = new Parameters();
File propertiesFile = new File(ResourceUtil.getVcellHome(), "vcellconfig.properties");
if (!propertiesFile.exists()) {
try {
propertiesFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileBasedBuilderParameters thing = params.fileBased().setFile(propertiesFile);
configurationBuilder = new FileBasedConfigurationBuilder<PropertiesConfiguration>(PropertiesConfiguration.class).configure(thing);
configurationBuilder.setAutoSave(true);
try {
propertiesConfiguration = configurationBuilder.getConfiguration();
propertiesConfiguration.setSynchronizer(new ReadWriteSynchronizer());
} catch (org.apache.commons.configuration2.ex.ConfigurationException e) {
e.printStackTrace();
throw new ConfigurationException("failed to create configuration from file " + propertiesFile + ": " + e.getMessage());
}
}
return propertiesConfiguration;
}
Aggregations