Author: indika
Date: Mon Jun 22 17:44:41 2009
New Revision: 787326
URL: http://svn.apache.org/viewvc?rev=787326&view=rev
Log:
fix (workaround) for XPath eval failure on resources picked from Registry
Add a TestCase
Added:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/registry/
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/registry/resource.xml
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/registry/url/SimpleURLRegistry.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/url/SimpleURLRegistryTest.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/registry/url/SimpleURLRegistry.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/registry/url/SimpleURLRegistry.java?rev=787326&r1=787325&r2=787326&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/registry/url/SimpleURLRegistry.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/registry/url/SimpleURLRegistry.java
Mon Jun 22 17:44:41 2009
@@ -19,8 +19,7 @@
package org.apache.synapse.registry.url;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.*;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -53,6 +52,7 @@
private static final int MAX_KEYS = 200;
private String root = "";
+ private final OMFactory omFactory = OMAbstractFactory.getOMFactory();
public OMNode lookup(String key) {
@@ -122,7 +122,10 @@
} finally {
try {
if (result != null && result.getParent() != null) {
+ //TODO Replace following code with the correct code
when synapse is moving to AXIOM 1.2.9
result.detach();
+ OMDocument omDocument = omFactory.createOMDocument();
+ omDocument.addChild(result);
}
inputStream.close();
} catch (IOException e) {
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/url/SimpleURLRegistryTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/url/SimpleURLRegistryTest.java?rev=787326&r1=787325&r2=787326&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/url/SimpleURLRegistryTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/url/SimpleURLRegistryTest.java
Mon Jun 22 17:44:41 2009
@@ -21,10 +21,8 @@
import junit.framework.TestCase;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.*;
+import org.apache.axiom.om.xpath.AXIOMXPath;
import org.apache.commons.io.output.NullOutputStream;
import org.apache.synapse.config.Entry;
import org.apache.synapse.registry.Registry;
@@ -114,6 +112,22 @@
node.serialize(new NullOutputStream());
}
+ public void testXPathEvaluationOnRegistryResource() throws Exception {
+ SimpleURLRegistry registry = new SimpleURLRegistry();
+ OMNode omNode =
+ registry.lookup(
+
"file:src/test/resources/org/apache/synapse/core/registry/resource.xml");
+
+ assertNotNull(omNode);
+
+ AXIOMXPath xpath = new
AXIOMXPath("//table/ent...@id='one']/value/child::text()");
+ OMNode node = (OMNode) xpath.selectSingleNode(omNode);
+
+ assertNotNull(node);
+ assertTrue(node instanceof OMText);
+ assertEquals("ValueOne", ((OMText) node).getText());
+ }
+
public void tearDown() throws Exception {
new File(FILE).delete();
new File(FILE2).delete();
Added:
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/registry/resource.xml
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/registry/resource.xml?rev=787326&view=auto
==============================================================================
---
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/registry/resource.xml
(added)
+++
synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/registry/resource.xml
Mon Jun 22 17:44:41 2009
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--Test resource in registry-->
+<table>
+ <entry id="one">
+ <value>ValueOne</value>
+ </entry>
+ <entry id="two">
+ <value>ValueTwo</value>
+ </entry>
+</table>
\ No newline at end of file