JAL-1807
[jalview.git] / src / jalview / io / AppletFormatAdapter.java
index e4c4f3d..c908b15 100755 (executable)
@@ -32,6 +32,11 @@ import java.io.File;
 import java.io.InputStream;
 import java.util.List;
 
+import javajs.J2SIgnoreImport;
+
+import jalview.jsdev.Constants;
+import jalview.jsdev.GenericFileAdapter;
+
 /**
  * A low level class for alignment and feature IO with alignment formatting
  * methods used by both applet and application for generating flat alignment
@@ -41,6 +46,7 @@ import java.util.List;
  * @author $author$
  * @version $Revision$
  */
+@J2SIgnoreImport({java.io.File.class})
 public class AppletFormatAdapter
 {
   private AlignmentViewPanel viewpanel;
@@ -84,7 +90,7 @@ public class AppletFormatAdapter
    */
   public static final String[] READABLE_FORMATS = new String[]
   { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH",
-      "PDB", "JnetFile", "RNAML", PhylipFile.FILE_DESC, JSONFile.FILE_DESC, IdentifyFile.GFF3File,
+      "PDB", "JnetFile", "RNAML", Constants.Phylip_FILE_DESC, Constants.JSON_FILE_DESC, IdentifyFile.GFF3File,
       "HTML" };
 
   /**
@@ -93,9 +99,9 @@ public class AppletFormatAdapter
    */
   public static final String[] READABLE_EXTENSIONS = new String[]
   { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
-      "sto,stk", "xml,rnaml", PhylipFile.FILE_EXT, JSONFile.FILE_EXT,
+      "sto,stk", "xml,rnaml", Constants.Phylip_FILE_EXT, Constants.JSON_FILE_EXT,
       ".gff2,gff3",
-      "jar,jvp", HtmlFile.FILE_EXT };
+      "jar,jvp", Constants.Html_FILE_EXT };
 
   /**
    * List of readable formats by application in order corresponding to
@@ -103,8 +109,8 @@ public class AppletFormatAdapter
    */
   public static final String[] READABLE_FNAMES = new String[]
   { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Stockholm",
-      "RNAML", PhylipFile.FILE_DESC, JSONFile.FILE_DESC, IdentifyFile.GFF3File, "Jalview",
-      HtmlFile.FILE_DESC };
+      "RNAML", Constants.Phylip_FILE_DESC, Constants.JSON_FILE_DESC, IdentifyFile.GFF3File, "Jalview",
+      Constants.Html_FILE_DESC };
 
   /**
    * List of valid format strings for use by callers of the formatSequences
@@ -112,7 +118,7 @@ public class AppletFormatAdapter
    */
   public static final String[] WRITEABLE_FORMATS = new String[]
           { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "AMSA",
-    "STH", PhylipFile.FILE_DESC, JSONFile.FILE_DESC };
+    "STH", Constants.Phylip_FILE_DESC, Constants.JSON_FILE_DESC };
 
   /**
    * List of extensions corresponding to file format types in WRITABLE_FNAMES
@@ -120,7 +126,7 @@ public class AppletFormatAdapter
    */
   public static final String[] WRITABLE_EXTENSIONS = new String[]
   { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
-      "sto,stk", PhylipFile.FILE_EXT, JSONFile.FILE_EXT, "jvp" };
+      "sto,stk", Constants.Phylip_FILE_EXT, Constants.JSON_FILE_EXT, "jvp" };
 
   /**
    * List of writable formats by the application. Order must correspond with the
@@ -128,7 +134,7 @@ public class AppletFormatAdapter
    */
   public static final String[] WRITABLE_FNAMES = new String[]
   { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "STH",
-      PhylipFile.FILE_DESC, JSONFile.FILE_DESC, "Jalview" };
+      Constants.Phylip_FILE_DESC, Constants.JSON_FILE_DESC, "Jalview" };
 
   public static String INVALID_CHARACTERS = "Contains invalid characters";
 
