You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Hao Chen (JIRA)" <ji...@apache.org> on 2019/01/07 07:22:00 UTC

[jira] [Created] (CONFIGURATION-733) Attribute value cannot delimit to list

Hao Chen created CONFIGURATION-733:
--------------------------------------

             Summary: Attribute value cannot delimit to list
                 Key: CONFIGURATION-733
                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-733
             Project: Commons Configuration
          Issue Type: Bug
    Affects Versions: 2.4
            Reporter: Hao Chen


Given the following configuration XML:

<configuration>
  <header>
    <result throwExceptionOnMissing="true">
      <listDelimiterHandler config-class="org.apache.commons.configuration2.convert.DefaultListDelimiterHandler">
        <config-constrarg config-value=","/>
      </listDelimiterHandler>
    </result>
  </header>
     <node type="test" types="a,b,c"/>
</configuration>

With the following test code:

            Parameters params = new Parameters();
            ReloadingFileBasedConfigurationBuilder<XMLConfiguration> builder = new ReloadingFileBasedConfigurationBuilder<XMLConfiguration>(XMLConfiguration.class);
            builder.configure(params.xml().setFile(file).setListDelimiterHandler(new DefaultListDelimiterHandler(',')));
            XMLConfiguration configuration = builder.getConfiguration();

        List<String> types = configuration.getList(String.class, "node[@types]");
        // result WRONG -- returns ["a,b,c"]
        org.junit.Assert.assertEquals(types.size(), 3);

I just couldn't find any way to get the attribute value as a comma-delimited list...

In general, the default behavior change for list delimiter is a big headache while we are trying to upgrade to commons-configuration2...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)