/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
*
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.util;
+import jalview.jsdev.RegExp;
+import jalview.jsdev.api.RegExpInterface;
+
import java.util.Vector;
+//import com.stevesoft.pat.Regex;
+
public class UrlLink
{
/**
* helper class to parse URL Link strings taken from applet parameters or
- * jalview properties file using the com.stevesoft.pat.Regex implementation.
- * Jalview 2.4 extension allows regular expressions to be used to parse ID
- * strings and replace the result in the URL. Regex's operate on the whole ID
- * string given to the matchURL method, if no regex is supplied, then only
- * text following the first pipe symbol will be susbstituted. Usage
- * documentation todo.
+ * jalview properties file using the Regex implementation. Jalview 2.4
+ * extension allows regular expressions to be used to parse ID strings and
+ * replace the result in the URL. Regex's operate on the whole ID string given
+ * to the matchURL method, if no regex is supplied, then only text following
+ * the first pipe symbol will be susbstituted. Usage documentation todo.
*/
private String url_suffix, url_prefix, target, label, regexReplace;
regexReplace = link.substring(psqid + 14, p);
try
{
- com.stevesoft.pat.Regex rg = com.stevesoft.pat.Regex.perlCode("/"
+ RegExpInterface rg = RegExp.perlCode("/"
+ regexReplace + "/");
if (rg == null)
{
{
if (regexReplace != null)
{
- com.stevesoft.pat.Regex rg = com.stevesoft.pat.Regex.perlCode("/"
- + regexReplace + "/");
+ RegExpInterface rg = RegExp.perlCode("/" + regexReplace + "/");
if (rg.search(idstring))
{
int ns = rg.numSubs();
{
// take whole regex
return new String[]
- { rg.stringMatched(),
+ { rg.stringMatchedI(ns),
url_prefix + rg.stringMatched() + url_suffix };
} /*
* else if (ns==1) { // take only subgroup match return new String[]
// debug
for (int s = 0; s <= rg.numSubs(); s++)
{
- System.err.println("Sub " + s + " : " + rg.matchedFrom(s)
- + " : " + rg.matchedTo(s) + " : '"
- + rg.stringMatched(s) + "'");
+ System.err.println("Sub " + s + " : " + rg.matchedFromI(s)
+ + " : " + rg.matchedToI(s) + " : '"
+ + rg.stringMatchedI(s) + "'");
}
// try to collate subgroup matches
Vector subs = new Vector();
int s = 0; // 1;
while (s <= ns)
{
- if (s + 1 <= ns && rg.matchedTo(s) > -1
- && rg.matchedTo(s + 1) > -1
- && rg.matchedTo(s + 1) < rg.matchedTo(s))
+ if (s + 1 <= ns && rg.matchedToI(s) > -1
+ && rg.matchedToI(s + 1) > -1
+ && rg.matchedToI(s + 1) < rg.matchedToI(s))
{
// s is top level submatch. search for submatches enclosed by
// this one
int r = s + 1;
String mtch = "";
- while (r <= ns && rg.matchedTo(r) <= rg.matchedTo(s))
+ while (r <= ns && rg.matchedToI(r) <= rg.matchedToI(s))
{
- if (rg.matchedFrom(r) > -1)
+ if (rg.matchedFromI(r) > -1)
{
- mtch += rg.stringMatched(r);
+ mtch += rg.stringMatchedI(r);
}
r++;
}
}
else
{
- if (rg.matchedFrom(s) > -1)
+ if (rg.matchedFromI(s) > -1)
{
- subs.addElement(rg.stringMatched(s));
- subs.addElement(url_prefix + rg.stringMatched(s)
+ subs.addElement(rg.stringMatchedI(s));
+ subs.addElement(url_prefix + rg.stringMatchedI(s)
+ url_suffix);
}
s++;
}
}
+ /**
+ * @j2sIgnore
+ *
+ * @param args
+ */
public static void main(String argv[])
{
String[] links = new String[]