Search in sources :

Example 1 with ReadWriteSynchronizer

use of org.apache.commons.configuration2.sync.ReadWriteSynchronizer 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;
}
Also used : Parameters(org.apache.commons.configuration2.builder.fluent.Parameters) FileBasedBuilderParameters(org.apache.commons.configuration2.builder.fluent.FileBasedBuilderParameters) FileBasedConfigurationBuilder(org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder) ConfigurationException(org.vcell.util.ConfigurationException) FileBasedBuilderParameters(org.apache.commons.configuration2.builder.fluent.FileBasedBuilderParameters) ReadWriteSynchronizer(org.apache.commons.configuration2.sync.ReadWriteSynchronizer) IOException(java.io.IOException) File(java.io.File)

Aggregations

File (java.io.File)1 IOException (java.io.IOException)1 FileBasedConfigurationBuilder (org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder)1 FileBasedBuilderParameters (org.apache.commons.configuration2.builder.fluent.FileBasedBuilderParameters)1 Parameters (org.apache.commons.configuration2.builder.fluent.Parameters)1 ReadWriteSynchronizer (org.apache.commons.configuration2.sync.ReadWriteSynchronizer)1 ConfigurationException (org.vcell.util.ConfigurationException)1