Factored URL Link constants out into UrlConstants file.
[jalview.git] / src / jalview / util / UrlLink.java
index e955a6f..e196c8c 100644 (file)
@@ -1,22 +1,27 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * 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 static jalview.util.UrlConstants.SEQUENCE_ID;
+
 import java.util.Vector;
 
 public class UrlLink
@@ -45,7 +50,7 @@ public class UrlLink
    */
   public UrlLink(String link)
   {
-    int sep = link.indexOf("|"), psqid = link.indexOf("$SEQUENCE_ID");
+    int sep = link.indexOf("|"), psqid = link.indexOf("$" + SEQUENCE_ID);
     if (psqid > -1)
     {
       dynamic = true;
@@ -74,7 +79,7 @@ public class UrlLink
       }
       // Parse URL : Whole URL string first
       url_prefix = link.substring(sep + 1, psqid);
-      if (link.indexOf("$SEQUENCE_ID=/") == psqid
+      if (link.indexOf("$" + SEQUENCE_ID + "=/") == psqid
               && (p = link.indexOf("/=$", psqid + 14)) > psqid + 14)
       {
         // Extract Regex and suffix
@@ -99,7 +104,7 @@ public class UrlLink
       {
         regexReplace = null;
         // verify format is really correct.
-        if (link.indexOf("$SEQUENCE_ID$") == psqid)
+        if (link.indexOf("$" + SEQUENCE_ID + "$") == psqid)
         {
           url_suffix = link.substring(psqid + 13);
           regexReplace = null;
@@ -205,8 +210,7 @@ public class UrlLink
           if (ns == 0)
           {
             // take whole regex
-            return new String[]
-            { rg.stringMatched(),
+            return new String[] { rg.stringMatched(),
                 url_prefix + rg.stringMatched() + url_suffix };
           } /*
              * else if (ns==1) { // take only subgroup match return new String[]
@@ -285,22 +289,21 @@ public class UrlLink
       }
 
       // just return simple url substitution.
-      return new String[]
-      { idstring, url_prefix + idstring + url_suffix };
+      return new String[] { idstring, url_prefix + idstring + url_suffix };
     }
     else
     {
-      return new String[]
-      { "", url_prefix };
+      return new String[] { "", url_prefix };
     }
   }
 
+  @Override
   public String toString()
   {
     return label
             + "|"
             + url_prefix
-            + (dynamic ? ("$SEQUENCE_ID" + ((regexReplace != null) ? "="
+            + (dynamic ? ("$" + SEQUENCE_ID + ((regexReplace != null) ? "="
                     + regexReplace + "=$" : "$")) : "")
             + ((url_suffix == null) ? "" : url_suffix);
 
@@ -326,8 +329,7 @@ public class UrlLink
 
   public static void main(String argv[])
   {
-    String[] links = new String[]
-    {
+    String[] links = new String[] {
     /*
      * "AlinkT|Target|http://foo.foo.soo/",
      * "myUrl1|http://$SEQUENCE_ID=/[0-9]+/=$.someserver.org/foo",
@@ -342,9 +344,9 @@ public class UrlLink
      * "PF3|http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID=/PFAM:(.+)/=$"
      * , "NOTFER|http://notfer.org/$SEQUENCE_ID=/(?<!\\s)(.+)/=$",
      */
-    "NESTED|http://nested/$SEQUENCE_ID=/^(?:Label:)?(?:(?:gi\\|(\\d+))|([^:]+))/=$/nested" };
-    String[] idstrings = new String[]
-    {
+    "NESTED|http://nested/$" + SEQUENCE_ID
+            + "=/^(?:Label:)?(?:(?:gi\\|(\\d+))|([^:]+))/=$/nested" };
+    String[] idstrings = new String[] {
     /*
      * //"LGUL_human", //"QWIQW_123123", "uniprot|why_do+_12313_foo",
      * //"123123312", "123123 ABCDE foo", "PFAM:PF23943",