[ http://issues.apache.org/jira/browse/CONFIGURATION-230?page=all ]
Andy Yeung updated CONFIGURATION-230: ------------------------------------- Attachment: ConfigTest.java Here is the test case attached. and the console output is You can see that exception is thrown during reload and the XML Configuration didn't get updated after the content is changed. com.cherrypicks.augur.message.impl.EchoStringMessage org.apache.commons.jxpath.JXPathException: Invalid XPath: 'messagehandler/[EMAIL PROTECTED]'. Syntax error after: 'messagehandler/m' at org.apache.commons.jxpath.ri.Parser.parseExpression(Parser.java:60) at org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.compileExpression(JXPathContextReferenceImpl.java:218) at org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.iteratePointers(JXPathContextReferenceImpl.java:529) at org.apache.commons.jxpath.JXPathContext.selectNodes(JXPathContext.java:654) at org.apache.commons.configuration.tree.xpath.XPathExpressionEngine.query(XPathExpressionEngine.java:135) at org.apache.commons.configuration.HierarchicalConfiguration.fetchNodeList(HierarchicalConfiguration.java:694) at org.apache.commons.configuration.HierarchicalConfiguration.getProperty(HierarchicalConfiguration.java:264) at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.getProperty(AbstractHierarchicalFileConfiguration.java:292) at org.apache.commons.configuration.HierarchicalConfiguration.containsKey(HierarchicalConfiguration.java:514) at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.containsKey(AbstractHierarchicalFileConfiguration.java:280) at org.apache.commons.configuration.AbstractConfiguration.clear(AbstractConfiguration.java:381) at org.apache.commons.configuration.XMLConfiguration.clear(XMLConfiguration.java:344) at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration$FileConfigurationDelegate.clear(AbstractHierarchicalFileConfiguration.java:385) at org.apache.commons.configuration.AbstractFileConfiguration.reload(AbstractFileConfiguration.java:777) at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.reload(AbstractHierarchicalFileConfiguration.java:259) at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.getProperty(AbstractHierarchicalFileConfiguration.java:291) at org.apache.commons.configuration.AbstractConfiguration.resolveContainerStore(AbstractConfiguration.java:1048) at org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:940) at org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:920) at com.cherrypicks.common.config.ConfigTest.testReload(ConfigTest.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) com.cherrypicks.augur.message.impl.EchoStringMessage > XPathExpressionEngine nodeKey method create a wrong key for attribute node > -------------------------------------------------------------------------- > > Key: CONFIGURATION-230 > URL: http://issues.apache.org/jira/browse/CONFIGURATION-230 > Project: Commons Configuration > Issue Type: Bug > Affects Versions: 1.3 Final > Environment: Any > Reporter: Andy Yeung > Attachments: ConfigTest.java > > > In org.apache.commons.configuration.tree.xpath.XPathExpressionEngine line 178 > if (node.isAttribute()) > { > buf.append(ATTR_DELIMITER); > } > should be changed to > if (node.isAttribute()) { > buf.append(NODE_PATH_DELIMITERS); > } > Using ATTR_DELIMITER will create key like [EMAIL PROTECTED] rather than > element/@attribute and make config reload fail. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]