Author: oheger
Date: Sat Oct 21 08:23:45 2006
New Revision: 466413
URL: http://svn.apache.org/viewvc?view=rev&rev=466413
Log:
XPathExpressionEngine now constructs correct keys for attribute nodes; fixes
CONFIGURATION-230
Modified:
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/xpath/XPathExpressionEngine.java
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngine.java
jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
Modified:
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/xpath/XPathExpressionEngine.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/xpath/XPathExpressionEngine.java?view=diff&rev=466413&r1=466412&r2=466413
==============================================================================
---
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/xpath/XPathExpressionEngine.java
(original)
+++
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/tree/xpath/XPathExpressionEngine.java
Sat Oct 21 08:23:45 2006
@@ -170,10 +170,7 @@
if (parentKey.length() > 0)
{
buf.append(parentKey);
- if (!node.isAttribute())
- {
- buf.append(PATH_DELIMITER);
- }
+ buf.append(PATH_DELIMITER);
}
if (node.isAttribute())
{
Modified:
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java?view=diff&rev=466413&r1=466412&r2=466413
==============================================================================
---
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
(original)
+++
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
Sat Oct 21 08:23:45 2006
@@ -34,6 +34,7 @@
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
import org.apache.commons.configuration.reloading.InvariantReloadingStrategy;
+import org.apache.commons.configuration.tree.xpath.XPathExpressionEngine;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
@@ -911,6 +912,18 @@
assertEquals("New value not read", "newValue",
((HierarchicalConfiguration) configs.get(0))
.getString("entity"));
+ }
+
+ /**
+ * Tests accessing properties when the XPATH expression engine is set.
+ */
+ public void testXPathExpressionEngine()
+ {
+ conf.setExpressionEngine(new XPathExpressionEngine());
+ assertEquals("Wrong attribute value", "foo\"bar", conf
+ .getString("test[1]/entity/@name"));
+ conf.clear();
+ assertNull(conf.getString("test[1]/entity/@name"));
}
/**
Modified:
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngine.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngine.java?view=diff&rev=466413&r1=466412&r2=466413
==============================================================================
---
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngine.java
(original)
+++
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngine.java
Sat Oct 21 08:23:45 2006
@@ -152,7 +152,7 @@
{
ConfigurationNode node = new DefaultConfigurationNode("attr");
node.setAttribute(true);
- assertEquals("Wrong attribute key", "[EMAIL PROTECTED]",
engine.nodeKey(node,
+ assertEquals("Wrong attribute key", "node/@attr", engine.nodeKey(node,
"node"));
}
Modified: jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/xdocs/changes.xml?view=diff&rev=466413&r1=466412&r2=466413
==============================================================================
--- jakarta/commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Sat Oct 21
08:23:45 2006
@@ -23,6 +23,12 @@
<body>
<release version="1.4-dev" date="in SVN">
+ <action dev="oheger" type="update" issue="CONFIGURATION-230">
+ XPathExpressionEngine used to create wrong keys for attribute nodes.
+ This caused some operations on XMLConfiguration to fail when such an
+ expression engine was set (e.g. reloading). Now correct keys for
+ attributes are constructed.
+ </action>
<action dev="oheger" type="update" issue="CONFIGURATION-228">
Some of the methods of file-based hierarchical configurations (e.g.
subset() or configurationAt()) did not take an eventually set reloading
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]