Example usage for org.apache.commons.configuration HierarchicalINIConfiguration save

List of usage examples for org.apache.commons.configuration HierarchicalINIConfiguration save

Introduction

In this page you can find the example usage for org.apache.commons.configuration HierarchicalINIConfiguration save.

Prototype

public void save(Writer writer) throws ConfigurationException 

Source Link

Document

Save the configuration to the specified writer.

Usage

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

/**
 * Helper method for testing a save operation. This method constructs a
 * configuration from the specified content string. Then it saves this
 * configuration and checks whether the result matches the original content.
 *
 * @param content the content of the configuration
 * @throws ConfigurationException if an error occurs
 *//*from w w w.  ja v a2 s. c om*/
private void checkSave(String content) throws ConfigurationException {
    HierarchicalINIConfiguration config = setUpConfig(content);
    StringWriter writer = new StringWriter();
    config.save(writer);
    assertEquals("Wrong content of ini file", content, writer.toString());
}

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

@Test
public void testWriteValueWithCommentChar() throws Exception {
    HierarchicalINIConfiguration config = new HierarchicalINIConfiguration();
    config.setProperty("section.key1", "1;2;3");

    StringWriter writer = new StringWriter();
    config.save(writer);

    HierarchicalINIConfiguration config2 = new HierarchicalINIConfiguration();
    config2.load(new StringReader(writer.toString()));

    assertEquals("value", "1;2;3", config2.getString("section.key1"));
}

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

/**
 * Tests whether a configuration can be saved that contains section keys
 * with delimiter characters. This test is related to CONFIGURATION-409.
 *//*from w w w .ja  v a  2 s .c  om*/
@Test
public void testSaveKeysWithDelimiters() throws ConfigurationException {
    HierarchicalINIConfiguration conf = new HierarchicalINIConfiguration();
    final String section = "Section..with..dots";
    conf.addProperty(section + ".test1", "test1");
    conf.addProperty(section + ".test2", "test2");
    conf.save(TEST_FILE);
    conf = new HierarchicalINIConfiguration();
    conf.load(TEST_FILE);
    assertEquals("Wrong value (1)", "test1", conf.getString(section + ".test1"));
    assertEquals("Wrong value (2)", "test2", conf.getString(section + ".test2"));
}

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

/**
 * Tests whether a section that has been cleared can be manipulated and
 * saved later./*w  w w  . j  a v  a2 s  . com*/
 */
@Test
public void testSaveClearedSection() throws ConfigurationException {
    final String data = "[section]\ntest = failed\n";
    HierarchicalINIConfiguration config = setUpConfig(data);
    SubnodeConfiguration sub = config.getSection("section");
    assertFalse("No content", sub.isEmpty());
    sub.clear();
    sub.setProperty("test", "success");
    StringWriter writer = new StringWriter();
    config.save(writer);
    HierarchicalConfiguration config2 = setUpConfig(writer.toString());
    assertEquals("Wrong value", "success", config2.getString("section.test"));
}

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

/**
 * Tests whether a section that was created by getSection() can be
 * manipulated.//from  w w  w  .j a  v a2  s  .com
 */
@Test
public void testGetSectionNonExistingManipulate() throws ConfigurationException {
    HierarchicalINIConfiguration config = setUpConfig(INI_DATA);
    SubnodeConfiguration section = config.getSection("newSection");
    section.addProperty("test", "success");
    assertEquals("Main config not updated", "success", config.getString("newSection.test"));
    StringWriter writer = new StringWriter();
    config.save(writer);
    HierarchicalINIConfiguration config2 = setUpConfig(writer.toString());
    section = config2.getSection("newSection");
    assertEquals("Wrong value", "success", section.getString("test"));
}

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

/**
 * Tests whether a duplicate session is merged.
 *///from   ww  w  .  j  ava  2 s  .co m
@Test
public void testMergeDuplicateSection() throws ConfigurationException {
    final String data = "[section]\nvar1 = sec1\n\n" + "[section]\nvar2 = sec2\n";
    HierarchicalINIConfiguration config = setUpConfig(data);
    assertEquals("Wrong value 1", "sec1", config.getString("section.var1"));
    assertEquals("Wrong value 2", "sec2", config.getString("section.var2"));
    SubnodeConfiguration sub = config.getSection("section");
    assertEquals("Wrong sub value 1", "sec1", sub.getString("var1"));
    assertEquals("Wrong sub value 2", "sec2", sub.getString("var2"));
    StringWriter writer = new StringWriter();
    config.save(writer);
    String content = writer.toString();
    int pos = content.indexOf("[section]");
    assertTrue("Section not found: " + content, pos >= 0);
    assertTrue("Section found multiple times: " + content, content.indexOf("[section]", pos + 1) < 0);
}

From source file:io.datalayer.conf.HierarchicalIniConfigurationTest.java

/**
 * Test of save method, of class {@link HierarchicalINIConfiguration}.
 *///from   w ww.  ja  v  a 2s .  com
@Test
public void testSave() throws Exception {
    Writer writer = new StringWriter();
    HierarchicalINIConfiguration instance = new HierarchicalINIConfiguration();
    instance.addProperty("section1.var1", "foo");
    instance.addProperty("section1.var2", "451");
    instance.addProperty("section2.var1", "123.45");
    instance.addProperty("section2.var2", "bar");
    instance.addProperty("section3.var1", "true");
    instance.addProperty("section3.interpolated", "${section3.var1}");
    instance.addProperty("section3.multi", "foo");
    instance.addProperty("section3.multi", "bar");
    instance.save(writer);

    assertEquals("Wrong content of ini file", INI_DATA, writer.toString());
}

From source file:eu.itesla_project.eurostag.EurostagImpactAnalysis.java

private void writeWp43Configs(List<Contingency> contingencies, Path workingDir)
        throws IOException, ConfigurationException {
    Path baseWp43ConfigFile = PlatformConfig.CONFIG_DIR.resolve(WP43_CONFIGS_FILE_NAME);

    // generate one variant of the base config for all the contingency
    // this allow to add extra variables for some indexes
    HierarchicalINIConfiguration configuration = new HierarchicalINIConfiguration(baseWp43ConfigFile.toFile());
    SubnodeConfiguration node = configuration.getSection("smallsignal");
    node.setProperty("f_instant", parameters.getFaultEventInstant());
    for (int i = 0; i < contingencies.size(); i++) {
        Contingency contingency = contingencies.get(i);
        if (contingency.getElements().isEmpty()) {
            throw new AssertionError("Empty contingency " + contingency.getId());
        }/*from   w w w. ja va2  s . c  om*/
        Iterator<ContingencyElement> it = contingency.getElements().iterator();
        // compute the maximum fault duration
        double maxDuration = getFaultDuration(contingency, it.next());
        while (it.hasNext()) {
            maxDuration = Math.max(maxDuration, getFaultDuration(contingency, it.next()));
        }
        node.setProperty("f_duration", maxDuration);
        Path wp43Config = workingDir.resolve(WP43_CONFIGS_PER_FAULT_FILE_NAME
                .replace(Command.EXECUTION_NUMBER_PATTERN, Integer.toString(i)));
        try (Writer writer = Files.newBufferedWriter(wp43Config, StandardCharsets.UTF_8)) {
            configuration.save(writer);
        }
    }
}