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

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

Introduction

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

Prototype

public Set getSections() 

Source Link

Document

Return a set containing the sections in this ini configuration.

Usage

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

/**
 * Test of getSections method, of class {@link HierarchicalINIConfiguration}
 * ./*ww  w .jav  a  2 s.co m*/
 */
@Test
public void testGetSections() {
    HierarchicalINIConfiguration instance = new HierarchicalINIConfiguration();
    instance.addProperty("test1.foo", "bar");
    instance.addProperty("test2.foo", "abc");
    Set<String> expResult = new HashSet<String>();
    expResult.add("test1");
    expResult.add("test2");
    Set<String> result = instance.getSections();
    assertEquals(expResult, result);
}

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

/**
 * Tests the values of some properties to ensure that the configuration was
 * correctly loaded.//from   w  w  w .  j  ava  2 s  . c  o m
 *
 * @param instance the configuration to check
 */
private void checkContent(HierarchicalINIConfiguration instance) {
    assertTrue(instance.getString("section1.var1").equals("foo"));
    assertTrue(instance.getInt("section1.var2") == 451);
    assertTrue(instance.getDouble("section2.var1") == 123.45);
    assertTrue(instance.getString("section2.var2").equals("bar"));
    assertTrue(instance.getBoolean("section3.var1"));
    assertTrue(instance.getSections().size() == 3);
}

From source file:org.apache.tamaya.commons.IniConfigurationFormat.java

@Override
public ConfigurationData readConfiguration(String name, InputStream inputStream) {
    PropertyValue data = PropertyValue.createObject();
    data.setMeta("name", name);
    try {/*from  ww  w.ja v a 2s. com*/
        HierarchicalINIConfiguration commonIniConfiguration;
        File file = new File(name);
        if (file.exists()) {
            commonIniConfiguration = new HierarchicalINIConfiguration(file);
        } else {
            commonIniConfiguration = new HierarchicalINIConfiguration(new URL(name));
        }
        for (String section : commonIniConfiguration.getSections()) {
            SubnodeConfiguration sectionConfig = commonIniConfiguration.getSection(section);
            PropertyValue sectionNode = ((ObjectValue) data).getOrSetValue(section,
                    () -> PropertyValue.createObject(section));
            Map<String, String> properties = new HashMap<>();
            Iterator<String> keyIter = sectionConfig.getKeys();
            while (keyIter.hasNext()) {
                String key = keyIter.next();
                ((ObjectValue) sectionNode).setValue(key, sectionConfig.getString(key));
            }
        }
    } catch (Exception e) {
        throw new ConfigException("Failed to parse ini-file format from " + name, e);
    }
    return new ConfigurationData(name, this, data);
}

From source file:org.apache.tamaya.format.IniConfigurationFormat.java

@Override
public Map<String, Map<String, String>> readConfiguration(URL url) {
    Map<String, Map<String, String>> result = new HashMap<>();
    try {//from   w  w w . j  ava  2s . c  om
        HierarchicalINIConfiguration commonIniConfiguration = new HierarchicalINIConfiguration(url);
        for (String section : commonIniConfiguration.getSections()) {
            SubnodeConfiguration sectionConfig = commonIniConfiguration.getSection(section);
            Map<String, String> properties = new HashMap<>();
            Iterator<String> keyIter = sectionConfig.getKeys();
            while (keyIter.hasNext()) {
                String key = keyIter.next();
                properties.put(key, sectionConfig.getString(key));
            }
            result.put(section, properties);
        }
        return result;
    } catch (ConfigurationException e) {
        throw new ConfigException("Failed to parse ini-file format from " + url, e);
    }
}

From source file:org.apache.tamaya.integration.commons.IniConfigurationFormat.java

public ConfigurationData readConfiguration(URL url) {
    ConfigurationDataBuilder builder = ConfigurationDataBuilder.of(url.toString(), this);
    try {/*from   ww  w .  j a  va 2  s  . co m*/
        HierarchicalINIConfiguration commonIniConfiguration = new HierarchicalINIConfiguration(url);
        for (String section : commonIniConfiguration.getSections()) {
            SubnodeConfiguration sectionConfig = commonIniConfiguration.getSection(section);
            Map<String, String> properties = new HashMap<>();
            Iterator<String> keyIter = sectionConfig.getKeys();
            while (keyIter.hasNext()) {
                String key = keyIter.next();
                properties.put(key, sectionConfig.getString(key));
            }
            builder.addProperties(section, properties);
        }
    } catch (ConfigurationException e) {
        throw new ConfigException("Failed to parse ini-file format from " + url, e);
    }
    return builder.build();
}

