Blame SOURCES/0001-Don-t-use-Werken-XPath.patch

1cd9bc
From 8a9344f55d74a5b809051ae144b3c028499fec0d Mon Sep 17 00:00:00 2001
1cd9bc
From: Mikolaj Izdebski <mizdebsk@redhat.com>
1cd9bc
Date: Sat, 27 Sep 2013 10:53:46 +0200
1cd9bc
Subject: [PATCH] Don't use Werken XPath
1cd9bc
1cd9bc
---
1cd9bc
 src/java/org/apache/velocity/anakia/AnakiaElement.java |  7 +++++--
1cd9bc
 src/java/org/apache/velocity/anakia/NodeList.java      |  6 ++++--
1cd9bc
 src/java/org/apache/velocity/anakia/XPathCache.java    |  9 ++++++---
1cd9bc
 src/java/org/apache/velocity/anakia/XPathTool.java     | 16 ++++++++++------
1cd9bc
 4 files changed, 25 insertions(+), 13 deletions(-)
1cd9bc
1cd9bc
diff --git a/src/java/org/apache/velocity/anakia/AnakiaElement.java b/src/java/org/apache/velocity/anakia/AnakiaElement.java
1cd9bc
index c72b653..df13153 100644
1cd9bc
--- a/src/java/org/apache/velocity/anakia/AnakiaElement.java
1cd9bc
+++ b/src/java/org/apache/velocity/anakia/AnakiaElement.java
1cd9bc
@@ -20,8 +20,10 @@ package org.apache.velocity.anakia;
1cd9bc
  */
1cd9bc
 
1cd9bc
 import org.jdom.Element;
1cd9bc
+import org.jdom.JDOMException;
1cd9bc
 import org.jdom.Namespace;
1cd9bc
 import org.jdom.output.XMLOutputter;
1cd9bc
+
1cd9bc
 import java.util.List;
1cd9bc
 
1cd9bc
 /**
1cd9bc
@@ -126,10 +128,11 @@ public class AnakiaElement extends Element
1cd9bc
      * @param xpathExpression the XPath expression you wish to apply
1cd9bc
      * @return a NodeList representing the nodes that are the result of
1cd9bc
      * application of the XPath to the current element. It can be empty.
1cd9bc
+     * @throws JDOMException
1cd9bc
      */
1cd9bc
-    public NodeList selectNodes(String xpathExpression)
1cd9bc
+    public NodeList selectNodes(String xpathExpression) throws JDOMException
1cd9bc
     {
1cd9bc
-        return new NodeList(XPathCache.getXPath(xpathExpression).applyTo(this), false);
1cd9bc
+        return new NodeList(XPathCache.getXPath(xpathExpression).selectNodes(this), false);
1cd9bc
     }
1cd9bc
 
1cd9bc
     /**
1cd9bc
diff --git a/src/java/org/apache/velocity/anakia/NodeList.java b/src/java/org/apache/velocity/anakia/NodeList.java
1cd9bc
index daf611d..b303bda 100644
1cd9bc
--- a/src/java/org/apache/velocity/anakia/NodeList.java
1cd9bc
+++ b/src/java/org/apache/velocity/anakia/NodeList.java
1cd9bc
@@ -35,6 +35,7 @@ import org.jdom.DocType;
1cd9bc
 import org.jdom.Document;
1cd9bc
 import org.jdom.Element;
1cd9bc
 import org.jdom.EntityRef;
1cd9bc
+import org.jdom.JDOMException;
1cd9bc
 import org.jdom.ProcessingInstruction;
1cd9bc
 import org.jdom.Text;
1cd9bc
 import org.jdom.output.XMLOutputter;
1cd9bc
@@ -289,10 +290,11 @@ public class NodeList implements List, Cloneable
1cd9bc
      * @param xpathString the XPath expression you wish to apply
1cd9bc
      * @return a NodeList representing the nodes that are the result of
1cd9bc
      * application of the XPath to the current node list. It can be empty.
1cd9bc
+     * @throws JDOMException
1cd9bc
      */
1cd9bc
-    public NodeList selectNodes(String xpathString)
1cd9bc
+    public NodeList selectNodes(String xpathString) throws JDOMException
1cd9bc
     {
1cd9bc
-        return new NodeList(XPathCache.getXPath(xpathString).applyTo(nodes), false);
1cd9bc
+        return new NodeList(XPathCache.getXPath(xpathString).selectNodes(nodes), false);
1cd9bc
     }
1cd9bc
 
1cd9bc
 // List methods implemented hereafter
1cd9bc
diff --git a/src/java/org/apache/velocity/anakia/XPathCache.java b/src/java/org/apache/velocity/anakia/XPathCache.java
1cd9bc
index cef43d9..0d633b0 100644
1cd9bc
--- a/src/java/org/apache/velocity/anakia/XPathCache.java
1cd9bc
+++ b/src/java/org/apache/velocity/anakia/XPathCache.java
1cd9bc
@@ -19,7 +19,9 @@ package org.apache.velocity.anakia;
1cd9bc
  * under the License.    
