[ 
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

        

Reply via email to