JAL-1807
[jalview.git] / src / jalview / util / UrlLink.java
index c0cf821..cf0d466 100644 (file)
  */
 package jalview.util;
 
+import jalview.jsdev.RegExp;
+import jalview.jsdev.api.RegExpInterface;
+
 import java.util.Vector;
 
-import com.stevesoft.pat.Regex;
+//import com.stevesoft.pat.Regex;
 
 public class UrlLink
 {
@@ -86,7 +89,7 @@ public class UrlLink
         regexReplace = link.substring(psqid + 14, p);
         try
         {
-          Regex rg = Regex.perlCode("/"
+          RegExpInterface rg = RegExp.perlCode("/"
                   + regexReplace + "/");
           if (rg == null)
           {
@@ -201,7 +204,7 @@ public class UrlLink
     {
       if (regexReplace != null)
       {
-        Regex rg = Regex.perlCode("/" + regexReplace + "/");
+        RegExpInterface rg = RegExp.perlCode("/" + regexReplace + "/");
         if (rg.search(idstring))
         {
           int ns = rg.numSubs();
@@ -209,7 +212,7 @@ public class UrlLink
           {
             // 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[]
@@ -221,9 +224,9 @@ public class UrlLink
             // 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();
@@ -232,19 +235,19 @@ public class UrlLink
             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++;
                 }
@@ -257,10 +260,10 @@ public class UrlLink
               }
               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++;
@@ -327,6 +330,11 @@ public class UrlLink
     }
   }
 
+  /**
+   * @j2sIgnore
+   * 
+   * @param args
+   */
   public static void main(String argv[])
   {
     String[] links = new String[]