summaryrefslogtreecommitdiff
path: root/rules/jdom1/java6-regex.patch
diff options
context:
space:
mode:
Diffstat (limited to 'rules/jdom1/java6-regex.patch')
-rw-r--r--rules/jdom1/java6-regex.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/rules/jdom1/java6-regex.patch b/rules/jdom1/java6-regex.patch
new file mode 100644
index 0000000..589c9f3
--- /dev/null
+++ b/rules/jdom1/java6-regex.patch
@@ -0,0 +1,120 @@
+diff --git a/contrib/src/java/org/jdom/contrib/beans/DateUtils.java b/contrib/src/java/org/jdom/contrib/beans/DateUtils.java
+index 49f26c4..7d8e590 100644
+--- a/contrib/src/java/org/jdom/contrib/beans/DateUtils.java
++++ b/contrib/src/java/org/jdom/contrib/beans/DateUtils.java
+@@ -59,7 +59,7 @@
+ package org.jdom.contrib.beans;
+
+ import java.util.*;
+-import org.apache.regexp.*;
++import java.util.regex.*;
+ import java.text.*;
+ import java.io.PrintStream;
+
+@@ -165,20 +165,20 @@ public class DateUtils {
+ // e.g. 1997-07-16T19:20:30.45+01:00
+ // additions: "T" can be a space, TZ can be a three-char code, TZ can be missing
+ try {
+- RE re = new RE(reISO8601);
+- if (re.match(s)) {
++ Matcher re = Pattern.compile(reISO8601).matcher(s);
++ if (re.find()) {
+ if (debug)
+ showParens(re);
+
+ ISO8601 iso = new ISO8601();
+- iso.year = toInt(re.getParen(1));
+- iso.month = toInt(re.getParen(3));
+- iso.day = toInt(re.getParen(5));
+- iso.hour = toInt(re.getParen(7));
+- iso.min = toInt(re.getParen(8));
+- iso.sec = toInt(re.getParen(11));
+- iso.frac = toInt(re.getParen(13));
+- iso.tz = re.getParen(14);
++ iso.year = toInt(re.group(1));
++ iso.month = toInt(re.group(3));
++ iso.day = toInt(re.group(5));
++ iso.hour = toInt(re.group(7));
++ iso.min = toInt(re.group(8));
++ iso.sec = toInt(re.group(11));
++ iso.frac = toInt(re.group(13));
++ iso.tz = re.group(14);
+
+ if (debug) {
+ System.out.println("year='" + iso.year + "'");
+@@ -194,7 +194,7 @@ public class DateUtils {
+ return iso;
+ }
+ } // try
+- catch (RESyntaxException ree) {
++ catch (PatternSyntaxException ree) {
+ ree.printStackTrace();
+ }
+ return null;
+@@ -214,13 +214,13 @@ public class DateUtils {
+ * Dump parenthesized subexpressions found by a regular expression matcher object
+ * @param r Matcher object with results to show
+ */
+- static void showParens(RE r)
++ static void showParens(Matcher r)
+ {
+ // Loop through each paren
+- for (int i = 0; i < r.getParenCount(); i++)
++ for (int i = 0; i < r.groupCount(); i++)
+ {
+ // Show paren register
+- System.out.println("$" + i + " = " + r.getParen(i));
++ System.out.println("$" + i + " = " + r.group(i));
+ }
+ }
+
+diff --git a/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java b/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java
+index b7a4d5a..d0851d3 100644
+--- a/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java
++++ b/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java
+@@ -63,8 +63,7 @@ import org.jdom.xpath.XPath;
+
+ import org.xml.sax.Attributes;
+
+-import org.apache.regexp.RE;
+-import org.apache.regexp.RESyntaxException;
++import java.util.regex.*;
+
+
+ /* package */ class JakartaRegExpXPathMatcher extends XPathMatcher {
+@@ -72,7 +71,7 @@ import org.apache.regexp.RESyntaxException;
+ /**
+ * The compiled regular expression this matcher matches.
+ */
+- private final RE re;
++ private final Pattern re;
+
+ private final XPath test;
+
+@@ -94,7 +93,7 @@ import org.apache.regexp.RESyntaxException;
+ try {
+ String pathPattern = getPathPatternAsRE(expression);
+
+- this.re = new RE(pathPattern);
++ this.re = Pattern.compile(pathPattern);
+
+ String testPattern = getTestPattern(expression);
+ if (testPattern != null) {
+@@ -114,7 +113,7 @@ import org.apache.regexp.RESyntaxException;
+ " -> XPath = " + testPattern);
+ }
+ }
+- catch (RESyntaxException ex1) {
++ catch (PatternSyntaxException ex1) {
+ throw (new JDOMException(
+ "Illegal XPath expression: " + expression, ex1));
+ }
+@@ -137,7 +136,7 @@ import org.apache.regexp.RESyntaxException;
+ * expression, <code>false</code> otherwise.
+ */
+ public boolean match(String path, Attributes attrs) {
+- return (this.re.match(path));
++ return (this.re.matcher(path).find());
+ }
+
+ /**