[
https://issues.apache.org/jira/browse/CONFIGURATION-452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oliver Heger resolved CONFIGURATION-452.
----------------------------------------
Resolution: Fixed
Fix Version/s: 1.7
Marking this issue as fixed because the reported problem should be solved. Feel
free to reopen - or create a new issue - if you encounter further problems.
> HierarchicalConfiguration with XPathExpressionEngine does not work when
> setting a new property
> ----------------------------------------------------------------------------------------------
>
> Key: CONFIGURATION-452
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-452
> Project: Commons Configuration
> Issue Type: Bug
> Components: Expression engine
> Affects Versions: 1.6
> Environment: all
> Reporter: Fabien Nisol
> Assignee: Oliver Heger
> Fix For: 1.7
>
>
> The following code does not work as expected
> {code:title=Bug.java|borderStyle=solid}
> public class Bug {
> public static void main(String[] args) {
> try {
> XMLConfiguration config = new XMLConfiguration();
> // works
> config.setProperty("test.property[@attribute]",
> "value");
> config.setExpressionEngine(new XPathExpressionEngine());
> config.save(System.out);
> // works
> config.setProperty("test/property/@attribute", "value");
> // does not work
> config.setProperty("test/property/@attribute2",
> "value");
> } catch (ConfigurationException e) {
> // @FIXME Traitement d'exception par defaut
> throw new RuntimeException(e);
> }
> }
> }
> {code}
> hangs with the following exception:
> Exception in thread "main" java.lang.IllegalArgumentException: prepareAdd:
> Passed in key must contain a whitespace!
> at
> org.apache.commons.configuration.tree.xpath.XPathExpressionEngine.prepareAdd(XPathExpressionEngine.java:223)
> at
> org.apache.commons.configuration.HierarchicalConfiguration.addPropertyDirect(HierarchicalConfiguration.java:371)
> at
> org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.addPropertyDirect(AbstractHierarchicalFileConfiguration.java:140)
> at
> org.apache.commons.configuration.HierarchicalConfiguration.setProperty(HierarchicalConfiguration.java:749)
> at
> org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.setProperty(AbstractHierarchicalFileConfiguration.java:158)
> at Bug.main(Bug.java:29)
> the setProperty() method does not work if the property have to be added. This
> behavior is not really wanted, because in some generic cases, we don't know
> if the property is set or not before trying to set it.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira