Jalview-JS/JAL-3253-applet also comments relating to JAL-3268
[jalview.git] / src / jalview / ext / ensembl / EnsemblSequenceFetcher.java
index 7454eb6..21f9f7e 100644 (file)
@@ -23,6 +23,7 @@ package jalview.ext.ensembl;
 import jalview.analysis.AlignmentUtils;
 import jalview.bin.Cache;
 import jalview.datamodel.DBRefSource;
+import jalview.util.Platform;
 import jalview.ws.seqfetcher.DbSourceProxyImpl;
 
 import com.stevesoft.pat.Regex;
@@ -45,14 +46,7 @@ abstract class EnsemblSequenceFetcher extends DbSourceProxyImpl
   // ensemblgenomes REST service merged to ensembl 9th April 2019
   protected static final String DEFAULT_ENSEMBL_GENOMES_BASEURL = DEFAULT_ENSEMBL_BASEURL;
 
-  /*
-   * accepts ENSG/T/E/P with 11 digits
-   * or ENSMUSP or similar for other species
-   * or CCDSnnnnn.nn with at least 3 digits
-   */
-  private static final Regex ACCESSION_REGEX = new Regex(
-          "(ENS([A-Z]{3}|)[GTEP]{1}[0-9]{11}$)" + "|"
-                  + "(CCDS[0-9.]{3,}$)");
+  private static Regex ACCESSION_REGEX;
 
   protected final String ensemblGenomesDomain;
 
@@ -121,6 +115,17 @@ abstract class EnsemblSequenceFetcher extends DbSourceProxyImpl
   @Override
   public Regex getAccessionValidator()
   {
+    if (ACCESSION_REGEX == null)
+    {
+      /*
+       * accepts ENSG/T/E/P with 11 digits
+       * or ENSMUSP or similar for other species
+       * or CCDSnnnnn.nn with at least 3 digits
+       */
+      ACCESSION_REGEX = Platform
+              .newRegex("(ENS([A-Z]{3}|)[GTEP]{1}[0-9]{11}$)" + "|"
+                      + "(CCDS[0-9.]{3,}$)", null);
+    }
     return ACCESSION_REGEX;
   }