[ https://issues.apache.org/jira/browse/CONFIGURATION-848 ]
Laszlo Hujber deleted comment on CONFIGURATION-848:
---------------------------------------------
was (Author: JIRAUSER305943):
[~ggregory], I see, just wanted it to work like before. Maybe this would be
better:
{code:java}
@Override
protected Iterator<String> getKeysInternal(final String key, final String
delimiter) {
final Set<String> keys = new LinkedHashSet<>();
configList.forEach(config -> config.getKeys(key,
delimiter).forEachRemaining(keys::add));
return keys.iterator();
}
{code}
> SubsetConfiguration does not account for delimiters as it did in 2.9.0
> ----------------------------------------------------------------------
>
> Key: CONFIGURATION-848
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-848
> Project: Commons Configuration
> Issue Type: Bug
> Affects Versions: 2.10.0, 2.10.1, 2.11.0
> Reporter: Laszlo Hujber
> Assignee: Gary D. Gregory
> Priority: Major
>
> A bug occurs when using {{SubsetConfiguration}} with concrete subclasses of
> {{{}AbstractHierarchicalConfiguration{}}}. This issue likely happens because
> {{AbstractHierarchicalConfiguration}} does not override:
> {code:java}
> protected Iterator<String> getKeysInternal(String prefix, String delimiter) {
> }
> {code}
> The relevant pull request that introduced this bug is
> [#300|https://github.com/apache/commons-configuration/pull/300].
> Refer to the test case that passes in version 2.9.
> {code:java}
> @Test
> public void testSubsetWithJSONConfiguration() throws
> FileNotFoundException, ConfigurationException {
> final JSONConfiguration jsonConfiguration = new JSONConfiguration();
> jsonConfiguration.read(new
> FileReader(ConfigurationAssert.getTestFile("test.json").getAbsolutePath()));
> final SubsetConfiguration subset = new
> SubsetConfiguration(jsonConfiguration, "capitals(0)", ".");
> assertFalse(subset.isEmpty());
> assertEquals(2, subset.size());
> assertEquals("USA", subset.getString("country"));
> }
> {code}
> Actual Behavior:
> * {{isEmpty()}} returns {{{}true{}}}.
> * {{size()}} returns {{{}0{}}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)