@@ -241,35 +247,35 @@ public class AppletFormatAdapter
     {
       if (format.equals("FASTA"))
       {
-        alignFile = new FastaFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("FastaFile", inFile, type);
       }
       else if (format.equals("MSF"))
       {
-        alignFile = new MSFfile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("MSFfile", inFile, type);
       }
       else if (format.equals("PileUp"))
       {
-        alignFile = new PileUpfile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("PileUpfile", inFile, type);
       }
       else if (format.equals("CLUSTAL"))
       {
-        alignFile = new ClustalFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("ClustalFile", inFile, type);
       }
       else if (format.equals("BLC"))
       {
-        alignFile = new BLCFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("BLCFile", inFile, type);
       }
       else if (format.equals("PIR"))
       {
-        alignFile = new PIRFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("PIRFile", inFile, type);
       }
       else if (format.equals("PFAM"))
       {
-        alignFile = new PfamFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("PfamFile", inFile, type);
       }
       else if (format.equals("JnetFile"))
       {
-        alignFile = new JPredFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("JPredFile", inFile, type);
         ((JPredFile) alignFile).removeNonSequences();
       }
       else if (format.equals("PDB"))
@@ -281,31 +287,31 @@ public class AppletFormatAdapter
       }
       else if (format.equals("STH"))
       {
-        alignFile = new StockholmFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("StockholmFile", inFile, type);
       }
       else if (format.equals("SimpleBLAST"))
       {
-        alignFile = new SimpleBlastFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("SimpleBlastFile", inFile, type);
       }
       else if (format.equals(PhylipFile.FILE_DESC))
       {
-        alignFile = new PhylipFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("PhylipFile", inFile, type);
       }
-      else if (format.equals(JSONFile.FILE_DESC))
+      else if (format.equals(Constants.JSON_FILE_DESC))
       {
-        alignFile = new JSONFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("JSONFile", inFile, type);
       }
-      else if (format.equals(HtmlFile.FILE_DESC))
+      else if (format.equals(Constants.Html_FILE_DESC))
       {
-        alignFile = new HtmlFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("HtmlFile", inFile, type);
       }
       else if (format.equals("RNAML"))
       {
-        alignFile = new RnamlFile(inFile, type);
+        alignFile = GenericFileAdapter.getFile("RnamlFile", inFile, type);
       }
       else if (format.equals(IdentifyFile.GFF3File))
       {
-        alignFile = new Gff3File(inFile, type);
+        alignFile = GenericFileAdapter.getFile("Gff3File", inFile, type);
       }
       return buildAlignmentFrom(alignFile);
     } catch (Exception e)
@@ -326,7 +332,7 @@ public class AppletFormatAdapter
         try
         {
           // Possible sequence is just residues with no label
-          alignFile = new FastaFile(">UNKNOWN\n" + inFile, "Paste");
+          alignFile = GenericFileAdapter.getFile("FastaFile", ">UNKNOWN\n" + inFile, "Paste");
           return buildAlignmentFrom(alignFile);
 
         } catch (Exception ex)
@@ -368,35 +374,35 @@ public class AppletFormatAdapter
     {
       if (format.equals("FASTA"))
       {
-        alignFile = new FastaFile(source);
+        alignFile = GenericFileAdapter.getFile("FastaFile", source);
       }
       else if (format.equals("MSF"))
       {
-        alignFile = new MSFfile(source);
+        alignFile = GenericFileAdapter.getFile("MSFfile", source);
       }
       else if (format.equals("PileUp"))
       {
-        alignFile = new PileUpfile(source);
+        alignFile = GenericFileAdapter.getFile("PileUpfile", source);
       }
       else if (format.equals("CLUSTAL"))
       {
-        alignFile = new ClustalFile(source);
+        alignFile = GenericFileAdapter.getFile("ClustalFile", source);
       }
       else if (format.equals("BLC"))
       {
-        alignFile = new BLCFile(source);
+        alignFile = GenericFileAdapter.getFile("BLCFile", source);
       }
       else if (format.equals("PIR"))
       {
-        alignFile = new PIRFile(source);
+        alignFile = GenericFileAdapter.getFile("PIRFile", source);
       }
       else if (format.equals("PFAM"))
       {
-        alignFile = new PfamFile(source);
+        alignFile = GenericFileAdapter.getFile("PfamFile", source);
       }
       else if (format.equals("JnetFile"))
       {
-        alignFile = new JPredFile(source);
+        alignFile = GenericFileAdapter.getFile("JPredFile", source);
         ((JPredFile) alignFile).removeNonSequences();
       }
       else if (format.equals("PDB"))
@@ -406,31 +412,31 @@ public class AppletFormatAdapter
       }
       else if (format.equals("STH"))
       {
-        alignFile = new StockholmFile(source);
+        alignFile = GenericFileAdapter.getFile("StockholmFile", source);
       }
       else if (format.equals("RNAML"))
       {
-        alignFile = new RnamlFile(source);
+        alignFile = GenericFileAdapter.getFile("RnamlFile", source);
       }
       else if (format.equals("SimpleBLAST"))
       {
-        alignFile = new SimpleBlastFile(source);
+        alignFile = GenericFileAdapter.getFile("SimpleBlastFile", source);
       }