1cd9bc
  */
1cd9bc
 
1cd9bc
-import com.werken.xpath.XPath;
1cd9bc
+import org.jdom.JDOMException;
1cd9bc
+import org.jdom.xpath.XPath;
1cd9bc
+
1cd9bc
 import java.util.Map;
1cd9bc
 import java.util.WeakHashMap;
1cd9bc
 
1cd9bc
@@ -46,8 +48,9 @@ class XPathCache
1cd9bc
      * A cached object is returned if it already exists for the requested expression.
1cd9bc
      * @param xpathString the XPath expression to parse
1cd9bc
      * @return the XPath object that represents the parsed XPath expression.
1cd9bc
+     * @throws JDOMException
1cd9bc
      */
1cd9bc
-    static XPath getXPath(String xpathString)
1cd9bc
+    static XPath getXPath(String xpathString) throws JDOMException
1cd9bc
     {
1cd9bc
         XPath xpath = null;
1cd9bc
         synchronized(XPATH_CACHE)
1cd9bc
@@ -55,7 +58,7 @@ class XPathCache
1cd9bc
             xpath = (XPath)XPATH_CACHE.get(xpathString);
1cd9bc
             if(xpath == null)
1cd9bc
             {
1cd9bc
-                xpath = new XPath(xpathString);
1cd9bc
+                xpath = XPath.newInstance(xpathString);
1cd9bc
                 XPATH_CACHE.put(xpathString, xpath);
1cd9bc
             }
1cd9bc
         }
1cd9bc
diff --git a/src/java/org/apache/velocity/anakia/XPathTool.java b/src/java/org/apache/velocity/anakia/XPathTool.java
1cd9bc
index c9e6178..f85d2c1 100644
1cd9bc
--- a/src/java/org/apache/velocity/anakia/XPathTool.java
1cd9bc
+++ b/src/java/org/apache/velocity/anakia/XPathTool.java
1cd9bc
@@ -23,6 +23,7 @@ import java.util.List;
1cd9bc
 
1cd9bc
 import org.jdom.Document;
1cd9bc
 import org.jdom.Element;
1cd9bc
+import org.jdom.JDOMException;
1cd9bc
 
1cd9bc
 /**
1cd9bc
  * This class adds an entrypoint into XPath functionality,
1cd9bc
@@ -88,12 +89,13 @@ public class XPathTool
1cd9bc
      * @param doc The Document context
1cd9bc
      *
1cd9bc
      * @return A list of selected nodes
1cd9bc
+     * @throws JDOMException
1cd9bc
      */
1cd9bc
     public NodeList applyTo(String xpathSpec,
1cd9bc
-                        Document doc)
1cd9bc
+                        Document doc) throws JDOMException
1cd9bc
     {
1cd9bc
         //RuntimeSingleton.info("XPathTool::applyTo(String, Document)");
1cd9bc
-        return new NodeList(XPathCache.getXPath(xpathSpec).applyTo( doc ), false);
1cd9bc
+        return new NodeList(XPathCache.getXPath(xpathSpec).selectNodes( doc ), false);
1cd9bc
     }
1cd9bc
 
1cd9bc
     /**
1cd9bc
@@ -103,12 +105,13 @@ public class XPathTool
1cd9bc
      * @param elem The Element context
1cd9bc
      *
1cd9bc
      * @return A list of selected nodes
1cd9bc
+     * @throws JDOMException
1cd9bc
      */
1cd9bc
     public NodeList applyTo(String xpathSpec,
1cd9bc
-                        Element elem)
1cd9bc
+                        Element elem) throws JDOMException
1cd9bc
     {
1cd9bc
         //RuntimeSingleton.info("XPathTool::applyTo(String, Element)");
1cd9bc
-        return new NodeList(XPathCache.getXPath(xpathSpec).applyTo( elem ), false);
1cd9bc
+        return new NodeList(XPathCache.getXPath(xpathSpec).selectNodes( elem ), false);
1cd9bc
     }
1cd9bc
 
1cd9bc
     /**
1cd9bc
@@ -118,12 +121,13 @@ public class XPathTool
1cd9bc
      * @param nodeSet The nodeset context
1cd9bc
      *
1cd9bc
      * @return A list of selected nodes
1cd9bc
+     * @throws JDOMException
1cd9bc
      */
1cd9bc
     public NodeList applyTo(String xpathSpec,
1cd9bc
-                        List nodeSet)
1cd9bc
+                        List nodeSet) throws JDOMException
1cd9bc
     {
1cd9bc
         //RuntimeSingleton.info("XPathTool::applyTo(String, List)");
1cd9bc
-        return new NodeList(XPathCache.getXPath(xpathSpec).applyTo( nodeSet ), false);
1cd9bc
+        return new NodeList(XPathCache.getXPath(xpathSpec).selectNodes( nodeSet ), false);
1cd9bc
     }
1cd9bc
 }
1cd9bc
 
1cd9bc
-- 
1cd9bc
1.8.3.1
1cd9bc