From source file:org.porquebox.core.PorqueBoxMetaData.java

public PorqueBoxMetaData(HierarchicalINIConfiguration data) {
        for (String sectionName : data.getSections()) {
            SubnodeConfiguration section = data.getSection(sectionName);
            Map<String, String> sectionData = new HashMap<String, String>();
            for (Iterator<String> keyIter = section.getKeys(); keyIter.hasNext();) {
                String key = keyIter.next();
                String value = (String) section.getProperty(key);
                sectionData.put(key, value);
            }//  ww w .j a  v a  2  s . c  om
            this.data.put(sectionName, (Object) sectionData);
        }
    }

From source file:org.settings4j.helper.configuration.ConfigurationToConnectorAdapterTest.java

@Test
public void testAdapterINIConfigWithSlashDelimiter() throws Exception {
    final Settings4jRepository testSettings = createSimpleSettings4jConfig();

    // start test => create adapter and add to Settings4jRepository
    final HierarchicalINIConfiguration configuration = addINIConfiguration(//
            testSettings, "myIniConfigConnector", "iniConfigWithSlashDelimiter.ini", "/");

    // configure some values
    configuration.setProperty(TEST_VALUE_KEY, "Hello Windows World");
    configuration.save();//from  w  ww  .  j  a  v a  2  s.  co  m

    // validate result
    assertThat(testSettings.getSettings().getString(TEST_VALUE_KEY), is("Hello Windows World"));

    final Set<String> sections = configuration.getSections();
    assertThat(sections, hasSize(1));
    // The HierarchicalINIConfiguration implementation uses only the first child elements as sections.
    assertThat(sections.iterator().next(), is("com"));

}

From source file:org.settings4j.helper.configuration.ConfigurationToConnectorAdapterTest.java

@Test
public void testAdapterINIConfigWithDefaultDelimiterAndDotValue() throws Exception {
    final Settings4jRepository testSettings = createSimpleSettings4jConfig();

    // start test => create adapter and add to Settings4jRepository
    final HierarchicalINIConfiguration configuration = addINIConfiguration(//
            testSettings, "myIniConfigConnector", "iniConfigWithDefaultDelimiter.ini", ".");

    // configure some values
    configuration.setProperty(TEST_VALUE_KEY, "Hello Windows World");
    configuration.save();// w w  w.j  ava2s  .c  om

    // validate result
    assertThat(testSettings.getSettings().getString(TEST_VALUE_KEY), is("Hello Windows World"));

    final Set<String> sections = configuration.getSections();
    assertThat(sections, hasSize(1));
    assertThat(sections.iterator().next(), is("com/myProject/myModule/myTestValue"));

}

From source file:org.settings4j.helper.configuration.ConfigurationToConnectorAdapterTest.java

@Test
public void testAdapterINIConfigWithDefaultDelimiterWithoutDotValue() throws Exception {
    String testValueKey = "com/myProject/myModule/myTestValue";
    final Settings4jRepository testSettings = createSimpleSettings4jConfig();

    // start test => create adapter and add to Settings4jRepository
    final HierarchicalINIConfiguration configuration = addINIConfiguration(//
            testSettings, "myIniConfigConnector", "iniConfigWithDefaultDelimiter.ini", ".");

    // configure some values
    configuration.setProperty(testValueKey, "Hello Windows World");
    configuration.save();/*  w  ww .ja  v a 2  s  .c o  m*/

    // validate result
    assertThat(testSettings.getSettings().getString(testValueKey), is("Hello Windows World"));

    final Set<String> sections = configuration.getSections();
    assertThat(sections, hasSize(1));
    assertThat(sections.iterator().next(), is(nullValue())); // Global Config

}

From source file:uk.q3c.krail.core.config.InheritingConfiguration.java

/**
 * Returns a section specified by {@code sectionName}, or null if none exists. Sections are recognised only be
 * {@link HierarchicalINIConfiguration}, and any other type of configuration contained within this composite will
 * be/*www.j  a  v  a  2  s.  co  m*/
 * ignored.
 *
 * @param sectionName
 *
 * @return
 */
public SubnodeConfiguration getSection(String sectionName) {

    int c = getNumberOfConfigurations();
    for (int i = c - 1; i >= 0; i--) {
        Configuration cfg = getConfiguration(i);
        if (cfg instanceof HierarchicalINIConfiguration) {
            HierarchicalINIConfiguration config = (HierarchicalINIConfiguration) cfg;
            if (config.getSections().contains(sectionName)) {
                return config.getSection(sectionName);
            }
        }
    }
    return null;
}