-      else if (format.equals(PhylipFile.FILE_DESC))
+      else if (format.equals(Constants.Phylip_FILE_DESC))
       {
-        alignFile = new PhylipFile(source);
+        alignFile = GenericFileAdapter.getFile("PhylipFile", source);
       }
       else if (format.equals(IdentifyFile.GFF3File))
       {
-        alignFile = new Gff3File(inFile, type);
+        alignFile = GenericFileAdapter.getFile("Gff3File", inFile, type);
       }
-      else if (format.equals(JSONFile.FILE_DESC))
+      else if (format.equals(Constants.JSON_FILE_DESC))
       {
-        alignFile = new JSONFile(source);
+        alignFile = GenericFileAdapter.getFile("JSONFile", source);
       }
-      else if (format.equals(HtmlFile.FILE_DESC))
+      else if (format.equals(Constants.Html_FILE_DESC))
       {
-        alignFile = new HtmlFile(source);
+        alignFile = GenericFileAdapter.getFile("HtmlFile", source);
       }
 
       return buildAlignmentFrom(alignFile);
@@ -453,7 +459,7 @@ public class AppletFormatAdapter
         try
         {
           // Possible sequence is just residues with no label
-          alignFile = new FastaFile(">UNKNOWN\n" + inFile, "Paste");
+          alignFile = GenericFileAdapter.getFile("FastaFile", ">UNKNOWN\n" + inFile, "Paste");
           return buildAlignmentFrom(alignFile);
 
         } catch (Exception ex)
@@ -546,51 +552,51 @@ public class AppletFormatAdapter
       AlignFile afile = null;
       if (format.equalsIgnoreCase("FASTA"))
       {
-        afile = new FastaFile();
+        afile = GenericFileAdapter.getFile("FastaFile");
       }
       else if (format.equalsIgnoreCase("MSF"))
       {
-        afile = new MSFfile();
+        afile = GenericFileAdapter.getFile("MSFfile");
       }
       else if (format.equalsIgnoreCase("PileUp"))
       {
-        afile = new PileUpfile();
+        afile = GenericFileAdapter.getFile("PileUpfile"); // BH NOTE LOWER CASE "file"
       }
       else if (format.equalsIgnoreCase("CLUSTAL"))
       {
-        afile = new ClustalFile();
+        afile = GenericFileAdapter.getFile("ClustalFile");
       }
       else if (format.equalsIgnoreCase("BLC"))
       {
-        afile = new BLCFile();
+        afile = GenericFileAdapter.getFile("BLCFile");
       }
       else if (format.equalsIgnoreCase("PIR"))
       {
-        afile = new PIRFile();
+        afile = GenericFileAdapter.getFile("PIRFile");
       }
       else if (format.equalsIgnoreCase("PFAM"))
       {
-        afile = new PfamFile();
+        afile = GenericFileAdapter.getFile("PfamFile");
       }
       else if (format.equalsIgnoreCase("STH"))
       {
-        afile = new StockholmFile(alignment);
+        afile = GenericFileAdapter.getFile("StockholmFile", alignment);
       }
       else if (format.equalsIgnoreCase("AMSA"))
       {
-        afile = new AMSAFile(alignment);
+        afile = GenericFileAdapter.getFile("AMSAFile", alignment);
       }
-      else if (format.equalsIgnoreCase(PhylipFile.FILE_DESC))
+      else if (format.equalsIgnoreCase(Constants.Phylip_FILE_DESC))
       {
-        afile = new PhylipFile();
+        afile = GenericFileAdapter.getFile("PhylipFile");
       }
-       else if (format.equalsIgnoreCase(JSONFile.FILE_DESC))
+       else if (format.equalsIgnoreCase(Constants.JSON_FILE_DESC))
        {
-        afile = new JSONFile();
+        afile = GenericFileAdapter.getFile("JSONFile");
        }
       else if (format.equalsIgnoreCase("RNAML"))
       {
-        afile = new RnamlFile();
+        afile = GenericFileAdapter.getFile("RnamlFile");
       }
 
       else
@@ -644,6 +650,11 @@ public class AppletFormatAdapter
     return protocol;
   }
 
+  /**
+   * @j2sIgnore
+   * 
+   * @param args
+   */
   public static void main(String[] args)
   {
     int i = 0;