Merge branch 'features/JAL-2295setChimeraAttributes' into features/JAL-2351jmolExchange
[jalview.git] / src / jalview / io / AppletFormatAdapter.java
index e0a607b..45d65d6 100755 (executable)
@@ -75,60 +75,8 @@ public class AppletFormatAdapter
 
   private AlignExportSettingI exportSettings;
 
-  /**
-   * List of valid format strings used in the isValidFormat method
-   */
-  // public static final String[] READABLE_FORMATS = new String[] { "BLC",
-  // "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH", "PDB",
-  // "JnetFile", "RNAML", "PHYLIP", "JSON",
-  // IdentifyFile.FeaturesFile, "HTML", "mmCIF" };
-
-  /**
-   * List of readable format file extensions by application in order
-   * corresponding to READABLE_FNAMES
-   */
-  // public static final String[] READABLE_EXTENSIONS = new String[] {
-  // "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
-  // "sto,stk", "xml,rnaml", "phy", "json", ".gff2,gff3", "jar,jvp",
-  // "html", "cif" };
-
-  //
-  // /**
-  // * List of readable formats by application in order corresponding to
-  // * READABLE_EXTENSIONS
-  // */
-  // public static final String[] READABLE_FNAMES = new String[] { "Fasta",
-  // "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Stockholm", "RNAML",
-  // "PHYLIP", "JSON", IdentifyFile.FeaturesFile,
-  // "Jalview", HtmlFile.FILE_DESC, "mmCIF" };
-
-  /**
-   * List of valid format strings for use by callers of the formatSequences
-   * method
-   */
-  // public static final String[] WRITEABLE_FORMATS = new String[] { "BLC",
-  // "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "AMSA", "STH",
-  // "PHYLIP", "JSON" };
-
-  /**
-   * List of extensions corresponding to file format types in WRITABLE_FNAMES
-   * that are writable by the application.
-   */
-  // public static final String[] WRITABLE_EXTENSIONS = new String[] {
-  // "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
-  // "sto,stk", "phy", "json", "jvp" };
-
-  /**
-   * List of writable formats by the application. Order must correspond with the
-   * WRITABLE_EXTENSIONS list of formats.
-   */
-  // public static final String[] WRITABLE_FNAMES = new String[] { "Fasta",
-  // "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "STH", "PHYLIP",
-  // "JSON", "Jalview" };
-
   public static String INVALID_CHARACTERS = "Contains invalid characters";
 
-  // TODO: make these messages dynamic
   public static String SUPPORTED_FORMATS = "Formats currently supported are\n"
           + prettyPrint(FileFormat.getReadableFormats());
 
@@ -194,55 +142,34 @@ public class AppletFormatAdapter
     this.inFile = file;
     try
     {
-      if (fileFormat == FileFormat.PDB || fileFormat == FileFormat.MMCif)
+      if (fileFormat.isStructureFile())
       {
-        // TODO obtain config value from preference settings.
-        // Set value to 'true' to test PDB processing with Jmol: JAL-1213
-        boolean isParseWithJMOL = StructureImportSettings
-                .getDefaultPDBFileParser().equalsIgnoreCase(
+        String structureParser = StructureImportSettings
+                .getDefaultPDBFileParser();
+        boolean isParseWithJMOL = structureParser.equalsIgnoreCase(
                         StructureImportSettings.StructureParser.JMOL_PARSER
                                 .toString());
+        StructureImportSettings.addSettings(annotFromStructure,
+                localSecondaryStruct, serviceSecondaryStruct);
         if (isParseWithJMOL)
         {
-          StructureImportSettings.addSettings(annotFromStructure,
-                  localSecondaryStruct, serviceSecondaryStruct);
-          alignFile = new JmolParser(annotFromStructure,
-                  localSecondaryStruct, serviceSecondaryStruct, inFile,
-                  sourceType);
+          alignFile = new JmolParser(inFile, sourceType);
         }
         else
         {
-          StructureImportSettings.addSettings(annotFromStructure,
-                  localSecondaryStruct, serviceSecondaryStruct);
+          // todo is MCview parsing obsolete yet?
           StructureImportSettings.setShowSeqFeatures(true);
           alignFile = new MCview.PDBfile(annotFromStructure,
                   localSecondaryStruct, serviceSecondaryStruct, inFile,
                   sourceType);
         }
-        ((StructureFile) alignFile)
-                .setDbRefType(fileFormat == FileFormat.PDB ? Type.PDB
-                        : Type.MMCIF);
+        ((StructureFile) alignFile).setDbRefType(FileFormat.PDB
+                .equals(fileFormat) ? Type.PDB : Type.MMCIF);
       }
       else
       {
         alignFile = fileFormat.getAlignmentFile(inFile, sourceType);
       }
-      // new FastaFile(inFile, sourceType);
-      // new MSFfile(inFile, sourceType);
-      // new PileUpfile(inFile, sourceType);
-      // new ClustalFile(inFile, sourceType);
-      // new BLCFile(inFile, sourceType);
-      // new PIRFile(inFile, sourceType);
-      // new PfamFile(inFile, sourceType);
-      // alignFile = new JPredFile(inFile, sourceType);
-      // ((JPredFile) alignFile).removeNonSequences();
-      // new StockholmFile(inFile, sourceType);
-      // new SimpleBlastFile(inFile, sourceType);
-      // new PhylipFile(inFile, sourceType);
-      // new JSONFile(inFile, sourceType);
-      // new HtmlFile(inFile, sourceType);
-      // new RnamlFile(inFile, sourceType);
-      // alignFile = new FeaturesFile(true, inFile, sourceType);
       return buildAlignmentFromFile();
     } catch (Exception e)
     {
@@ -276,7 +203,7 @@ public class AppletFormatAdapter
           ex.printStackTrace();
         }
       }
-      if (fileFormat == FileFormat.Html)
+      if (FileFormat.Html.equals(fileFormat))
       {
         throw new IOException(e.getMessage());
       }
@@ -301,7 +228,7 @@ public class AppletFormatAdapter
     DataSourceType type = source.dataSourceType;
     try
     {
-      if (format == FileFormat.PDB || format == FileFormat.MMCif)
+      if (FileFormat.PDB.equals(format) || FileFormat.MMCif.equals(format))
       {
         // TODO obtain config value from preference settings
         boolean isParseWithJMOL = false;
@@ -309,8 +236,7 @@ public class AppletFormatAdapter
         {
           StructureImportSettings.addSettings(annotFromStructure,
                   localSecondaryStruct, serviceSecondaryStruct);
-          alignFile = new JmolParser(annotFromStructure,
-                  localSecondaryStruct, serviceSecondaryStruct, source);
+          alignFile = new JmolParser(source);
         }
         else
         {
@@ -435,7 +361,7 @@ public class AppletFormatAdapter
   {
     try
     {
-      AlignmentFileI afile = format.getAlignmentFile();
+      AlignmentFileI afile = format.getAlignmentFile(alignment);
 
       afile.setNewlineString(newline);
       afile.setExportSettings(exportSettings);