From ee198b3ca3687f18a2ee186f4e7c7330f4ea30f0 Mon Sep 17 00:00:00 2001 From: gmungoc Date: Mon, 11 Jul 2016 21:30:45 +0100 Subject: [PATCH] file format enum wip changes --- src/MCview/AppletPDBCanvas.java | 5 +- src/MCview/AppletPDBViewer.java | 5 +- src/MCview/PDBCanvas.java | 2 +- src/MCview/PDBViewer.java | 3 +- src/MCview/PDBfile.java | 6 +- src/jalview/api/AlignViewControllerI.java | 6 +- src/jalview/appletgui/AlignFrame.java | 40 +- src/jalview/appletgui/AppletJmol.java | 19 +- src/jalview/appletgui/AppletJmolBinding.java | 6 +- src/jalview/appletgui/CutAndPasteTransfer.java | 39 +- src/jalview/bin/Jalview.java | 49 ++- src/jalview/bin/JalviewLite.java | 41 ++- src/jalview/bin/JalviewLiteURLRetrieve.java | 21 +- src/jalview/datamodel/PDBEntry.java | 4 +- src/jalview/ext/jmol/JalviewJmolBinding.java | 10 +- src/jalview/ext/jmol/JmolParser.java | 5 +- src/jalview/gui/AlignExportSettings.java | 9 +- src/jalview/gui/AlignFrame.java | 81 ++-- src/jalview/gui/AlignViewport.java | 2 +- src/jalview/gui/AnnotationChooser.java | 2 +- src/jalview/gui/ChimeraViewFrame.java | 6 +- src/jalview/gui/CutAndPasteTransfer.java | 11 +- src/jalview/gui/Desktop.java | 80 ++-- src/jalview/gui/Jalview2XML.java | 12 +- src/jalview/gui/Preferences.java | 9 +- src/jalview/gui/StructureChooser.java | 2 +- src/jalview/gui/StructureViewerBase.java | 6 +- src/jalview/io/AlignFile.java | 24 +- src/jalview/io/AnnotationFile.java | 16 +- src/jalview/io/AppletFormatAdapter.java | 387 +++++--------------- src/jalview/io/BLCFile.java | 10 +- src/jalview/io/BioJsHTMLOutput.java | 7 +- src/jalview/io/ClustalFile.java | 5 +- src/jalview/io/FastaFile.java | 7 +- src/jalview/io/FeaturesFile.java | 10 +- src/jalview/io/FileLoader.java | 63 ++-- src/jalview/io/FileParse.java | 29 +- src/jalview/io/FormatAdapter.java | 31 +- src/jalview/io/HtmlFile.java | 5 +- src/jalview/io/HtmlSvgOutput.java | 7 +- src/jalview/io/IdentifyFile.java | 91 +++-- src/jalview/io/JPredFile.java | 32 +- src/jalview/io/JSONFile.java | 9 +- src/jalview/io/JalviewFileChooser.java | 38 +- src/jalview/io/MSFfile.java | 7 +- src/jalview/io/NewickFile.java | 11 +- src/jalview/io/PIRFile.java | 5 +- src/jalview/io/PfamFile.java | 5 +- src/jalview/io/PhylipFile.java | 10 +- src/jalview/io/PileUpfile.java | 7 +- src/jalview/io/RnamlFile.java | 7 +- src/jalview/io/SimpleBlastFile.java | 8 +- src/jalview/io/StockholmFile.java | 8 +- src/jalview/io/StructureFile.java | 15 +- src/jalview/io/TCoffeeScoreFile.java | 6 +- src/jalview/jbgui/GAlignExportSettings.java | 17 +- src/jalview/jbgui/GDesktop.java | 34 +- .../structure/StructureSelectionManager.java | 23 +- .../structures/models/AAStructureBindingModel.java | 11 +- src/jalview/ws/dbsources/Pdb.java | 2 +- src/jalview/ws/jws1/JPredThread.java | 40 +- src/jalview/ws/jws1/SeqSearchWSThread.java | 6 +- test/MCview/PDBfileTest.java | 12 +- .../analysis/AlignmentAnnotationUtilsTest.java | 5 +- test/jalview/analysis/AlignmentUtilsTests.java | 14 +- test/jalview/analysis/DnaTest.java | 16 +- .../scoremodels/FeatureScoreModelTest.java | 4 +- .../datamodel/AlignmentAnnotationTests.java | 7 +- test/jalview/datamodel/AlignmentTest.java | 36 +- test/jalview/ext/ensembl/EnsemblSeqProxyTest.java | 4 +- test/jalview/ext/jmol/JmolParserTest.java | 19 +- test/jalview/ext/jmol/JmolViewerTest.java | 4 +- test/jalview/ext/paradise/TestAnnotate3D.java | 6 +- .../ext/rbvi/chimera/JalviewChimeraView.java | 4 +- test/jalview/gui/AlignViewportTest.java | 12 +- test/jalview/gui/AnnotationChooserTest.java | 8 +- test/jalview/gui/PopupMenuTest.java | 5 +- test/jalview/io/AnnotatedPDBFileInputTest.java | 8 +- test/jalview/io/AnnotationFileIOTest.java | 8 +- test/jalview/io/FeaturesFileTest.java | 22 +- test/jalview/io/FileIOTester.java | 33 +- test/jalview/io/IdentifyFileTest.java | 15 +- test/jalview/io/JSONFileTest.java | 6 +- test/jalview/io/Jalview2xmlTests.java | 40 +- test/jalview/io/JalviewExportPropertiesTests.java | 4 +- test/jalview/io/NewickFileTests.java | 4 +- test/jalview/io/PfamFormatInputTest.java | 6 +- test/jalview/io/PhylipFileTests.java | 12 +- test/jalview/io/RNAMLfileTest.java | 3 +- test/jalview/io/StockholmFileTest.java | 20 +- test/jalview/io/TCoffeeScoreFileTest.java | 16 +- test/jalview/io/gff/ExonerateHelperTest.java | 6 +- test/jalview/io/gff/GffTests.java | 6 +- test/jalview/structure/Mapping.java | 15 +- .../structure/StructureSelectionManagerTest.java | 4 +- .../models/AAStructureBindingModelTest.java | 8 +- test/jalview/util/MappingUtilsTest.java | 25 +- .../ws/jabaws/DisorderAnnotExportImport.java | 8 +- .../ws/jabaws/JpredJabaStructExportImport.java | 8 +- test/jalview/ws/jabaws/RNAStructExportImport.java | 8 +- test/jalview/ws/rest/ShmmrRSBSService.java | 4 +- test/jalview/ws/sifts/SiftsClientTest.java | 6 +- 102 files changed, 944 insertions(+), 981 deletions(-) diff --git a/src/MCview/AppletPDBCanvas.java b/src/MCview/AppletPDBCanvas.java index df98833..1a7e7f5 100644 --- a/src/MCview/AppletPDBCanvas.java +++ b/src/MCview/AppletPDBCanvas.java @@ -26,6 +26,7 @@ import jalview.appletgui.FeatureRenderer; import jalview.appletgui.SequenceRenderer; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.structure.AtomSpec; import jalview.structure.StructureListener; @@ -145,7 +146,7 @@ public class AppletPDBCanvas extends Panel implements MouseListener, StructureSelectionManager ssm; public AppletPDBCanvas(PDBEntry pdbentry, SequenceI[] seq, - String[] chains, AlignmentPanel ap, String protocol) + String[] chains, AlignmentPanel ap, DataSourceType protocol) { this.ap = ap; @@ -159,7 +160,7 @@ public class AppletPDBCanvas extends Panel implements MouseListener, { pdb = ssm.setMapping(seq, chains, pdbentry.getFile(), protocol); - if (protocol.equals(jalview.io.AppletFormatAdapter.PASTE)) + if (protocol == DataSourceType.PASTE) { pdbentry.setFile("INLINE" + pdb.getId()); } diff --git a/src/MCview/AppletPDBViewer.java b/src/MCview/AppletPDBViewer.java index 8233ac3..76ee4b0 100644 --- a/src/MCview/AppletPDBViewer.java +++ b/src/MCview/AppletPDBViewer.java @@ -24,6 +24,7 @@ import jalview.appletgui.AlignmentPanel; import jalview.appletgui.EmbmenuFrame; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.schemes.BuriedColourScheme; import jalview.schemes.HelixColourScheme; import jalview.schemes.HydrophobicColourScheme; @@ -51,7 +52,7 @@ public class AppletPDBViewer extends EmbmenuFrame implements AppletPDBCanvas pdbcanvas; public AppletPDBViewer(PDBEntry pdbentry, SequenceI[] seq, - String[] chains, AlignmentPanel ap, String protocol) + String[] chains, AlignmentPanel ap, DataSourceType protocol) { try { @@ -73,6 +74,7 @@ public class AppletPDBViewer extends EmbmenuFrame implements } + @Override public void actionPerformed(ActionEvent evt) { if (evt.getSource() == mapping) @@ -143,6 +145,7 @@ public class AppletPDBViewer extends EmbmenuFrame implements } + @Override public void itemStateChanged(ItemEvent evt) { if (evt.getSource() == allchains) diff --git a/src/MCview/PDBCanvas.java b/src/MCview/PDBCanvas.java index 1c7a1f7..2905a3e 100644 --- a/src/MCview/PDBCanvas.java +++ b/src/MCview/PDBCanvas.java @@ -153,7 +153,7 @@ public class PDBCanvas extends JPanel implements MouseListener, { pdb = ssm.setMapping(seq, chains, pdbentry.getFile(), protocol); - if (protocol.equals(jalview.io.AppletFormatAdapter.PASTE)) + if (protocol.equals(jalview.io.DataSourceType.PASTE)) { pdbentry.setFile("INLINE" + pdb.getId()); } diff --git a/src/MCview/PDBViewer.java b/src/MCview/PDBViewer.java index d5f0d0b..cbe2332 100755 --- a/src/MCview/PDBViewer.java +++ b/src/MCview/PDBViewer.java @@ -26,6 +26,7 @@ import jalview.gui.AlignmentPanel; import jalview.gui.Desktop; import jalview.gui.OOMWarning; import jalview.gui.UserDefinedColours; +import jalview.io.DataSourceType; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.schemes.BuriedColourScheme; @@ -113,7 +114,7 @@ public class PDBViewer extends JInternalFrame implements Runnable { tmpPDBFile = pdbentry.getFile(); PDBfile pdbfile = new PDBfile(false, false, false, tmpPDBFile, - jalview.io.AppletFormatAdapter.FILE); + DataSourceType.FILE); pdbcanvas.init(pdbentry, seq, chains, ap, protocol); diff --git a/src/MCview/PDBfile.java b/src/MCview/PDBfile.java index 9acc2e7..6da867d 100755 --- a/src/MCview/PDBfile.java +++ b/src/MCview/PDBfile.java @@ -24,6 +24,7 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.DBRefSource; import jalview.datamodel.SequenceI; import jalview.io.FileParse; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.structure.StructureImportSettings; import jalview.util.MessageManager; @@ -47,10 +48,11 @@ public class PDBfile extends StructureFile } public PDBfile(boolean addAlignmentAnnotations, boolean predictSecStr, - boolean externalSecStr, String dataObject, String protocol) + boolean externalSecStr, String dataObject, + DataSourceType sourceType) throws IOException { - super(false, dataObject, protocol); + super(false, dataObject, sourceType); addSettings(addAlignmentAnnotations, predictSecStr, externalSecStr); doParse(); } diff --git a/src/jalview/api/AlignViewControllerI.java b/src/jalview/api/AlignViewControllerI.java index 26966ba..b868ee5 100644 --- a/src/jalview/api/AlignViewControllerI.java +++ b/src/jalview/api/AlignViewControllerI.java @@ -20,6 +20,8 @@ */ package jalview.api; +import jalview.io.DataSourceType; + import java.util.List; /** @@ -88,13 +90,13 @@ public interface AlignViewControllerI * add a features file of some kind to the current view * * @param file - * @param protocol + * @param sourceType * @param relaxedIdMatching * if true, try harder to match up IDs with local sequence data * @return true if parsing resulted in something being imported to the view or * dataset */ - public boolean parseFeaturesFile(String file, String protocol, + public boolean parseFeaturesFile(String file, DataSourceType sourceType, boolean relaxedIdMatching); } diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 8f1f2fd..c2e9038 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -49,7 +49,9 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.io.AnnotationFile; import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.FeaturesFile; +import jalview.io.FileFormat; import jalview.io.TCoffeeScoreFile; import jalview.schemes.Blosum62ColourScheme; import jalview.schemes.BuriedColourScheme; @@ -345,7 +347,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, * is protocol for accessing data referred to by file */ - public boolean parseFeaturesFile(String file, String type) + public boolean parseFeaturesFile(String file, DataSourceType type) { return parseFeaturesFile(file, type, true); } @@ -355,14 +357,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, * * @param file * file URL, content, or other resolvable path - * @param type + * @param paste * is protocol for accessing data referred to by file * @param autoenabledisplay * when true, display features flag will be automatically enabled if * features are loaded * @return true if data parsed as a features file */ - public boolean parseFeaturesFile(String file, String type, + public boolean parseFeaturesFile(String file, DataSourceType paste, boolean autoenabledisplay) { boolean featuresFile = false; @@ -372,7 +374,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, .getFeatureRenderer().getFeatureColours(); boolean relaxedIdMatching = viewport.applet.getDefaultParameter( "relaxedidmatch", false); - featuresFile = new FeaturesFile(file, type).parse( + featuresFile = new FeaturesFile(file, paste).parse( viewport.getAlignment(), colours, true, relaxedIdMatching); } catch (Exception ex) { @@ -4014,7 +4016,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, } // resolve data source // TODO: this code should be a refactored to an io package - String protocol = AppletFormatAdapter.resolveProtocol(pdbFile, "PDB"); + DataSourceType protocol = AppletFormatAdapter.resolveProtocol( + pdbFile, FileFormat.PDB); if (protocol == null) { return false; @@ -4024,9 +4027,9 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, // make a note of the access mode and add if (pdbentry.getProperty() == null) { - pdbentry.setProperty(new Hashtable()); + pdbentry.setProperty(new Hashtable()); } - pdbentry.getProperty().put("protocol", protocol); + pdbentry.getProperty().put("protocol", protocol.toString()); toaddpdb.addPDBId(pdbentry); alignPanel.getStructureSelectionManager() .registerPDBEntry(pdbentry); @@ -4063,7 +4066,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, } public void newStructureView(JalviewLite applet, PDBEntry pdb, - SequenceI[] seqs, String[] chains, String protocol) + SequenceI[] seqs, String[] chains, DataSourceType protocol) { // Scrub any null sequences from the array Object[] sqch = cleanSeqChainArrays(seqs, chains); @@ -4074,10 +4077,16 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, System.err .println("JalviewLite.AlignFrame:newStructureView: No sequence to bind structure to."); } - if (protocol == null || protocol.trim().length() == 0 - || protocol.equals("null")) + if (protocol == null) { - protocol = (String) pdb.getProperty().get("protocol"); + String sourceType = pdb.getProperty().get("protocol"); + try + { + protocol = DataSourceType.valueOf(sourceType); + } catch (IllegalArgumentException e) + { + // ignore + } if (protocol == null) { System.err.println("Couldn't work out protocol to open structure: " @@ -4100,12 +4109,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { // can only do alignments with Jmol // find the last jmol window assigned to this alignment - jalview.appletgui.AppletJmol ajm = null, tajm; - Vector jmols = applet - .getAppletWindow(jalview.appletgui.AppletJmol.class); + AppletJmol ajm = null, tajm; + Vector jmols = applet.getAppletWindow(AppletJmol.class); for (int i = 0, iSize = jmols.size(); i < iSize; i++) { - tajm = (jalview.appletgui.AppletJmol) jmols.elementAt(i); + tajm = (AppletJmol) jmols.elementAt(i); if (tajm.ap.alignFrame == this) { ajm = tajm; @@ -4124,7 +4132,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, // otherwise, create a new window if (applet.jmolAvailable) { - new jalview.appletgui.AppletJmol(pdb, seqs, chains, alignPanel, + new AppletJmol(pdb, seqs, chains, alignPanel, protocol); applet.lastFrameX += 40; applet.lastFrameY += 40; diff --git a/src/jalview/appletgui/AppletJmol.java b/src/jalview/appletgui/AppletJmol.java index 8374721..18e7d1a 100644 --- a/src/jalview/appletgui/AppletJmol.java +++ b/src/jalview/appletgui/AppletJmol.java @@ -20,11 +20,12 @@ */ package jalview.appletgui; +import jalview.bin.JalviewLite; import jalview.datamodel.AlignmentI; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; import jalview.io.FileParse; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.schemes.BuriedColourScheme; import jalview.schemes.HelixColourScheme; @@ -176,7 +177,7 @@ public class AppletJmol extends EmbmenuFrame implements } public AppletJmol(PDBEntry pdbentry, SequenceI[] seq, String[] chains, - AlignmentPanel ap, String protocol) + AlignmentPanel ap, DataSourceType protocol) { this.ap = ap; jmb = new AppletJmolBinding(this, ap.getStructureSelectionManager(), @@ -185,7 +186,7 @@ public class AppletJmol extends EmbmenuFrame implements jmb.setColourBySequence(true); if (pdbentry.getId() == null || pdbentry.getId().length() < 1) { - if (protocol.equals(AppletFormatAdapter.PASTE)) + if (protocol == DataSourceType.PASTE) { pdbentry.setId("PASTED PDB" + (chains == null ? "_" : chains.toString())); @@ -196,7 +197,7 @@ public class AppletJmol extends EmbmenuFrame implements } } - if (jalview.bin.JalviewLite.debug) + if (JalviewLite.debug) { System.err .println("AppletJmol: PDB ID is '" + pdbentry.getId() + "'"); @@ -292,20 +293,20 @@ public class AppletJmol extends EmbmenuFrame implements }); if (pdbentry.getProperty() == null) { - pdbentry.setProperty(new Hashtable()); - pdbentry.getProperty().put("protocol", protocol); + pdbentry.setProperty(new Hashtable()); + pdbentry.getProperty().put("protocol", protocol.toString()); } if (pdbentry.getFile() != null) { // import structure data from pdbentry.getFile based on given protocol - if (protocol.equals(AppletFormatAdapter.PASTE)) + if (protocol == DataSourceType.PASTE) { // TODO: JAL-623 : correctly record file contents for matching up later // pdbentry.getProperty().put("pdbfilehash",""+pdbentry.getFile().hashCode()); loadInline(pdbentry.getFile()); } - else if (protocol.equals(AppletFormatAdapter.FILE) - || protocol.equals(AppletFormatAdapter.URL)) + else if (protocol == DataSourceType.FILE + || protocol == DataSourceType.URL) { jmb.viewer.openFile(pdbentry.getFile()); } diff --git a/src/jalview/appletgui/AppletJmolBinding.java b/src/jalview/appletgui/AppletJmolBinding.java index 6ec5b4d..92dff7b 100644 --- a/src/jalview/appletgui/AppletJmolBinding.java +++ b/src/jalview/appletgui/AppletJmolBinding.java @@ -24,6 +24,7 @@ import jalview.api.AlignmentViewPanel; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.ext.jmol.JalviewJmolBinding; +import jalview.io.DataSourceType; import jalview.structure.StructureSelectionManager; import java.awt.Container; @@ -45,7 +46,7 @@ class AppletJmolBinding extends JalviewJmolBinding public AppletJmolBinding(AppletJmol appletJmol, StructureSelectionManager sSm, PDBEntry[] pdbentry, - SequenceI[][] seq, String[][] chains, String protocol) + SequenceI[][] seq, String[][] chains, DataSourceType protocol) { super(sSm, pdbentry, seq, chains, protocol); appletJmolBinding = appletJmol; @@ -113,12 +114,14 @@ class AppletJmolBinding extends JalviewJmolBinding appletJmolBinding.updateTitleAndMenus(); } + @Override public void updateColours(Object source) { AlignmentPanel ap = (AlignmentPanel) source; colourBySequence(ap); } + @Override public void showUrl(String url) { try @@ -143,6 +146,7 @@ class AppletJmolBinding extends JalviewJmolBinding // do nothing. } + @Override public void selectionChanged(BS arg0) { // TODO Auto-generated method stub diff --git a/src/jalview/appletgui/CutAndPasteTransfer.java b/src/jalview/appletgui/CutAndPasteTransfer.java index bbaeb68..d50fcef 100644 --- a/src/jalview/appletgui/CutAndPasteTransfer.java +++ b/src/jalview/appletgui/CutAndPasteTransfer.java @@ -28,9 +28,11 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import jalview.io.AlignmentFileI; import jalview.io.AnnotationFile; import jalview.io.AppletFormatAdapter; -import jalview.io.FileParse; +import jalview.io.DataSourceType; +import jalview.io.FileFormatI; import jalview.io.IdentifyFile; import jalview.io.NewickFile; import jalview.io.TCoffeeScoreFile; @@ -51,6 +53,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import java.io.IOException; public class CutAndPasteTransfer extends Panel implements ActionListener, MouseListener @@ -65,7 +68,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, AlignFrame alignFrame; - FileParse source = null; + AlignmentFileI source = null; public CutAndPasteTransfer(boolean forImport, AlignFrame alignFrame) { @@ -194,7 +197,8 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, { try { - NewickFile fin = new NewickFile(textarea.getText(), "Paste"); + NewickFile fin = new NewickFile(textarea.getText(), + DataSourceType.PASTE); fin.parse(); if (fin.getTree() != null) @@ -225,17 +229,14 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, { AlignmentI al = null; - String format = new IdentifyFile().identify(text, - AppletFormatAdapter.PASTE); - AppletFormatAdapter afa = new AppletFormatAdapter(alignFrame.alignPanel); try { - al = afa.readFile(text, AppletFormatAdapter.PASTE, format); + FileFormatI format = new IdentifyFile().identify(text, + DataSourceType.PASTE); + AppletFormatAdapter afa = new AppletFormatAdapter( + alignFrame.alignPanel); + al = afa.readFile(text, DataSourceType.PASTE, format); source = afa.getAlignFile(); - } catch (java.io.IOException ex) - { - ex.printStackTrace(); - } if (al != null) { @@ -296,6 +297,10 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, .getString("label.successfully_pasted_alignment_file")); } } + } catch (IOException ex) + { + ex.printStackTrace(); + } } /** @@ -306,7 +311,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, * @param al * @return */ - protected boolean openSplitFrame(AlignmentI al, String format) + protected boolean openSplitFrame(AlignmentI al, FileFormatI format) { final AlignmentI thisAlignment = this.alignFrame.getAlignViewport() .getAlignment(); @@ -376,7 +381,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, try { tcf = new TCoffeeScoreFile(textarea.getText(), - jalview.io.AppletFormatAdapter.PASTE); + jalview.io.DataSourceType.PASTE); if (tcf.isValid()) { if (tcf.annotateAlignment(alignFrame.viewport.getAlignment(), true)) @@ -409,7 +414,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, if (tcf == null) { if (new AnnotationFile().annotateAlignmentView(alignFrame.viewport, - textarea.getText(), jalview.io.AppletFormatAdapter.PASTE)) + textarea.getText(), jalview.io.DataSourceType.PASTE)) { alignFrame.alignPanel.fontChanged(); alignFrame.alignPanel.setScrollValues(0, 0); @@ -421,7 +426,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, else { if (!alignFrame.parseFeaturesFile(textarea.getText(), - jalview.io.AppletFormatAdapter.PASTE)) + jalview.io.DataSourceType.PASTE)) { alignFrame.statusBar .setText(MessageManager @@ -445,12 +450,12 @@ public class CutAndPasteTransfer extends Panel implements ActionListener, if (alignFrame.alignPanel.av.applet.jmolAvailable) { new jalview.appletgui.AppletJmol(pdb, new SequenceI[] { seq }, null, - alignFrame.alignPanel, AppletFormatAdapter.PASTE); + alignFrame.alignPanel, DataSourceType.PASTE); } else { new MCview.AppletPDBViewer(pdb, new SequenceI[] { seq }, null, - alignFrame.alignPanel, AppletFormatAdapter.PASTE); + alignFrame.alignPanel, DataSourceType.PASTE); } } diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 76ae3ff..cd4d138 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -28,8 +28,11 @@ import jalview.gui.Desktop; import jalview.gui.PromptUserConfig; import jalview.io.AppletFormatAdapter; import jalview.io.BioJsHTMLOutput; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatException; +import jalview.io.FileFormatI; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import jalview.io.HtmlSvgOutput; import jalview.io.IdentifyFile; import jalview.io.NewickFile; @@ -344,7 +347,9 @@ public class Jalview BioJsHTMLOutput.updateBioJS(); } - String file = null, protocol = null, format = null, data = null; + String file = null, data = null; + FileFormatI format = null; + DataSourceType protocol = null; FileLoader fileLoader = new FileLoader(!headless); Vector getFeatures = null; // vector of das source nicknames to // fetch @@ -377,13 +382,13 @@ public class Jalview { try { - String viprotocol = AppletFormatAdapter + DataSourceType viprotocol = AppletFormatAdapter .checkProtocol(vamsasImport); - if (viprotocol == jalview.io.FormatAdapter.FILE) + if (viprotocol == DataSourceType.FILE) { inSession = desktop.vamsasImport(new File(vamsasImport)); } - else if (viprotocol == FormatAdapter.URL) + else if (viprotocol == DataSourceType.URL) { inSession = desktop.vamsasImport(new URL(vamsasImport)); } @@ -472,7 +477,13 @@ public class Jalview protocol = AppletFormatAdapter.checkProtocol(file); - format = new IdentifyFile().identify(file, protocol); + try + { + format = new IdentifyFile().identify(file, protocol); + } catch (FileFormatException e1) + { + // TODO ? + } AlignFrame af = fileLoader.LoadFileWaitTillLoaded(file, protocol, format); @@ -617,17 +628,17 @@ public class Jalview String imageName = "unnamed.png"; while (aparser.getSize() > 1) { - format = aparser.nextValue(); + String outputFormat = aparser.nextValue(); file = aparser.nextValue(); - if (format.equalsIgnoreCase("png")) + if (outputFormat.equalsIgnoreCase("png")) { af.createPNG(new File(file)); imageName = (new File(file)).getName(); System.out.println("Creating PNG image: " + file); continue; } - else if (format.equalsIgnoreCase("svg")) + else if (outputFormat.equalsIgnoreCase("svg")) { File imageFile = new File(file); imageName = imageFile.getName(); @@ -635,7 +646,7 @@ public class Jalview System.out.println("Creating SVG image: " + file); continue; } - else if (format.equalsIgnoreCase("html")) + else if (outputFormat.equalsIgnoreCase("html")) { File imageFile = new File(file); imageName = imageFile.getName(); @@ -643,13 +654,13 @@ public class Jalview System.out.println("Creating HTML image: " + file); continue; } - else if (format.equalsIgnoreCase("imgMap")) + else if (outputFormat.equalsIgnoreCase("imgMap")) { af.createImageMap(new File(file), imageName); System.out.println("Creating image map: " + file); continue; } - else if (format.equalsIgnoreCase("eps")) + else if (outputFormat.equalsIgnoreCase("eps")) { File outputFile = new File(file); System.out.println("Creating EPS file: " @@ -698,20 +709,26 @@ public class Jalview jalview.bin.Cache.removeProperty("STARTUP_FILE"); } - protocol = "File"; + protocol = DataSourceType.FILE; if (file.indexOf("http:") > -1) { - protocol = "URL"; + protocol = DataSourceType.URL; } if (file.endsWith(".jar")) { - format = "Jalview"; + format = FileFormat.Jalview; } else { - format = new IdentifyFile().identify(file, protocol); + try + { + format = new IdentifyFile().identify(file, protocol); + } catch (FileFormatException e) + { + // TODO what? + } } startUpAlframe = fileLoader.LoadFileWaitTillLoaded(file, protocol, diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index 13e4b7e..96c8a97 100644 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -37,6 +37,8 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.io.AnnotationFile; import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormatI; import jalview.io.FileParse; import jalview.io.IdentifyFile; import jalview.io.JPredFile; @@ -63,6 +65,7 @@ import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; +import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.util.ArrayList; @@ -747,14 +750,14 @@ public class JalviewLite extends Applet implements public void loadAnnotationFrom(AlignFrame alf, String annotation) { if (new AnnotationFile().annotateAlignmentView(alf.getAlignViewport(), - annotation, AppletFormatAdapter.PASTE)) + annotation, DataSourceType.PASTE)) { alf.alignPanel.fontChanged(); alf.alignPanel.setScrollValues(0, 0); } else { - alf.parseFeaturesFile(annotation, AppletFormatAdapter.PASTE); + alf.parseFeaturesFile(annotation, DataSourceType.PASTE); } } @@ -780,7 +783,7 @@ public class JalviewLite extends Applet implements public boolean loadFeaturesFrom(AlignFrame alf, String features, boolean autoenabledisplay) { - return alf.parseFeaturesFile(features, AppletFormatAdapter.PASTE, + return alf.parseFeaturesFile(features, DataSourceType.PASTE, autoenabledisplay); } @@ -888,17 +891,17 @@ public class JalviewLite extends Applet implements { AlignmentI al = null; - String format = new IdentifyFile().identify(text, - AppletFormatAdapter.PASTE); try { - al = new AppletFormatAdapter().readFile(text, - AppletFormatAdapter.PASTE, format); + FileFormatI format = new IdentifyFile().identify(text, + DataSourceType.PASTE); + al = new AppletFormatAdapter().readFile(text, DataSourceType.PASTE, + format); if (al.getHeight() > 0) { return new AlignFrame(al, this, title, false); } - } catch (java.io.IOException ex) + } catch (IOException ex) { ex.printStackTrace(); } @@ -1824,7 +1827,7 @@ public class JalviewLite extends Applet implements /** * State variable: protocol for access to file source */ - String protocol; + DataSourceType protocol; String _file; // alignment file or URL spec @@ -1854,7 +1857,7 @@ public class JalviewLite extends Applet implements */ if (path.startsWith("PASTE")) { - protocol = AppletFormatAdapter.PASTE; + protocol = DataSourceType.PASTE; return path.substring(5); } @@ -1863,7 +1866,7 @@ public class JalviewLite extends Applet implements */ if (path.indexOf("://") != -1) { - protocol = AppletFormatAdapter.URL; + protocol = DataSourceType.URL; return path; } @@ -1879,7 +1882,7 @@ public class JalviewLite extends Applet implements System.err.println("Prepended document base '" + documentBase + "' to make: '" + withDocBase + "'"); } - protocol = AppletFormatAdapter.URL; + protocol = DataSourceType.URL; return withDocBase; } @@ -1892,7 +1895,7 @@ public class JalviewLite extends Applet implements if (!withCodeBase.equals(withDocBase) && HttpUtils.isValidUrl(withCodeBase)) { - protocol = AppletFormatAdapter.URL; + protocol = DataSourceType.URL; if (debug) { System.err.println("Prepended codebase '" + codeBase @@ -1907,7 +1910,7 @@ public class JalviewLite extends Applet implements */ if (inArchive(path)) { - protocol = AppletFormatAdapter.CLASSLOADER; + protocol = DataSourceType.CLASSLOADER; } return path; } @@ -2021,11 +2024,12 @@ public class JalviewLite extends Applet implements return null; } String resolvedFile = resolveFileProtocol(fileParam); - String format = new IdentifyFile().identify(resolvedFile, protocol); - dbgMsg("File identified as '" + format + "'"); AlignmentI al = null; try { + FileFormatI format = new IdentifyFile().identify(resolvedFile, + protocol); + dbgMsg("File identified as '" + format + "'"); al = new AppletFormatAdapter().readFile(resolvedFile, protocol, format); if ((al != null) && (al.getHeight() > 0)) @@ -2042,7 +2046,7 @@ public class JalviewLite extends Applet implements // update the focus. currentAlignFrame = newAlignFrame; - if (protocol == AppletFormatAdapter.PASTE) + if (protocol == DataSourceType.PASTE) { newAlignFrame.setTitle(MessageManager.formatMessage( "label.sequences_from", new Object[] { applet @@ -2213,8 +2217,7 @@ public class JalviewLite extends Applet implements } else { - pdbs.addElement(new Object[] { pdb, seqs, chains, - new String(protocol) }); + pdbs.addElement(new Object[] { pdb, seqs, chains, protocol }); } } } diff --git a/src/jalview/bin/JalviewLiteURLRetrieve.java b/src/jalview/bin/JalviewLiteURLRetrieve.java index fd88028..156e146 100644 --- a/src/jalview/bin/JalviewLiteURLRetrieve.java +++ b/src/jalview/bin/JalviewLiteURLRetrieve.java @@ -22,7 +22,11 @@ package jalview.bin; import jalview.datamodel.AlignmentI; import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatI; import jalview.io.FileParse; +import jalview.io.IdentifyFile; import java.applet.Applet; import java.io.InputStream; @@ -45,6 +49,7 @@ public class JalviewLiteURLRetrieve extends Applet * * @return void */ + @Override public void init() { this.setSize(300, 200); @@ -55,7 +60,7 @@ public class JalviewLiteURLRetrieve extends Applet .println("Specify a resource to read on the file parameter"); return; } - String protocol = null; + DataSourceType protocol = null; try { System.out.println("Loading thread started with:\n>>file\n" + file @@ -75,7 +80,7 @@ public class JalviewLiteURLRetrieve extends Applet + (rtn ? "" : "not") + " located by classloader."); if (rtn) { - protocol = AppletFormatAdapter.CLASSLOADER; + protocol = DataSourceType.CLASSLOADER; } } catch (Exception ex) @@ -85,12 +90,12 @@ public class JalviewLiteURLRetrieve extends Applet } if (file.indexOf("://") > -1) { - protocol = AppletFormatAdapter.URL; + protocol = DataSourceType.URL; } else { // skipping codebase prepend check. - protocol = AppletFormatAdapter.FILE; + protocol = DataSourceType.FILE; } System.out.println("Trying to get contents of resource:"); @@ -110,10 +115,10 @@ public class JalviewLiteURLRetrieve extends Applet + " cannot be read with protocol==" + protocol); return; } - String format = getParameter("format"); - if (format == null || format.length() == 0) + FileFormatI format = FileFormat.valueOf(getParameter("format")); + if (format == null) { - format = new jalview.io.IdentifyFile().identify(file, protocol); + format = new IdentifyFile().identify(file, protocol); System.out.println("Format is " + format); } else @@ -132,7 +137,7 @@ public class JalviewLiteURLRetrieve extends Applet if (al != null) { System.out.println(new AppletFormatAdapter().formatSequences( - "FASTA", al, false)); + FileFormat.Fasta, al, false)); } } catch (Exception e) { diff --git a/src/jalview/datamodel/PDBEntry.java b/src/jalview/datamodel/PDBEntry.java index 1c7df49..243e00c 100755 --- a/src/jalview/datamodel/PDBEntry.java +++ b/src/jalview/datamodel/PDBEntry.java @@ -37,7 +37,7 @@ public class PDBEntry PDB, MMCIF, FILE } - Hashtable properties; + Hashtable properties; /* * (non-Javadoc) @@ -153,7 +153,7 @@ public class PDBEntry this.properties = property; } - public Hashtable getProperty() + public Hashtable getProperty() { return properties; } diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index 2ccf118..3ee8a34 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -27,7 +27,7 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.schemes.ColourSchemeI; import jalview.schemes.ResidueProperties; @@ -104,7 +104,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel public JalviewJmolBinding(StructureSelectionManager ssm, PDBEntry[] pdbentry, SequenceI[][] sequenceIs, String[][] chains, - String protocol) + DataSourceType protocol) { super(ssm, pdbentry, sequenceIs, chains, protocol); /* @@ -1140,7 +1140,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel // see JAL-623 - need method of matching pasted data up { pdb = getSsm().setMapping(getSequence()[pe], getChains()[pe], - pdbfile, AppletFormatAdapter.PASTE); + pdbfile, DataSourceType.PASTE); getPdbEntry(modelnum).setFile("INLINE" + pdb.getId()); matches = true; foundEntry = true; @@ -1158,12 +1158,12 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel // needs // to be tested. See mantis bug // https://mantis.lifesci.dundee.ac.uk/view.php?id=36605 - String protocol = AppletFormatAdapter.URL; + DataSourceType protocol = DataSourceType.URL; try { if (fl.exists()) { - protocol = AppletFormatAdapter.FILE; + protocol = DataSourceType.FILE; } } catch (Exception e) { diff --git a/src/jalview/ext/jmol/JmolParser.java b/src/jalview/ext/jmol/JmolParser.java index c514503..ba57329 100644 --- a/src/jalview/ext/jmol/JmolParser.java +++ b/src/jalview/ext/jmol/JmolParser.java @@ -25,6 +25,7 @@ import jalview.datamodel.Annotation; import jalview.datamodel.DBRefSource; import jalview.datamodel.SequenceI; import jalview.io.FileParse; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.schemes.ResidueProperties; import jalview.structure.StructureImportSettings; @@ -60,10 +61,10 @@ public class JmolParser extends StructureFile implements JmolStatusListener Viewer viewer = null; public JmolParser(boolean addAlignmentAnnotations, boolean predictSecStr, - boolean externalSecStr, String inFile, String type) + boolean externalSecStr, String inFile, DataSourceType sourceType) throws IOException { - super(inFile, type); + super(inFile, sourceType); } public JmolParser(boolean addAlignmentAnnotations, boolean predictSecStr, diff --git a/src/jalview/gui/AlignExportSettings.java b/src/jalview/gui/AlignExportSettings.java index 2a12630..50af20a 100644 --- a/src/jalview/gui/AlignExportSettings.java +++ b/src/jalview/gui/AlignExportSettings.java @@ -22,6 +22,7 @@ package jalview.gui; import jalview.api.AlignExportSettingI; import jalview.bin.Jalview; +import jalview.io.FileFormatI; import jalview.jbgui.GAlignExportSettings; import jalview.util.MessageManager; @@ -41,9 +42,9 @@ public class AlignExportSettings extends GAlignExportSettings implements JDialog dialog; public AlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols, - String alignFileFormat) + FileFormatI format) { - super(hasHiddenSeq, hasHiddenCols, alignFileFormat); + super(hasHiddenSeq, hasHiddenCols, format); if (!Jalview.isHeadlessMode() && isShowDialog()) { @@ -53,6 +54,7 @@ public class AlignExportSettings extends GAlignExportSettings implements MessageManager.getString("label.export_settings")); dialog.addWindowListener(new WindowAdapter() { + @Override public void windowClosing(WindowEvent e) { cancelled = true; @@ -66,6 +68,7 @@ public class AlignExportSettings extends GAlignExportSettings implements } } + @Override public void ok_actionPerformed(ActionEvent e) { cancelled = false; @@ -73,6 +76,7 @@ public class AlignExportSettings extends GAlignExportSettings implements dialog.dispose(); } + @Override public void cancel_actionPerformed(ActionEvent e) { cancelled = true; @@ -110,6 +114,7 @@ public class AlignExportSettings extends GAlignExportSettings implements return chkExportGrps.isSelected(); } + @Override public boolean isCancelled() { return cancelled; diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 133aab4..cf5766f 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -65,10 +65,14 @@ import jalview.gui.ViewSelectionMenu.ViewSetProvider; import jalview.io.AlignmentProperties; import jalview.io.AnnotationFile; import jalview.io.BioJsHTMLOutput; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatI; import jalview.io.FileLoader; import jalview.io.FormatAdapter; import jalview.io.HtmlSvgOutput; import jalview.io.IdentifyFile; +import jalview.io.JPredFile; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.io.JnetAnnotationMaker; @@ -179,7 +183,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, /** * Last format used to load or save alignments in this window */ - String currentFileFormat = null; + FileFormatI currentFileFormat = null; /** * Current filename for this alignment @@ -488,7 +492,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, * @param format * format of file */ - public void setFileName(String file, String format) + public void setFileName(String file, FileFormatI format) { fileName = file; setFileFormat(format); @@ -1138,10 +1142,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, fileName = chooser.getSelectedFile().getPath(); - jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT", - currentFileFormat); + Cache.setProperty("DEFAULT_FILE_FORMAT", + currentFileFormat.toString()); - jalview.bin.Cache.setProperty("LAST_DIRECTORY", fileName); + Cache.setProperty("LAST_DIRECTORY", fileName); if (currentFileFormat.indexOf(" ") > -1) { currentFileFormat = currentFileFormat.substring(0, @@ -1151,11 +1155,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } - public boolean saveAlignment(String file, String format) + public boolean saveAlignment(String file, FileFormatI format) { boolean success = true; - if (format.equalsIgnoreCase("Jalview")) + if (format == FileFormat.Jalview) { String shortName = title; @@ -1273,8 +1277,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, cap.setForInput(null); try { + FileFormatI format = FileFormat.valueOf(e.getActionCommand()); cap.setText(new FormatAdapter(alignPanel, exportData.getSettings()) - .formatSequences(e.getActionCommand(), + .formatSequences(format, exportData.getAlignment(), exportData.getOmitHidden(), exportData.getStartEndPostions(), @@ -1291,7 +1296,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } public static AlignmentExportData getAlignmentForExport( - String exportFormat, AlignViewportI viewport, + FileFormatI format, AlignViewportI viewport, AlignExportSettingI exportSettings) { AlignmentI alignmentToExport = null; @@ -1307,7 +1312,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (settings == null) { settings = new AlignExportSettings(hasHiddenSeqs, - viewport.hasHiddenColumns(), exportFormat); + viewport.hasHiddenColumns(), format); } // settings.isExportAnnotations(); @@ -4320,7 +4325,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, jalview.io.NewickFile fin = null; try { - fin = new jalview.io.NewickFile(choice, "File"); + fin = new NewickFile(choice, DataSourceType.FILE); viewport.setCurrentTree(ShowNewickTree(fin, choice).getTree()); } catch (Exception ex) { @@ -4979,11 +4984,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, /** * Set the file format * - * @param fileFormat + * @param format */ - public void setFileFormat(String fileFormat) + public void setFileFormat(FileFormatI format) { - this.currentFileFormat = fileFormat; + this.currentFileFormat = format; } /** @@ -4991,14 +4996,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, * * @param file * contents or path to retrieve file - * @param type + * @param sourceType * access mode of file (see jalview.io.AlignFile) * @return true if features file was parsed correctly. */ - public boolean parseFeaturesFile(String file, String type) + public boolean parseFeaturesFile(String file, DataSourceType sourceType) { - return avc.parseFeaturesFile(file, type, - jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false)); + return avc.parseFeaturesFile(file, sourceType, + Cache.getDefault("RELAXEDSEQIDMATCHING", false)); } @@ -5040,7 +5045,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void drop(DropTargetDropEvent evt) { Transferable t = evt.getTransferable(); - java.util.List files = new ArrayList(), protocols = new ArrayList(); + List files = new ArrayList(); + List protocols = new ArrayList(); try { @@ -5066,13 +5072,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { String file = files.get(i).toString(); String pdbfn = ""; - String protocol = FormatAdapter.checkProtocol(file); - if (protocol == jalview.io.FormatAdapter.FILE) + DataSourceType protocol = FormatAdapter.checkProtocol(file); + if (protocol == DataSourceType.FILE) { File fl = new File(file); pdbfn = fl.getName(); } - else if (protocol == jalview.io.FormatAdapter.URL) + else if (protocol == DataSourceType.URL) { URL url = new URL(file); pdbfn = url.getFile(); @@ -5205,21 +5211,20 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, * @param file * either a filename or a URL string. */ - public void loadJalviewDataFile(String file, String protocol, - String format, SequenceI assocSeq) + public void loadJalviewDataFile(String file, DataSourceType sourceType, + FileFormatI format, SequenceI assocSeq) { try { - if (protocol == null) + if (sourceType == null) { - protocol = FormatAdapter.checkProtocol(file); + sourceType = FormatAdapter.checkProtocol(file); } // if the file isn't identified, or not positively identified as some // other filetype (PFAM is default unidentified alignment file type) then // try to parse as annotation. - boolean isAnnotation = (format == null || format - .equalsIgnoreCase("PFAM")) ? new AnnotationFile() - .annotateAlignmentView(viewport, file, protocol) : false; + boolean isAnnotation = (format == null || format == FileFormat.Pfam) ? new AnnotationFile() + .annotateAlignmentView(viewport, file, sourceType) : false; if (!isAnnotation) { @@ -5227,7 +5232,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, TCoffeeScoreFile tcf = null; try { - tcf = new TCoffeeScoreFile(file, protocol); + tcf = new TCoffeeScoreFile(file, sourceType); if (tcf.isValid()) { if (tcf.annotateAlignment(viewport.getAlignment(), true)) @@ -5273,12 +5278,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // try to parse it as a features file if (format == null) { - format = new IdentifyFile().identify(file, protocol); + format = new IdentifyFile().identify(file, sourceType); } - if (format.equalsIgnoreCase("JnetFile")) + if (format == FileFormat.Jnet) { - jalview.io.JPredFile predictions = new jalview.io.JPredFile( - file, protocol); + JPredFile predictions = new JPredFile( + file, sourceType); new JnetAnnotationMaker(); JnetAnnotationMaker.add_annotation(predictions, viewport.getAlignment(), 0, false); @@ -5291,14 +5296,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } else if (IdentifyFile.FeaturesFile.equals(format)) { - if (parseFeaturesFile(file, protocol)) + if (parseFeaturesFile(file, sourceType)) { alignPanel.paintAlignment(true); } } else { - new FileLoader().LoadFile(viewport, file, protocol, format); + new FileLoader().LoadFile(viewport, file, sourceType, format); } } } @@ -5323,8 +5328,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } new OOMWarning( "loading data " - + (protocol != null ? (protocol.equals(FormatAdapter.PASTE) ? "from clipboard." - : "using " + protocol + " from " + file) + + (sourceType != null ? (sourceType == DataSourceType.PASTE ? "from clipboard." + : "using " + sourceType + " from " + file) : ".") + (format != null ? "(parsing as '" + format + "' file)" : ""), oom, Desktop.desktop); diff --git a/src/jalview/gui/AlignViewport.java b/src/jalview/gui/AlignViewport.java index b1a4fee..2f0d78b 100644 --- a/src/jalview/gui/AlignViewport.java +++ b/src/jalview/gui/AlignViewport.java @@ -943,7 +943,7 @@ public class AlignViewport extends AlignmentViewport implements // TODO if we want this (e.g. to enable reload of the alignment from file), // we will need to add parameters to the stack. - // if (!protocol.equals(AppletFormatAdapter.PASTE)) + // if (!protocol.equals(DataSourceType.PASTE)) // { // alignFrame.setFileName(file, format); // } diff --git a/src/jalview/gui/AnnotationChooser.java b/src/jalview/gui/AnnotationChooser.java index 718e0f0..f20d0e6 100644 --- a/src/jalview/gui/AnnotationChooser.java +++ b/src/jalview/gui/AnnotationChooser.java @@ -242,7 +242,7 @@ public class AnnotationChooser extends JPanel * type which are in the application scope (all, selected or unselected * sequences). * - * @param type + * @param dataSourceType */ protected void changeShowHide_actionPerformed() { diff --git a/src/jalview/gui/ChimeraViewFrame.java b/src/jalview/gui/ChimeraViewFrame.java index f2244d5..a114f31 100644 --- a/src/jalview/gui/ChimeraViewFrame.java +++ b/src/jalview/gui/ChimeraViewFrame.java @@ -28,7 +28,7 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.ext.rbvi.chimera.JalviewChimeraBinding; import jalview.gui.StructureViewer.ViewerType; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.schemes.BuriedColourScheme; @@ -660,12 +660,12 @@ public class ChimeraViewFrame extends StructureViewerBase jmb.openFile(pe); jmb.addSequence(pos, jmb.getSequence()[pos]); File fl = new File(pe.getFile()); - String protocol = AppletFormatAdapter.URL; + DataSourceType protocol = DataSourceType.URL; try { if (fl.exists()) { - protocol = AppletFormatAdapter.FILE; + protocol = DataSourceType.FILE; } } catch (Throwable e) { diff --git a/src/jalview/gui/CutAndPasteTransfer.java b/src/jalview/gui/CutAndPasteTransfer.java index 1161340..7b3e438 100644 --- a/src/jalview/gui/CutAndPasteTransfer.java +++ b/src/jalview/gui/CutAndPasteTransfer.java @@ -31,6 +31,8 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.SequenceI; import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormatI; import jalview.io.FileParse; import jalview.io.FormatAdapter; import jalview.io.IdentifyFile; @@ -213,14 +215,15 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer return; } - String format = new IdentifyFile().identify(text, "Paste"); - if (format == null || format.equalsIgnoreCase("EMPTY DATA FILE")) + FileFormatI format = new IdentifyFile().identify(text, + DataSourceType.PASTE); + if (format == null) { System.err.println(MessageManager .getString("label.couldnt_read_data")); if (!Jalview.isHeadlessMode()) { - javax.swing.JOptionPane.showInternalMessageDialog(Desktop.desktop, + JOptionPane.showInternalMessageDialog(Desktop.desktop, AppletFormatAdapter.SUPPORTED_FORMATS, MessageManager.getString("label.couldnt_read_data"), JOptionPane.WARNING_MESSAGE); @@ -236,7 +239,7 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer try { FormatAdapter fa = new FormatAdapter(alignpanel); - al = fa.readFile(getText(), "Paste", format); + al = fa.readFile(getText(), DataSourceType.PASTE, format); source = fa.getAlignFile(); } catch (java.io.IOException ex) diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index d54e553..7810099 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -24,8 +24,12 @@ import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.bin.Cache; import jalview.bin.Jalview; +import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatException; +import jalview.io.FileFormatI; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import jalview.io.IdentifyFile; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; @@ -667,10 +671,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements String file = (String) contents .getTransferData(DataFlavor.stringFlavor); - String format = new IdentifyFile().identify(file, - FormatAdapter.PASTE); + FileFormatI format = new IdentifyFile().identify(file, + DataSourceType.PASTE); - new FileLoader().LoadFile(file, FormatAdapter.PASTE, format); + new FileLoader().LoadFile(file, DataSourceType.PASTE, format); } } catch (Exception ex) @@ -953,8 +957,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements { boolean success = true; Transferable t = evt.getTransferable(); - java.util.List files = new ArrayList(); - java.util.List protocols = new ArrayList(); + List files = new ArrayList(); + List protocols = new ArrayList(); try { @@ -972,13 +976,13 @@ public class Desktop extends jalview.jbgui.GDesktop implements for (int i = 0; i < files.size(); i++) { String file = files.get(i).toString(); - String protocol = (protocols == null) ? FormatAdapter.FILE - : (String) protocols.get(i); - String format = null; + DataSourceType protocol = (protocols == null) ? DataSourceType.FILE + : protocols.get(i); + FileFormatI format = null; if (file.endsWith(".jar")) { - format = "Jalview"; + format = FileFormat.Jalview; } else @@ -1008,10 +1012,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements public void inputLocalFileMenuItem_actionPerformed(AlignViewport viewport) { JalviewFileChooser chooser = new JalviewFileChooser( - jalview.bin.Cache.getProperty("LAST_DIRECTORY"), - jalview.io.AppletFormatAdapter.READABLE_EXTENSIONS, - jalview.io.AppletFormatAdapter.READABLE_FNAMES, - jalview.bin.Cache.getProperty("DEFAULT_FILE_FORMAT")); + Cache.getProperty("LAST_DIRECTORY"), + AppletFormatAdapter.READABLE_EXTENSIONS, + AppletFormatAdapter.READABLE_FNAMES, + Cache.getProperty("DEFAULT_FILE_FORMAT")); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle(MessageManager @@ -1023,28 +1027,34 @@ public class Desktop extends jalview.jbgui.GDesktop implements if (value == JalviewFileChooser.APPROVE_OPTION) { String choice = chooser.getSelectedFile().getPath(); - jalview.bin.Cache.setProperty("LAST_DIRECTORY", chooser + Cache.setProperty("LAST_DIRECTORY", chooser .getSelectedFile().getParent()); - String format = null; + FileFormatI format = null; if (chooser.getSelectedFormat() != null - && chooser.getSelectedFormat().equals("Jalview")) + && chooser.getSelectedFormat() == FileFormat.Jalview) { - format = "Jalview"; + format = FileFormat.Jalview; } else { - format = new IdentifyFile().identify(choice, FormatAdapter.FILE); + try + { + format = new IdentifyFile().identify(choice, DataSourceType.FILE); + } catch (FileFormatException e) + { + // format is null + } } if (viewport != null) { - new FileLoader().LoadFile(viewport, choice, FormatAdapter.FILE, + new FileLoader().LoadFile(viewport, choice, DataSourceType.FILE, format); } else { - new FileLoader().LoadFile(choice, FormatAdapter.FILE, format); + new FileLoader().LoadFile(choice, DataSourceType.FILE, format); } } } @@ -1054,9 +1064,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements * * @param e * DOCUMENT ME! + * @throws FileFormatException */ @Override public void inputURLMenuItem_actionPerformed(AlignViewport viewport) + throws FileFormatException { // This construct allows us to have a wider textfield // for viewing @@ -1100,17 +1112,19 @@ public class Desktop extends jalview.jbgui.GDesktop implements { if (viewport != null) { - new FileLoader().LoadFile(viewport, url, FormatAdapter.URL, - "Jalview"); + new FileLoader().LoadFile(viewport, url, DataSourceType.URL, + FileFormat.Jalview); } else { - new FileLoader().LoadFile(url, FormatAdapter.URL, "Jalview"); + new FileLoader().LoadFile(url, DataSourceType.URL, + FileFormat.Jalview); } } else { - String format = new IdentifyFile().identify(url, FormatAdapter.URL); + FileFormatI format = new IdentifyFile().identify(url, + DataSourceType.URL); if (format.equals("URL NOT FOUND")) { @@ -1125,11 +1139,12 @@ public class Desktop extends jalview.jbgui.GDesktop implements if (viewport != null) { - new FileLoader().LoadFile(viewport, url, FormatAdapter.URL, format); + new FileLoader() + .LoadFile(viewport, url, DataSourceType.URL, format); } else { - new FileLoader().LoadFile(url, FormatAdapter.URL, format); + new FileLoader().LoadFile(url, DataSourceType.URL, format); } } } @@ -3179,7 +3194,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements } public static void transferFromDropTarget(List files, - List protocols, DropTargetDropEvent evt, Transferable t) + List protocols, DropTargetDropEvent evt, + Transferable t) throws Exception { @@ -3194,7 +3210,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements .getTransferData(DataFlavor.javaFileListFlavor)) { files.add(((File)file).toString()); - protocols.add(FormatAdapter.FILE); + protocols.add(DataSourceType.FILE); } } else @@ -3225,7 +3241,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements { Cache.log.debug("Adding missing FILE protocol for " + files.get(protocols.size())); - protocols.add(FormatAdapter.FILE); + protocols.add(DataSourceType.FILE); } for (java.util.StringTokenizer st = new java.util.StringTokenizer( data, "\r\n"); st.hasMoreTokens();) @@ -3240,14 +3256,14 @@ public class Desktop extends jalview.jbgui.GDesktop implements java.net.URI uri = new java.net.URI(s); if (uri.getScheme().toLowerCase().startsWith("http")) { - protocols.add(FormatAdapter.URL); + protocols.add(DataSourceType.URL); files.add(uri.toString()); } else { // otherwise preserve old behaviour: catch all for file objects java.io.File file = new java.io.File(uri); - protocols.add(FormatAdapter.FILE); + protocols.add(DataSourceType.FILE); files.add(file.toString()); } } diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 945651b..1c2bfa6 100644 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -36,6 +36,7 @@ import jalview.datamodel.StructureViewerModel; import jalview.datamodel.StructureViewerModel.StructureData; import jalview.ext.varna.RnaModel; import jalview.gui.StructureViewer.ViewerType; +import jalview.io.DataSourceType; import jalview.schemabinding.version2.AlcodMap; import jalview.schemabinding.version2.AlcodonFrame; import jalview.schemabinding.version2.Annotation; @@ -865,14 +866,14 @@ public class Jalview2XML if (entry.getProperty() != null && !entry.getProperty().isEmpty()) { PdbentryItem item = new PdbentryItem(); - Hashtable properties = entry.getProperty(); - Enumeration en2 = properties.keys(); + Hashtable properties = entry.getProperty(); + Enumeration en2 = properties.keys(); while (en2.hasMoreElements()) { Property prop = new Property(); - String key = en2.nextElement().toString(); + String key = en2.nextElement(); prop.setName(key); - prop.setValue(properties.get(key).toString()); + prop.setValue(properties.get(key)); item.addProperty(prop); } pdb.addPdbentryItem(item); @@ -3988,8 +3989,7 @@ public class Jalview2XML StructureData filedat = oldFiles.get(id); String pdbFile = filedat.getFilePath(); SequenceI[] seq = filedat.getSeqList().toArray(new SequenceI[0]); - binding.getSsm().setMapping(seq, null, pdbFile, - jalview.io.AppletFormatAdapter.FILE); + binding.getSsm().setMapping(seq, null, pdbFile, DataSourceType.FILE); binding.addSequenceForStructFile(pdbFile, seq); } // and add the AlignmentPanel's reference to the view panel diff --git a/src/jalview/gui/Preferences.java b/src/jalview/gui/Preferences.java index afc93e0..5b48e2d 100755 --- a/src/jalview/gui/Preferences.java +++ b/src/jalview/gui/Preferences.java @@ -684,11 +684,11 @@ public class Preferences extends GPreferences public void startupFileTextfield_mouseClicked() { JalviewFileChooser chooser = new JalviewFileChooser( - jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[] { + Cache.getProperty("LAST_DIRECTORY"), new String[] { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "jar" }, new String[] { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "Jalview" }, - jalview.bin.Cache.getProperty("DEFAULT_FILE_FORMAT")); + Cache.getProperty("DEFAULT_FILE_FORMAT")); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle(MessageManager .getString("label.select_startup_file")); @@ -697,8 +697,9 @@ public class Preferences extends GPreferences if (value == JalviewFileChooser.APPROVE_OPTION) { - jalview.bin.Cache.applicationProperties.setProperty( - "DEFAULT_FILE_FORMAT", chooser.getSelectedFormat()); + Cache.applicationProperties.setProperty("DEFAULT_FILE_FORMAT", + chooser + .getSelectedFormat().toString()); startupFileTextfield.setText(chooser.getSelectedFile() .getAbsolutePath()); } diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 13fa460..76cb71d 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -828,7 +828,7 @@ public class StructureChooser extends GStructureChooser implements } PDBEntry fileEntry = new AssociatePdbFileWithSeq() .associatePdbWithSeq(selectedPdbFileName, - jalview.io.AppletFormatAdapter.FILE, + jalview.io.DataSourceType.FILE, selectedSequence, true, Desktop.instance); launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap, diff --git a/src/jalview/gui/StructureViewerBase.java b/src/jalview/gui/StructureViewerBase.java index 7df42fd..e295dfb 100644 --- a/src/jalview/gui/StructureViewerBase.java +++ b/src/jalview/gui/StructureViewerBase.java @@ -24,7 +24,7 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.gui.StructureViewer.ViewerType; import jalview.gui.ViewSelectionMenu.ViewSetProvider; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.jbgui.GStructureViewer; import jalview.structures.models.AAStructureBindingModel; import jalview.util.MessageManager; @@ -152,6 +152,7 @@ public abstract class StructureViewerBase extends GStructureViewer this.ap = alp; } + @Override public AlignmentPanel[] getAllAlignmentPanels() { AlignmentPanel[] t, list = new AlignmentPanel[0]; @@ -291,6 +292,7 @@ public abstract class StructureViewerBase extends GStructureViewer // queue. new Thread(new Runnable() { + @Override public void run() { while (worker != null && worker.isAlive() && _started) @@ -411,7 +413,7 @@ public abstract class StructureViewerBase extends GStructureViewer * create the mappings */ apanel.getStructureSelectionManager().setMapping(seq, chains, - pdbFilename, AppletFormatAdapter.FILE); + pdbFilename, DataSourceType.FILE); /* * alert the FeatureRenderer to show new (PDB RESNUM) features diff --git a/src/jalview/io/AlignFile.java b/src/jalview/io/AlignFile.java index 5760fbe..6d6ab5c 100755 --- a/src/jalview/io/AlignFile.java +++ b/src/jalview/io/AlignFile.java @@ -40,7 +40,7 @@ import java.util.Vector; * @author $author$ * @version $Revision$ */ -public abstract class AlignFile extends FileParse +public abstract class AlignFile extends FileParse implements AlignmentFileI { int noSeqs = 0; @@ -91,12 +91,13 @@ public abstract class AlignFile extends FileParse * * @param dataObject * Filename, URL or Pasted String to read from. - * @param type + * @param sourceType * What type of file to read from (File, URL, Pasted String) */ - public AlignFile(String dataObject, String type) throws IOException + public AlignFile(String dataObject, DataSourceType sourceType) + throws IOException { - this(true, dataObject, type); + this(true, dataObject, sourceType); } /** @@ -107,14 +108,15 @@ public abstract class AlignFile extends FileParse * if false, need to call 'doParse()' to begin parsing data * @param dataObject * Filename, URL or Pasted String to read from. - * @param type + * @param sourceType * What type of file to read from (File, URL) * @throws IOException */ - public AlignFile(boolean parseImmediately, String dataObject, String type) + public AlignFile(boolean parseImmediately, String dataObject, + DataSourceType sourceType) throws IOException { - super(dataObject, type); + super(dataObject, sourceType); initData(); if (parseImmediately) { @@ -191,6 +193,7 @@ public abstract class AlignFile extends FileParse /** * Return the Sequences in the seqs Vector as an array of Sequences */ + @Override public SequenceI[] getSeqsAsArray() { SequenceI[] s = new SequenceI[seqs.size()]; @@ -209,6 +212,7 @@ public abstract class AlignFile extends FileParse * * @param al */ + @Override public void addAnnotations(AlignmentI al) { addProperties(al); @@ -314,7 +318,8 @@ public abstract class AlignFile extends FileParse * @param s * DOCUMENT ME! */ - protected void setSeqs(SequenceI[] s) + @Override + public void setSeqs(SequenceI[] s) { seqs = new Vector(); @@ -332,8 +337,10 @@ public abstract class AlignFile extends FileParse /** * Print out in alignment file format the Sequences in the seqs Vector. */ + @Override public abstract String print(); + @Override public void addJVSuffix(boolean b) { jvSuffix = b; @@ -400,6 +407,7 @@ public abstract class AlignFile extends FileParse return newickStrings == null ? 0 : newickStrings.size(); } + @Override public void addGroups(AlignmentI al) { diff --git a/src/jalview/io/AnnotationFile.java b/src/jalview/io/AnnotationFile.java index d738882..6e121b3 100755 --- a/src/jalview/io/AnnotationFile.java +++ b/src/jalview/io/AnnotationFile.java @@ -661,7 +661,7 @@ public class AnnotationFile String refSeqId = null; public boolean annotateAlignmentView(AlignViewportI viewport, - String file, String protocol) + String file, DataSourceType protocol) { ColumnSelection colSel = viewport.getColumnSelection(); if (colSel == null) @@ -679,31 +679,31 @@ public class AnnotationFile } public boolean readAnnotationFile(AlignmentI al, String file, - String protocol) + DataSourceType sourceType) { - return readAnnotationFile(al, null, file, protocol); + return readAnnotationFile(al, null, file, sourceType); } public boolean readAnnotationFile(AlignmentI al, ColumnSelection colSel, - String file, String protocol) + String file, DataSourceType sourceType) { BufferedReader in = null; try { - if (protocol.equals(AppletFormatAdapter.FILE)) + if (sourceType == DataSourceType.FILE) { in = new BufferedReader(new FileReader(file)); } - else if (protocol.equals(AppletFormatAdapter.URL)) + else if (sourceType == DataSourceType.URL) { URL url = new URL(file); in = new BufferedReader(new InputStreamReader(url.openStream())); } - else if (protocol.equals(AppletFormatAdapter.PASTE)) + else if (sourceType == DataSourceType.PASTE) { in = new BufferedReader(new StringReader(file)); } - else if (protocol.equals(AppletFormatAdapter.CLASSLOADER)) + else if (sourceType == DataSourceType.CLASSLOADER) { java.io.InputStream is = getClass().getResourceAsStream("/" + file); if (is != null) diff --git a/src/jalview/io/AppletFormatAdapter.java b/src/jalview/io/AppletFormatAdapter.java index fb414f4..720bac4 100755 --- a/src/jalview/io/AppletFormatAdapter.java +++ b/src/jalview/io/AppletFormatAdapter.java @@ -27,7 +27,6 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; import jalview.structure.StructureImportSettings; -import jalview.util.MessageManager; import java.io.File; import java.io.IOException; @@ -47,14 +46,6 @@ public class AppletFormatAdapter { private AlignmentViewPanel viewpanel; - public static String FILE = "File"; - - public static String URL = "URL"; - - public static String PASTE = "Paste"; - - public static String CLASSLOADER = "ClassLoader"; - /** * add jalview-derived non-secondary structure annotation from PDB structure */ @@ -70,7 +61,7 @@ public class AppletFormatAdapter */ boolean serviceSecondaryStruct = false; - private AlignFile alignFile = null; + private AlignmentFileI alignFile = null; String inFile; @@ -86,7 +77,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, + "JnetFile", "RNAML", "PHYLIP", "JSON", IdentifyFile.FeaturesFile, "HTML", "mmCIF" }; /** @@ -95,7 +86,7 @@ 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", "phy", "json", ".gff2,gff3", "jar,jvp", HtmlFile.FILE_EXT, "cif" }; /** @@ -104,7 +95,7 @@ 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.FeaturesFile, + "PHYLIP", "JSON", IdentifyFile.FeaturesFile, "Jalview", HtmlFile.FILE_DESC, "mmCIF" }; /** @@ -113,7 +104,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 }; + "PHYLIP", "JSON" }; /** * List of extensions corresponding to file format types in WRITABLE_FNAMES @@ -121,7 +112,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", "phy", "json", "jvp" }; /** * List of writable formats by the application. Order must correspond with the @@ -129,7 +120,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" }; + "PHYLIP", "JSON", "Jalview" }; public static String INVALID_CHARACTERS = "Contains invalid characters"; @@ -228,152 +219,84 @@ public class AppletFormatAdapter * * @param inFile * data/data location - * @param type + * @param sourceType * type of datasource - * @param format - * File format of data provided by datasource + * @param fileFormat * - * @return DOCUMENT ME! + * @return */ - public AlignmentI readFile(String inFile, String type, String format) - throws java.io.IOException + public AlignmentI readFile(String file, DataSourceType sourceType, + FileFormatI fileFormat) throws IOException { - // TODO: generalise mapping between format string and io. class instances - // using Constructor.invoke reflection - this.inFile = inFile; + this.inFile = file; try { - if (format.equals("FASTA")) - { - alignFile = new FastaFile(inFile, type); - } - else if (format.equals("MSF")) - { - alignFile = new MSFfile(inFile, type); - } - else if (format.equals("PileUp")) - { - alignFile = new PileUpfile(inFile, type); - } - else if (format.equals("CLUSTAL")) - { - alignFile = new ClustalFile(inFile, type); - } - else if (format.equals("BLC")) - { - alignFile = new BLCFile(inFile, type); - } - else if (format.equals("PIR")) - { - alignFile = new PIRFile(inFile, type); - } - else if (format.equals("PFAM")) - { - alignFile = new PfamFile(inFile, type); - } - else if (format.equals("JnetFile")) - { - alignFile = new JPredFile(inFile, type); - ((JPredFile) alignFile).removeNonSequences(); - } - else if (format.equals("PDB")) - { - // TODO obtain config value from preference settings. - // Set value to 'true' to test PDB processing with Jmol: JAL-1213 - boolean isParseWithJMOL = !StructureImportSettings - .getCurrentDefaultFormat().equalsIgnoreCase("PDB"); - if (isParseWithJMOL) - { - StructureImportSettings.addSettings(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct); - alignFile = new jalview.ext.jmol.JmolParser(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, inFile, - type); - } - else - { - StructureImportSettings.addSettings(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct); - StructureImportSettings.setShowSeqFeatures(true); - alignFile = new MCview.PDBfile(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, inFile, - type); - } - } - else if (format.equals("mmCIF")) + if (fileFormat == FileFormat.PDB || fileFormat == FileFormat.MMCif) { StructureImportSettings.addSettings(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct); - alignFile = new jalview.ext.jmol.JmolParser(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, inFile, type); + alignFile = fileFormat.getAlignmentFile(inFile, sourceType); } - else if (format.equals("STH")) - { - alignFile = new StockholmFile(inFile, type); - } - else if (format.equals("SimpleBLAST")) - { - alignFile = new SimpleBlastFile(inFile, type); - } - else if (format.equals(PhylipFile.FILE_DESC)) - { - alignFile = new PhylipFile(inFile, type); - } - else if (format.equals(JSONFile.FILE_DESC)) - { - alignFile = new JSONFile(inFile, type); - } - else if (format.equals(HtmlFile.FILE_DESC)) - { - alignFile = new HtmlFile(inFile, type); - } - else if (format.equals("RNAML")) - { - alignFile = new RnamlFile(inFile, type); - } - else if (format.equals(IdentifyFile.FeaturesFile)) + else { - alignFile = new FeaturesFile(true, inFile, type); - } - return buildAlignmentFrom(alignFile); + 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) { e.printStackTrace(); - System.err.println("Failed to read alignment using the '" + format + System.err.println("Failed to read alignment using the '" + + fileFormat + "' reader.\n" + e); if (e.getMessage() != null && e.getMessage().startsWith(INVALID_CHARACTERS)) { - throw new java.io.IOException(e.getMessage()); + throw new IOException(e.getMessage()); } // Finally test if the user has pasted just the sequence, no id - if (type.equalsIgnoreCase("Paste")) + if (sourceType == DataSourceType.PASTE) { try { // Possible sequence is just residues with no label - alignFile = new FastaFile(">UNKNOWN\n" + inFile, "Paste"); - return buildAlignmentFrom(alignFile); + alignFile = new FastaFile(">UNKNOWN\n" + inFile, + DataSourceType.PASTE); + return buildAlignmentFromFile(); } catch (Exception ex) { if (ex.toString().startsWith(INVALID_CHARACTERS)) { - throw new java.io.IOException(e.getMessage()); + throw new IOException(e.getMessage()); } ex.printStackTrace(); } } - if (format.equalsIgnoreCase("HTML")) + if (fileFormat == FileFormat.Html) { throw new IOException(e.getMessage()); } - // If we get to this stage, the format was not supported - throw new java.io.IOException(SUPPORTED_FORMATS); } + throw new FileFormatException(SUPPORTED_FORMATS); } /** @@ -384,107 +307,27 @@ public class AppletFormatAdapter * @param format * File format of data that will be provided by datasource * - * @return DOCUMENT ME! + * @return */ - public AlignmentI readFromFile(FileParse source, String format) - throws java.io.IOException + public AlignmentI readFromFile(FileParse source, FileFormatI format) + throws IOException { - // TODO: generalise mapping between format string and io. class instances - // using Constructor.invoke reflection - // This is exactly the same as the readFile method except we substitute - // 'inFile, type' with 'source' this.inFile = source.getInFile(); - String type = source.type; + DataSourceType type = source.dataSourceType; try { - if (format.equals("FASTA")) - { - alignFile = new FastaFile(source); - } - else if (format.equals("MSF")) - { - alignFile = new MSFfile(source); - } - else if (format.equals("PileUp")) - { - alignFile = new PileUpfile(source); - } - else if (format.equals("CLUSTAL")) - { - alignFile = new ClustalFile(source); - } - else if (format.equals("BLC")) - { - alignFile = new BLCFile(source); - } - else if (format.equals("PIR")) - { - alignFile = new PIRFile(source); - } - else if (format.equals("PFAM")) - { - alignFile = new PfamFile(source); - } - else if (format.equals("JnetFile")) - { - alignFile = new JPredFile(source); - ((JPredFile) alignFile).removeNonSequences(); - } - else if (format.equals("PDB")) - { - // TODO obtain config value from preference settings - boolean isParseWithJMOL = false; - if (isParseWithJMOL) - { - StructureImportSettings.addSettings(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct); - alignFile = new jalview.ext.jmol.JmolParser(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, source); - } - else - { - StructureImportSettings.setShowSeqFeatures(true); - alignFile = new MCview.PDBfile(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, source); - } - } - else if (format.equals("mmCIF")) + if (format == FileFormat.PDB || format == FileFormat.MMCif) { StructureImportSettings.addSettings(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct); - alignFile = new jalview.ext.jmol.JmolParser(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, source); - } - else if (format.equals("STH")) - { - alignFile = new StockholmFile(source); - } - else if (format.equals("RNAML")) - { - alignFile = new RnamlFile(source); + alignFile = format.getAlignmentFile(source); } - else if (format.equals("SimpleBLAST")) - { - alignFile = new SimpleBlastFile(source); - } - else if (format.equals(PhylipFile.FILE_DESC)) - { - alignFile = new PhylipFile(source); - } - else if (format.equals(IdentifyFile.FeaturesFile)) - { - alignFile = new FeaturesFile(inFile, type); - } - else if (format.equals(JSONFile.FILE_DESC)) - { - alignFile = new JSONFile(source); - } - else if (format.equals(HtmlFile.FILE_DESC)) + else { - alignFile = new HtmlFile(source); + alignFile = format.getAlignmentFile(source); } - return buildAlignmentFrom(alignFile); + return buildAlignmentFromFile(); } catch (Exception e) { @@ -495,23 +338,24 @@ public class AppletFormatAdapter if (e.getMessage() != null && e.getMessage().startsWith(INVALID_CHARACTERS)) { - throw new java.io.IOException(e.getMessage()); + throw new FileFormatException(e.getMessage()); } // Finally test if the user has pasted just the sequence, no id - if (type.equalsIgnoreCase("Paste")) + if (type == DataSourceType.PASTE) { try { // Possible sequence is just residues with no label - alignFile = new FastaFile(">UNKNOWN\n" + inFile, "Paste"); - return buildAlignmentFrom(alignFile); + alignFile = new FastaFile(">UNKNOWN\n" + inFile, + DataSourceType.PASTE); + return buildAlignmentFromFile(); } catch (Exception ex) { if (ex.toString().startsWith(INVALID_CHARACTERS)) { - throw new java.io.IOException(e.getMessage()); + throw new IOException(e.getMessage()); } ex.printStackTrace(); @@ -519,7 +363,7 @@ public class AppletFormatAdapter } // If we get to this stage, the format was not supported - throw new java.io.IOException(SUPPORTED_FORMATS); + throw new FileFormatException(SUPPORTED_FORMATS); } } @@ -527,10 +371,9 @@ public class AppletFormatAdapter * boilerplate method to handle data from an AlignFile and construct a new * alignment or import to an existing alignment * - * @param alignFile2 * @return AlignmentI instance ready to pass to a UI constructor */ - private AlignmentI buildAlignmentFrom(AlignFile alignFile2) + private AlignmentI buildAlignmentFromFile() { // Standard boilerplate for creating alignment from parser // alignFile.configureForView(viewpanel); @@ -553,7 +396,7 @@ public class AppletFormatAdapter * @param selectedOnly * @return flatfile in a string */ - public String formatSequences(String format, boolean jvsuffix, + public String formatSequences(FileFormatI format, boolean jvsuffix, AlignmentViewPanel ap, boolean selectedOnly) { @@ -589,67 +432,12 @@ public class AppletFormatAdapter * * @return alignment flat file contents */ - public String formatSequences(String format, AlignmentI alignment, + public String formatSequences(FileFormatI format, AlignmentI alignment, boolean jvsuffix) { try { - AlignFile afile = null; - if (format.equalsIgnoreCase("FASTA")) - { - afile = new FastaFile(); - } - else if (format.equalsIgnoreCase("MSF")) - { - afile = new MSFfile(); - } - else if (format.equalsIgnoreCase("PileUp")) - { - afile = new PileUpfile(); - } - else if (format.equalsIgnoreCase("CLUSTAL")) - { - afile = new ClustalFile(); - } - else if (format.equalsIgnoreCase("BLC")) - { - afile = new BLCFile(); - } - else if (format.equalsIgnoreCase("PIR")) - { - afile = new PIRFile(); - } - else if (format.equalsIgnoreCase("PFAM")) - { - afile = new PfamFile(); - } - else if (format.equalsIgnoreCase("STH")) - { - afile = new StockholmFile(alignment); - } - else if (format.equalsIgnoreCase("AMSA")) - { - afile = new AMSAFile(alignment); - } - else if (format.equalsIgnoreCase(PhylipFile.FILE_DESC)) - { - afile = new PhylipFile(); - } - else if (format.equalsIgnoreCase(JSONFile.FILE_DESC)) - { - afile = new JSONFile(); - } - else if (format.equalsIgnoreCase("RNAML")) - { - afile = new RnamlFile(); - } - - else - { - throw new Exception( - MessageManager - .getString("error.implementation_error_unknown_file_format_string")); - } + AlignmentFileI afile = format.getAlignmentFile(); afile.setNewlineString(newline); afile.addJVSuffix(jvsuffix); @@ -685,14 +473,14 @@ public class AppletFormatAdapter return null; } - public static String checkProtocol(String file) + public static DataSourceType checkProtocol(String file) { - String protocol = FILE; + DataSourceType protocol = DataSourceType.FILE; String ft = file.toLowerCase().trim(); if (ft.indexOf("http:") == 0 || ft.indexOf("https:") == 0 || ft.indexOf("file:") == 0) { - protocol = URL; + protocol = DataSourceType.URL; } return protocol; } @@ -713,8 +501,10 @@ public class AppletFormatAdapter System.gc(); long memf = -r.totalMemory() + r.freeMemory(); long t1 = -System.currentTimeMillis(); - AlignmentI al = afa.readFile(args[i], FILE, - new IdentifyFile().identify(args[i], FILE)); + AlignmentI al = afa + .readFile(args[i], DataSourceType.FILE, + new IdentifyFile().identify(args[i], + DataSourceType.FILE)); t1 += System.currentTimeMillis(); System.gc(); memf += r.totalMemory() - r.freeMemory(); @@ -725,7 +515,7 @@ public class AppletFormatAdapter try { System.out.println(new AppletFormatAdapter().formatSequences( - "FASTA", al, true)); + FileFormat.Fasta, al, true)); } catch (Exception e) { System.err @@ -764,16 +554,17 @@ public class AppletFormatAdapter * @param format * @return protocol that yields the data parsable as the given type */ - public static String resolveProtocol(String file, String format) + public static DataSourceType resolveProtocol(String file, + FileFormatI format) { return resolveProtocol(file, format, false); } - public static String resolveProtocol(String file, String format, - boolean debug) + public static DataSourceType resolveProtocol(String file, + FileFormatI format, boolean debug) { // TODO: test thoroughly! - String protocol = null; + DataSourceType protocol = null; if (debug) { System.out.println("resolving datasource started with:\n>>file\n" @@ -797,10 +588,9 @@ public class AppletFormatAdapter System.err.println("Resource '" + file + "' was " + (rtn ? "" : "not") + " located by classloader."); } - ; if (rtn) { - protocol = AppletFormatAdapter.CLASSLOADER; + protocol = DataSourceType.CLASSLOADER; } } catch (Exception ex) @@ -811,12 +601,12 @@ public class AppletFormatAdapter if (file.indexOf("://") > -1) { - protocol = AppletFormatAdapter.URL; + protocol = DataSourceType.URL; } else { // skipping codebase prepend check. - protocol = AppletFormatAdapter.FILE; + protocol = DataSourceType.FILE; } FileParse fp = null; try @@ -852,7 +642,7 @@ public class AppletFormatAdapter { System.out.println("Accessing as paste."); } - protocol = AppletFormatAdapter.PASTE; + protocol = DataSourceType.PASTE; fp = null; try { @@ -872,7 +662,7 @@ public class AppletFormatAdapter { return null; } - if (format == null || format.length() == 0) + if (format == null) { return protocol; } @@ -880,7 +670,7 @@ public class AppletFormatAdapter { try { - String idformat = new jalview.io.IdentifyFile().identify(file, + FileFormatI idformat = new IdentifyFile().identify(file, protocol); if (idformat == null) { @@ -920,20 +710,13 @@ public class AppletFormatAdapter System.err.println("File deemed not accessible via " + protocol); e.printStackTrace(); } - ; - } } return null; } - public AlignFile getAlignFile() + public AlignmentFileI getAlignFile() { return alignFile; } - - public void setAlignFile(AlignFile alignFile) - { - this.alignFile = alignFile; - } } diff --git a/src/jalview/io/BLCFile.java b/src/jalview/io/BLCFile.java index a499f75..c0ecd58 100755 --- a/src/jalview/io/BLCFile.java +++ b/src/jalview/io/BLCFile.java @@ -48,15 +48,16 @@ public class BLCFile extends AlignFile * * @param inFile * DOCUMENT ME! - * @param type + * @param sourceType * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! */ - public BLCFile(String inFile, String type) throws IOException + public BLCFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public BLCFile(FileParse source) throws IOException @@ -67,6 +68,7 @@ public class BLCFile extends AlignFile /** * DOCUMENT ME! */ + @Override public void initData() { super.initData(); @@ -89,6 +91,7 @@ public class BLCFile extends AlignFile /** * DOCUMENT ME! */ + @Override public void parse() throws IOException { StringBuffer headerLines = new StringBuffer(); @@ -217,6 +220,7 @@ public class BLCFile extends AlignFile * * @return DOCUMENT ME! */ + @Override public String print() { return print(getSeqsAsArray()); diff --git a/src/jalview/io/BioJsHTMLOutput.java b/src/jalview/io/BioJsHTMLOutput.java index f8fa1f5..0ebebc2 100644 --- a/src/jalview/io/BioJsHTMLOutput.java +++ b/src/jalview/io/BioJsHTMLOutput.java @@ -24,6 +24,7 @@ import jalview.api.AlignExportSettingI; import jalview.api.AlignmentViewPanel; import jalview.datamodel.AlignmentExportData; import jalview.exceptions.NoFileSelectedException; +import jalview.gui.AlignFrame; import jalview.gui.IProgressIndicator; import jalview.gui.OOMWarning; import jalview.json.binding.biojs.BioJSReleasePojo; @@ -125,11 +126,11 @@ public class BioJsHTMLOutput } }; - AlignmentExportData exportData = jalview.gui.AlignFrame - .getAlignmentForExport(JSONFile.FILE_DESC, + AlignmentExportData exportData = AlignFrame + .getAlignmentForExport(FileFormat.Json, ap.getAlignViewport(), exportSettings); String bioJSON = new FormatAdapter(ap, exportData.getSettings()) - .formatSequences(JSONFile.FILE_DESC, exportData + .formatSequences(FileFormat.Json, exportData .getAlignment(), exportData.getOmitHidden(), exportData.getStartEndPostions(), ap .getAlignViewport().getColumnSelection()); diff --git a/src/jalview/io/ClustalFile.java b/src/jalview/io/ClustalFile.java index f7a45de..166984f 100755 --- a/src/jalview/io/ClustalFile.java +++ b/src/jalview/io/ClustalFile.java @@ -37,9 +37,10 @@ public class ClustalFile extends AlignFile { } - public ClustalFile(String inFile, String type) throws IOException + public ClustalFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public ClustalFile(FileParse source) throws IOException diff --git a/src/jalview/io/FastaFile.java b/src/jalview/io/FastaFile.java index 4c2265c..bbc5a7e 100755 --- a/src/jalview/io/FastaFile.java +++ b/src/jalview/io/FastaFile.java @@ -55,15 +55,16 @@ public class FastaFile extends AlignFile * * @param inFile * DOCUMENT ME! - * @param type + * @param sourceType * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! */ - public FastaFile(String inFile, String type) throws IOException + public FastaFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public FastaFile(FileParse source) throws IOException diff --git a/src/jalview/io/FeaturesFile.java b/src/jalview/io/FeaturesFile.java index aa38540..6f06a87 100755 --- a/src/jalview/io/FeaturesFile.java +++ b/src/jalview/io/FeaturesFile.java @@ -94,12 +94,13 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI * Constructor which does not parse the file immediately * * @param inFile - * @param type + * @param paste * @throws IOException */ - public FeaturesFile(String inFile, String type) throws IOException + public FeaturesFile(String inFile, DataSourceType paste) + throws IOException { - super(false, inFile, type); + super(false, inFile, paste); } /** @@ -119,7 +120,8 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI * @param type * @throws IOException */ - public FeaturesFile(boolean parseImmediately, String inFile, String type) + public FeaturesFile(boolean parseImmediately, String inFile, + DataSourceType type) throws IOException { super(parseImmediately, inFile, type); diff --git a/src/jalview/io/FileLoader.java b/src/jalview/io/FileLoader.java index b449d19..bbc753b 100755 --- a/src/jalview/io/FileLoader.java +++ b/src/jalview/io/FileLoader.java @@ -24,6 +24,7 @@ import jalview.api.ComplexAlignFile; import jalview.api.FeatureSettingsModelI; import jalview.api.FeaturesDisplayedI; import jalview.api.FeaturesSourceI; +import jalview.bin.Cache; import jalview.bin.Jalview; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; @@ -48,11 +49,11 @@ public class FileLoader implements Runnable { String file; - String protocol; + DataSourceType protocol; - String format; + FileFormatI format; - FileParse source = null; // alternative specification of where data comes + AlignmentFileI source = null; // alternative specification of where data comes // from @@ -86,13 +87,14 @@ public class FileLoader implements Runnable } public void LoadFile(AlignViewport viewport, String file, - String protocol, String format) + DataSourceType protocol, FileFormatI format) { this.viewport = viewport; LoadFile(file, protocol, format); } - public void LoadFile(String file, String protocol, String format) + public void LoadFile(String file, DataSourceType protocol, + FileFormatI format) { this.file = file; this.protocol = protocol; @@ -116,7 +118,7 @@ public class FileLoader implements Runnable * @param file * @param protocol */ - public void LoadFile(String file, String protocol) + public void LoadFile(String file, DataSourceType protocol) { LoadFile(file, protocol, null); } @@ -125,27 +127,28 @@ public class FileLoader implements Runnable * Load alignment from (file, protocol) and wait till loaded * * @param file - * @param protocol + * @param sourceType * @return alignFrame constructed from file contents */ - public AlignFrame LoadFileWaitTillLoaded(String file, String protocol) + public AlignFrame LoadFileWaitTillLoaded(String file, + DataSourceType sourceType) { - return LoadFileWaitTillLoaded(file, protocol, null); + return LoadFileWaitTillLoaded(file, sourceType, null); } /** * Load alignment from (file, protocol) of type format and wait till loaded * * @param file - * @param protocol + * @param sourceType * @param format * @return alignFrame constructed from file contents */ - public AlignFrame LoadFileWaitTillLoaded(String file, String protocol, - String format) + public AlignFrame LoadFileWaitTillLoaded(String file, + DataSourceType sourceType, FileFormatI format) { this.file = file; - this.protocol = protocol; + this.protocol = sourceType; this.format = format; return _LoadFileWaitTillLoaded(); } @@ -157,12 +160,13 @@ public class FileLoader implements Runnable * @param format * @return alignFrame constructed from file contents */ - public AlignFrame LoadFileWaitTillLoaded(FileParse source, String format) + public AlignFrame LoadFileWaitTillLoaded(AlignmentFileI source, + FileFormatI format) { this.source = source; file = source.getInFile(); - protocol = source.type; + protocol = source.getDataSourceType(); this.format = format; return _LoadFileWaitTillLoaded(); } @@ -194,13 +198,13 @@ public class FileLoader implements Runnable public void updateRecentlyOpened() { Vector recent = new Vector(); - if (protocol.equals(FormatAdapter.PASTE)) + if (protocol == DataSourceType.PASTE) { // do nothing if the file was pasted in as text... there is no filename to // refer to it as. return; } - String type = protocol.equals(FormatAdapter.FILE) ? "RECENT_FILE" + String type = protocol == DataSourceType.FILE ? "RECENT_FILE" : "RECENT_URL"; String historyItems = jalview.bin.Cache.getProperty(type); @@ -229,18 +233,18 @@ public class FileLoader implements Runnable newHistory.append(recent.elementAt(i)); } - jalview.bin.Cache.setProperty(type, newHistory.toString()); + Cache.setProperty(type, newHistory.toString()); - if (protocol.equals(FormatAdapter.FILE)) + if (protocol == DataSourceType.FILE) { - jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT", format); + Cache.setProperty("DEFAULT_FILE_FORMAT", format.toString()); } } @Override public void run() { - String title = protocol.equals(AppletFormatAdapter.PASTE) ? "Copied From Clipboard" + String title = protocol == DataSourceType.PASTE ? "Copied From Clipboard" : file; Runtime rt = Runtime.getRuntime(); try @@ -266,7 +270,7 @@ public class FileLoader implements Runnable } - if (format == null || format.equalsIgnoreCase("EMPTY DATA FILE")) + if (format == null) { Desktop.instance.stopLoading(); System.err.println("The input file \"" + file @@ -296,7 +300,7 @@ public class FileLoader implements Runnable loadtime = -System.currentTimeMillis(); AlignmentI al = null; - if (format.equalsIgnoreCase("Jalview")) + if (format == FileFormat.Jalview) { if (source != null) { @@ -310,8 +314,6 @@ public class FileLoader implements Runnable else { String error = AppletFormatAdapter.SUPPORTED_FORMATS; - if (FormatAdapter.isValidFormat(format)) - { try { if (source != null) @@ -332,15 +334,6 @@ public class FileLoader implements Runnable { error = ex.getMessage(); } - } - else - { - if (format != null && format.length() > 7) - { - // ad hoc message in format. - error = format + "\n" + error; - } - } if ((al != null) && (al.getHeight() > 0) && al.hasValidSequence()) { @@ -410,7 +403,7 @@ public class FileLoader implements Runnable } } // add metadata and update ui - if (!protocol.equals(AppletFormatAdapter.PASTE)) + if (!(protocol == DataSourceType.PASTE)) { alignFrame.setFileName(file, format); } diff --git a/src/jalview/io/FileParse.java b/src/jalview/io/FileParse.java index fddb565..dc0418f 100755 --- a/src/jalview/io/FileParse.java +++ b/src/jalview/io/FileParse.java @@ -95,7 +95,7 @@ public class FileParse */ protected String suffix = null; - protected String type = null; + protected DataSourceType dataSourceType = null; protected BufferedReader dataIn = null; @@ -139,7 +139,7 @@ public class FileParse suffix = from.suffix; errormessage = from.errormessage; // inherit potential error messages error = false; // reset any error condition. - type = from.type; + dataSourceType = from.dataSourceType; dataIn = from.dataIn; if (dataIn != null) { @@ -279,9 +279,9 @@ public class FileParse * configurable values for the origin and the type of the source */ public FileParse(BufferedReader source, String originString, - String typeString) + DataSourceType sourceType) { - type = typeString; + dataSourceType = sourceType; error = false; inFile = null; dataName = originString; @@ -304,18 +304,18 @@ public class FileParse * * @param fileStr * - datasource locator/content - * @param type + * @param sourceType * - protocol of source * @throws MalformedURLException * @throws IOException */ - public FileParse(String fileStr, String type) + public FileParse(String fileStr, DataSourceType sourceType) throws MalformedURLException, IOException { - this.type = type; + this.dataSourceType = sourceType; error = false; - if (type.equals(AppletFormatAdapter.FILE)) + if (sourceType == DataSourceType.FILE) { if (checkFileSource(fileStr)) { @@ -338,7 +338,7 @@ public class FileParse } } } - else if (type.equals(AppletFormatAdapter.URL)) + else if (sourceType == DataSourceType.URL) { try { @@ -375,13 +375,13 @@ public class FileParse error = true; } } - else if (type.equals(AppletFormatAdapter.PASTE)) + else if (sourceType == DataSourceType.PASTE) { errormessage = "PASTE INACCESSIBLE!"; dataIn = new BufferedReader(new StringReader(fileStr)); dataName = "Paste"; } - else if (type.equals(AppletFormatAdapter.CLASSLOADER)) + else if (sourceType == DataSourceType.CLASSLOADER) { errormessage = "RESOURCE CANNOT BE LOCATED"; java.io.InputStream is = getClass() @@ -407,7 +407,7 @@ public class FileParse else { errormessage = "PROBABLE IMPLEMENTATION ERROR : Datasource Type given as '" - + (type != null ? type : "null") + "'"; + + (sourceType != null ? sourceType : "null") + "'"; error = true; } if (dataIn == null || error) @@ -625,4 +625,9 @@ public class FileParse { return null; } + + public DataSourceType getDataSourceType() + { + return dataSourceType; + } } diff --git a/src/jalview/io/FormatAdapter.java b/src/jalview/io/FormatAdapter.java index 4ec077f..eac1041 100755 --- a/src/jalview/io/FormatAdapter.java +++ b/src/jalview/io/FormatAdapter.java @@ -22,6 +22,7 @@ package jalview.io; import jalview.api.AlignExportSettingI; import jalview.api.AlignmentViewPanel; +import jalview.bin.Cache; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; @@ -30,6 +31,8 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import java.io.IOException; + /** * Additional formatting methods used by the application in a number of places. * @@ -225,24 +228,24 @@ public class FormatAdapter extends AppletFormatAdapter return null; } - public boolean getCacheSuffixDefault(String format) + public boolean getCacheSuffixDefault(FileFormatI format) { if (isValidFormat(format)) { - return jalview.bin.Cache.getDefault(format.toUpperCase() + return Cache.getDefault(format.toUpperCase() + "_JVSUFFIX", true); } return false; } - public String formatSequences(String format, AlignmentI alignment, + public String formatSequences(FileFormatI format, AlignmentI alignment, String[] omitHidden, int[] exportRange, ColumnSelection colSel) { return formatSequences(format, alignment, omitHidden, exportRange, getCacheSuffixDefault(format), colSel, null); } - public String formatSequences(String format, AlignmentI alignment, + public String formatSequences(FileFormatI format, AlignmentI alignment, String[] omitHidden, int[] exportRange, ColumnSelection colSel, SequenceGroup sgp) { @@ -262,7 +265,7 @@ public class FormatAdapter extends AppletFormatAdapter * defines hidden columns that are edited out of annotation * @return string representation of the alignment formatted as format */ - public String formatSequences(String format, AlignmentI alignment, + public String formatSequences(FileFormatI format, AlignmentI alignment, String[] omitHidden, int[] exportRange, boolean suffix, ColumnSelection colSel) { @@ -270,9 +273,9 @@ public class FormatAdapter extends AppletFormatAdapter suffix, colSel, null); } - public String formatSequences(String format, AlignmentI alignment, + public String formatSequences(FileFormatI format, AlignmentI alignment, String[] omitHidden, int[] exportRange, boolean suffix, - ColumnSelection colSel, jalview.datamodel.SequenceGroup selgp) + ColumnSelection colSel, SequenceGroup selgp) { if (omitHidden != null) { @@ -305,15 +308,17 @@ public class FormatAdapter extends AppletFormatAdapter return this.formatSequences(format, alignment, suffix); } - public AlignmentI readFile(String inFile, String type, String format) - throws java.io.IOException + @Override + public AlignmentI readFile(String file, DataSourceType sourceType, + FileFormatI fileFormat) throws IOException { - AlignmentI al = super.readFile(inFile, type, format); + AlignmentI al = super.readFile(file, sourceType, fileFormat); return al; } - public AlignmentI readFromFile(FileParse source, String format) - throws java.io.IOException + @Override + public AlignmentI readFromFile(FileParse source, FileFormatI format) + throws IOException { AlignmentI al = super.readFromFile(source, format); return al; @@ -350,7 +355,7 @@ public class FormatAdapter extends AppletFormatAdapter * alignment panel originating the view * @return String containing flat file */ - public String formatSequences(String format, AlignmentViewPanel ap, + public String formatSequences(FileFormatI format, AlignmentViewPanel ap, boolean selectedOnly) { return formatSequences(format, getCacheSuffixDefault(format), ap, diff --git a/src/jalview/io/HtmlFile.java b/src/jalview/io/HtmlFile.java index e31e78d..32ae388 100644 --- a/src/jalview/io/HtmlFile.java +++ b/src/jalview/io/HtmlFile.java @@ -60,9 +60,10 @@ public class HtmlFile extends AlignFile implements ComplexAlignFile super(source); } - public HtmlFile(String inFile, String type) throws IOException + public HtmlFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } @Override diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index 4e1b261..2e4d8a1 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -114,8 +114,7 @@ public class HtmlSvgOutput try { setProgressMessage(null); - setProgressMessage(MessageManager -.formatMessage( + setProgressMessage(MessageManager.formatMessage( "status.exporting_alignment_as_x_file", "HTML")); AlignmentDimension aDimension = ap.getAlignmentDimension(); SVGGraphics2D g1 = new SVGGraphics2D(aDimension.getWidth(), @@ -200,10 +199,10 @@ public class HtmlSvgOutput }; AlignmentExportData exportData = jalview.gui.AlignFrame - .getAlignmentForExport(JSONFile.FILE_DESC, av, + .getAlignmentForExport(FileFormat.Json, av, exportSettings); jsonData = new FormatAdapter(ap, exportData.getSettings()) - .formatSequences(JSONFile.FILE_DESC, + .formatSequences(FileFormat.Json, exportData.getAlignment(), exportData.getOmitHidden(), exportData.getStartEndPostions(), diff --git a/src/jalview/io/IdentifyFile.java b/src/jalview/io/IdentifyFile.java index 889359f..89fc3cd 100755 --- a/src/jalview/io/IdentifyFile.java +++ b/src/jalview/io/IdentifyFile.java @@ -39,18 +39,18 @@ public class IdentifyFile * instead. * * @param file - * DOCUMENT ME! - * @param protocol - * DOCUMENT ME! - * @return ID String + * @param sourceType + * @return + * @throws FileFormatException */ - public String identify(String file, String protocol) + public FileFormatI identify(String file, DataSourceType sourceType) + throws FileFormatException { String emessage = "UNIDENTIFIED FILE PARSING ERROR"; FileParse parser = null; try { - parser = new FileParse(file, protocol); + parser = new FileParse(file, sourceType); if (parser.isValid()) { return identify(parser); @@ -63,15 +63,15 @@ public class IdentifyFile } if (parser != null) { - return parser.errormessage; + throw new FileFormatException(parser.errormessage); } - return emessage; + throw new FileFormatException(emessage); } - public String identify(FileParse source) + public FileFormatI identify(FileParse source) throws FileFormatException { - return identify(source, true); // preserves original behaviour prior to - // version 2.3 + return identify(source, true); + // preserves original behaviour prior to version 2.3 } /** @@ -80,11 +80,13 @@ public class IdentifyFile * * @param source * @param closeSource - * @return filetype string + * @return (best guess at) file format + * @throws FileFormatException */ - public String identify(FileParse source, boolean closeSource) + public FileFormatI identify(FileParse source, boolean closeSource) + throws FileFormatException { - String reply = "PFAM"; + FileFormatI reply = FileFormat.Pfam; String data; int bytesRead = 0; int trimmedLength = 0; @@ -123,12 +125,12 @@ public class IdentifyFile if (fileStr.lastIndexOf(".jar") > -1 || fileStr.lastIndexOf(".zip") > -1) { - reply = "Jalview"; + reply = FileFormat.Jalview; } } if (!lineswereskipped && data.startsWith("PK")) { - reply = "Jalview"; // archive. + reply = FileFormat.Jalview; // archive. break; } } @@ -137,24 +139,24 @@ public class IdentifyFile if (data.startsWith("##GFF-VERSION")) { // GFF - possibly embedded in a Jalview features file! - reply = FeaturesFile; + reply = FileFormat.Features; break; } if (looksLikeFeatureData(data)) { - reply = FeaturesFile; + reply = FileFormat.Features; break; } if (data.indexOf("# STOCKHOLM") > -1) { - reply = "STH"; + reply = FileFormat.Stockholm; break; } if (data.indexOf("_ENTRY.ID") > -1 || data.indexOf("_AUDIT_AUTHOR.NAME") > -1 || data.indexOf("_ATOM_SITE.") > -1) { - reply = "mmCIF"; + reply = FileFormat.MMCif; break; } // if (data.indexOf(">") > -1) @@ -166,14 +168,14 @@ public class IdentifyFile { // watch for PIR file attributes checkPIR = true; - reply = "PIR"; + reply = FileFormat.PIR; } // could also be BLC file, read next line to confirm data = source.nextLine(); if (data.indexOf(">") > -1) { - reply = "BLC"; + reply = FileFormat.BLC; } else { @@ -190,18 +192,19 @@ public class IdentifyFile { if (c1 == 0 && c1 == data2.indexOf("*")) { - reply = "BLC"; + reply = FileFormat.BLC; } else { - reply = "FASTA"; // possibly a bad choice - may be recognised as + reply = FileFormat.Fasta; // possibly a bad choice - may be + // recognised as // PIR } // otherwise can still possibly be a PIR file } else { - reply = "FASTA"; + reply = FileFormat.Fasta; // TODO : AMSA File is indicated if there is annotation in the // FASTA file - but FASTA will automatically generate this at the // mo. @@ -238,12 +241,12 @@ public class IdentifyFile } if (starterm) { - reply = "PIR"; + reply = FileFormat.PIR; break; } else { - reply = "FASTA"; // probably a bad choice! + reply = FileFormat.Fasta; // probably a bad choice! } } // read as a FASTA (probably) @@ -256,19 +259,19 @@ public class IdentifyFile String upper = data.toUpperCase(); if (upper.substring(lessThan).startsWith(" -1) { - reply = JSONFile.FILE_DESC; + reply = FileFormat.Json; break; } if ((data.length() < 1) || (data.indexOf("#") == 0)) @@ -279,7 +282,7 @@ public class IdentifyFile if (data.indexOf("PILEUP") > -1) { - reply = "PileUp"; + reply = FileFormat.Pileup; break; } @@ -288,32 +291,32 @@ public class IdentifyFile || ((data.indexOf("!!") > -1) && (data.indexOf("!!") < data .indexOf("_MULTIPLE_ALIGNMENT ")))) { - reply = "MSF"; + reply = FileFormat.MSF; break; } else if (data.indexOf("CLUSTAL") > -1) { - reply = "CLUSTAL"; + reply = FileFormat.Clustal; break; } else if (data.indexOf("HEADER") == 0 || data.indexOf("ATOM") == 0) { - reply = "PDB"; + reply = FileFormat.PDB; break; } else if (data.matches("\\s*\\d+\\s+\\d+\\s*")) { - reply = PhylipFile.FILE_DESC; + reply = FileFormat.Phylip; break; } else { if (!lineswereskipped && looksLikeJnetData(data)) { - reply = "JnetFile"; + reply = FileFormat.Jnet; break; } } @@ -332,13 +335,13 @@ public class IdentifyFile } catch (Exception ex) { System.err.println("File Identification failed!\n" + ex); - return source.errormessage; + throw new FileFormatException(source.errormessage); } if (trimmedLength == 0) { System.err .println("File Identification failed! - Empty file was read."); - return "EMPTY DATA FILE"; + throw new FileFormatException("EMPTY DATA FILE"); } return reply; } @@ -389,11 +392,19 @@ public class IdentifyFile public static void main(String[] args) { - for (int i = 0; args != null && i < args.length; i++) { IdentifyFile ider = new IdentifyFile(); - String type = ider.identify(args[i], AppletFormatAdapter.FILE); + FileFormatI type = null; + try + { + type = ider.identify(args[i], DataSourceType.FILE); + } catch (FileFormatException e) + { + System.err.println(String.format( + "Error '%s' identifying file type for %s", args[i], + e.getMessage())); + } System.out.println("Type of " + args[i] + " is " + type); } if (args == null || args.length == 0) diff --git a/src/jalview/io/JPredFile.java b/src/jalview/io/JPredFile.java index ddb2ddc..451ece8 100755 --- a/src/jalview/io/JPredFile.java +++ b/src/jalview/io/JPredFile.java @@ -70,15 +70,16 @@ public class JPredFile extends AlignFile * * @param inFile * DOCUMENT ME! - * @param type + * @param sourceType * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! */ - public JPredFile(String inFile, String type) throws IOException + public JPredFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public JPredFile(FileParse source) throws IOException @@ -130,6 +131,7 @@ public class JPredFile extends AlignFile /** * DOCUMENT ME! */ + @Override public void initData() { super.initData(); @@ -141,6 +143,7 @@ public class JPredFile extends AlignFile /** * parse a JPred concise file into a sequence-alignment like object. */ + @Override public void parse() throws IOException { // JBPNote log.System.out.println("all read in "); @@ -205,7 +208,7 @@ public class JPredFile extends AlignFile ascore = symbols.nextToken(); Float score = new Float(ascore); - scores.addElement((Object) score); + scores.addElement(score); } Scores.put(id, scores); @@ -217,15 +220,15 @@ public class JPredFile extends AlignFile for (int j = 0; j < i; j++) { scores.setElementAt( - (Object) ((Float) scores.elementAt(j)).toString(), j); + ((Float) scores.elementAt(j)).toString(), j); } - scores.addElement((Object) ascore); + scores.addElement(ascore); while (symbols.hasMoreTokens()) { ascore = symbols.nextToken(); - scores.addElement((Object) ascore); + scores.addElement(ascore); } Scores.put(id, scores); @@ -265,7 +268,9 @@ public class JPredFile extends AlignFile } if (QuerySeqPosition == -1) + { QuerySeqPosition = ids.size(); + } ids.addElement(name); noSeqs++; } @@ -278,7 +283,7 @@ public class JPredFile extends AlignFile seq_entries.addElement(newseq.toString()); ids.addElement(id); - Symscores.put((Object) id, (Object) new Integer(ids.size() - 1)); + Symscores.put(id, new Integer(ids.size() - 1)); } } } @@ -350,6 +355,7 @@ public class JPredFile extends AlignFile * * @return String */ + @Override public String print() { return "Not Supported"; @@ -365,13 +371,13 @@ public class JPredFile extends AlignFile { try { - JPredFile blc = new JPredFile(args[0], "File"); + JPredFile jpred = new JPredFile(args[0], DataSourceType.FILE); - for (int i = 0; i < blc.seqs.size(); i++) + for (int i = 0; i < jpred.seqs.size(); i++) { - System.out.println(((Sequence) blc.seqs.elementAt(i)).getName() + System.out.println(((Sequence) jpred.seqs.elementAt(i)).getName() + "\n" - + ((Sequence) blc.seqs.elementAt(i)).getSequenceAsString() + + ((Sequence) jpred.seqs.elementAt(i)).getSequenceAsString() + "\n"); } } catch (java.io.IOException e) @@ -402,7 +408,7 @@ public class JPredFile extends AlignFile } // check that no stray annotations have been added at the end. { - SequenceI sq = (SequenceI) seqs.elementAt(j - 1); + SequenceI sq = seqs.elementAt(j - 1); if (sq.getName().toUpperCase().startsWith("JPRED")) { annotSeqs.addElement(sq); diff --git a/src/jalview/io/JSONFile.java b/src/jalview/io/JSONFile.java index 3cda444..60e48a9 100644 --- a/src/jalview/io/JSONFile.java +++ b/src/jalview/io/JSONFile.java @@ -71,10 +71,6 @@ public class JSONFile extends AlignFile implements ComplexAlignFile private String application = "Jalview"; - public static final String FILE_EXT = "json"; - - public static final String FILE_DESC = "JSON"; - private String globalColourScheme; private boolean showSeqFeatures; @@ -105,9 +101,10 @@ public class JSONFile extends AlignFile implements ComplexAlignFile super(source); } - public JSONFile(String inFile, String type) throws IOException + public JSONFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } @Override diff --git a/src/jalview/io/JalviewFileChooser.java b/src/jalview/io/JalviewFileChooser.java index 1ea6795..9ac6a35 100755 --- a/src/jalview/io/JalviewFileChooser.java +++ b/src/jalview/io/JalviewFileChooser.java @@ -153,7 +153,7 @@ public class JalviewFileChooser extends JFileChooser } } - public String getSelectedFormat() + public FileFormat getSelectedFormat() { if (getFileFilter() == null) { @@ -161,41 +161,7 @@ public class JalviewFileChooser extends JFileChooser } String format = getFileFilter().getDescription(); - - if (format.toUpperCase().startsWith("JALVIEW")) - { - format = "Jalview"; - } - else if (format.toUpperCase().startsWith("FASTA")) - { - format = "FASTA"; - } - else if (format.toUpperCase().startsWith("MSF")) - { - format = "MSF"; - } - else if (format.toUpperCase().startsWith("CLUSTAL")) - { - format = "CLUSTAL"; - } - else if (format.toUpperCase().startsWith("BLC")) - { - format = "BLC"; - } - else if (format.toUpperCase().startsWith("PIR")) - { - format = "PIR"; - } - else if (format.toUpperCase().startsWith("PFAM")) - { - format = "PFAM"; - } - else if (format.toUpperCase().startsWith(PhylipFile.FILE_DESC)) - { - format = PhylipFile.FILE_DESC; - } - - return format; + return FileFormat.valueOf(format); } @Override diff --git a/src/jalview/io/MSFfile.java b/src/jalview/io/MSFfile.java index f62ad81..431544b 100755 --- a/src/jalview/io/MSFfile.java +++ b/src/jalview/io/MSFfile.java @@ -50,15 +50,16 @@ public class MSFfile extends AlignFile * * @param inFile * DOCUMENT ME! - * @param type + * @param sourceType * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! */ - public MSFfile(String inFile, String type) throws IOException + public MSFfile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public MSFfile(FileParse source) throws IOException diff --git a/src/jalview/io/NewickFile.java b/src/jalview/io/NewickFile.java index ab3c37c..765ea95 100755 --- a/src/jalview/io/NewickFile.java +++ b/src/jalview/io/NewickFile.java @@ -110,7 +110,7 @@ public class NewickFile extends FileParse */ public NewickFile(String inStr) throws IOException { - super(inStr, "Paste"); + super(inStr, DataSourceType.PASTE); } /** @@ -118,15 +118,16 @@ public class NewickFile extends FileParse * * @param inFile * DOCUMENT ME! - * @param type + * @param protocol * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! */ - public NewickFile(String inFile, String type) throws IOException + public NewickFile(String inFile, DataSourceType protocol) + throws IOException { - super(inFile, type); + super(inFile, protocol); } public NewickFile(FileParse source) throws IOException @@ -966,7 +967,7 @@ public class NewickFile extends FileParse treefile.close(); System.out.println("Read file :\n"); - NewickFile trf = new NewickFile(args[0], "File"); + NewickFile trf = new NewickFile(args[0], DataSourceType.FILE); trf.parse(); System.out.println("Original file :\n"); diff --git a/src/jalview/io/PIRFile.java b/src/jalview/io/PIRFile.java index 5f5c23c..8402d24 100755 --- a/src/jalview/io/PIRFile.java +++ b/src/jalview/io/PIRFile.java @@ -36,9 +36,10 @@ public class PIRFile extends AlignFile { } - public PIRFile(String inFile, String type) throws IOException + public PIRFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public PIRFile(FileParse source) throws IOException diff --git a/src/jalview/io/PfamFile.java b/src/jalview/io/PfamFile.java index 71cc7f0..59ffbaa 100755 --- a/src/jalview/io/PfamFile.java +++ b/src/jalview/io/PfamFile.java @@ -36,9 +36,10 @@ public class PfamFile extends AlignFile { } - public PfamFile(String inFile, String type) throws IOException + public PfamFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public PfamFile(FileParse source) throws IOException diff --git a/src/jalview/io/PhylipFile.java b/src/jalview/io/PhylipFile.java index 8e01c88..2c8beae 100644 --- a/src/jalview/io/PhylipFile.java +++ b/src/jalview/io/PhylipFile.java @@ -59,9 +59,6 @@ import java.io.IOException; public class PhylipFile extends AlignFile { - // Define file extension and description to save repeating it elsewhere - public static final String FILE_EXT = "phy"; - public static final String FILE_DESC = "PHYLIP"; /** @@ -85,13 +82,14 @@ public class PhylipFile extends AlignFile /** * @param inFile - * @param type + * @param sourceType * @throws IOException * @see {@link AlignFile#AlignFile(FileParse)} */ - public PhylipFile(String inFile, String type) throws IOException + public PhylipFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } /** diff --git a/src/jalview/io/PileUpfile.java b/src/jalview/io/PileUpfile.java index 79c6531..50ed805 100755 --- a/src/jalview/io/PileUpfile.java +++ b/src/jalview/io/PileUpfile.java @@ -55,15 +55,16 @@ public class PileUpfile extends MSFfile * * @param inFile * DOCUMENT ME! - * @param type + * @param sourceType * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! */ - public PileUpfile(String inFile, String type) throws IOException + public PileUpfile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public PileUpfile(FileParse source) throws IOException diff --git a/src/jalview/io/RnamlFile.java b/src/jalview/io/RnamlFile.java index 0941a6f..8fbe43c 100644 --- a/src/jalview/io/RnamlFile.java +++ b/src/jalview/io/RnamlFile.java @@ -53,9 +53,10 @@ public class RnamlFile extends AlignFile } - public RnamlFile(String inFile, String type) throws IOException + public RnamlFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } @@ -79,6 +80,7 @@ public class RnamlFile extends AlignFile * * @see jalview.io.AlignFile#parse() */ + @Override public void parse() throws IOException { if (System.getProperty("java.version").indexOf("1.6") > -1 @@ -199,6 +201,7 @@ public class RnamlFile extends AlignFile return "not yet implemented"; } + @Override public String print() { System.out.print("print :"); diff --git a/src/jalview/io/SimpleBlastFile.java b/src/jalview/io/SimpleBlastFile.java index f4dc5a2..a3fc716 100644 --- a/src/jalview/io/SimpleBlastFile.java +++ b/src/jalview/io/SimpleBlastFile.java @@ -51,9 +51,10 @@ public class SimpleBlastFile extends AlignFile { } - public SimpleBlastFile(String inFile, String type) throws IOException + public SimpleBlastFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public SimpleBlastFile(FileParse source) throws IOException @@ -61,6 +62,7 @@ public class SimpleBlastFile extends AlignFile super(source); } + @Override public void initData() { super.initData(); @@ -69,6 +71,7 @@ public class SimpleBlastFile extends AlignFile seqids = new Vector(); } + @Override public void parse() throws IOException { String line; @@ -291,6 +294,7 @@ public class SimpleBlastFile extends AlignFile return new String("Not Implemented."); } + @Override public String print() { return print(getSeqsAsArray()); diff --git a/src/jalview/io/StockholmFile.java b/src/jalview/io/StockholmFile.java index 23c4d21..813b184 100644 --- a/src/jalview/io/StockholmFile.java +++ b/src/jalview/io/StockholmFile.java @@ -91,9 +91,10 @@ public class StockholmFile extends AlignFile this.al = al; } - public StockholmFile(String inFile, String type) throws IOException + public StockholmFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public StockholmFile(FileParse source) throws IOException @@ -101,6 +102,7 @@ public class StockholmFile extends AlignFile super(source); } + @Override public void initData() { super.initData(); @@ -178,6 +180,7 @@ public class StockholmFile extends AlignFile * @throws IOException * If there is an error with the input file */ + @Override public void parse() throws IOException { StringBuffer treeString = new StringBuffer(); @@ -1106,6 +1109,7 @@ public class StockholmFile extends AlignFile return seq; } + @Override public String print() { out = new StringBuffer(); diff --git a/src/jalview/io/StructureFile.java b/src/jalview/io/StructureFile.java index 6970ffa..7392f5b 100644 --- a/src/jalview/io/StructureFile.java +++ b/src/jalview/io/StructureFile.java @@ -47,9 +47,10 @@ public abstract class StructureFile extends AlignFile private Vector chains; - public StructureFile(String inFile, String type) throws IOException + public StructureFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public StructureFile(FileParse fp) throws IOException @@ -76,10 +77,10 @@ public abstract class StructureFile extends AlignFile } - public StructureFile(boolean parseImmediately, String dataObject, String type) - throws IOException + public StructureFile(boolean parseImmediately, String dataObject, + DataSourceType sourceType) throws IOException { - super(parseImmediately, dataObject, type); + super(parseImmediately, dataObject, sourceType); } public StructureFile(boolean a, FileParse fp) throws IOException @@ -155,7 +156,7 @@ public abstract class StructureFile extends AlignFile new Object[] {}); AlignmentI al = ((AlignmentI) cl.getMethod("getRNAMLFor", new Class[] { FileParse.class }).invoke(annotate3d, - new Object[] { new FileParse(getDataName(), type) })); + new Object[] { new FileParse(getDataName(), dataSourceType) })); for (SequenceI sq : al.getSequences()) { if (sq.getDatasetSequence() != null) @@ -268,7 +269,7 @@ public abstract class StructureFile extends AlignFile boolean.class, boolean.class, boolean.class, FileParse.class }); final Object[] args = new Object[] { visibleChainAnnotation, predictSecondaryStructure, externalSecondaryStructure, - new FileParse(getDataName(), type) }; + new FileParse(getDataName(), dataSourceType) }; StructureImportSettings.setShowSeqFeatures(false); StructureImportSettings.setVisibleChainAnnotation(false); diff --git a/src/jalview/io/TCoffeeScoreFile.java b/src/jalview/io/TCoffeeScoreFile.java index 07d7be4..ab573f3 100644 --- a/src/jalview/io/TCoffeeScoreFile.java +++ b/src/jalview/io/TCoffeeScoreFile.java @@ -91,9 +91,10 @@ import java.util.regex.Pattern; */ public class TCoffeeScoreFile extends AlignFile { - public TCoffeeScoreFile(String inFile, String type) throws IOException + public TCoffeeScoreFile(String inFile, DataSourceType fileSourceType) + throws IOException { - super(inFile, type); + super(inFile, fileSourceType); } @@ -213,6 +214,7 @@ public class TCoffeeScoreFile extends AlignFile return result; } + @Override public void parse() throws IOException { /* diff --git a/src/jalview/jbgui/GAlignExportSettings.java b/src/jalview/jbgui/GAlignExportSettings.java index bf02e9e..072754e 100644 --- a/src/jalview/jbgui/GAlignExportSettings.java +++ b/src/jalview/jbgui/GAlignExportSettings.java @@ -20,6 +20,7 @@ */ package jalview.jbgui; +import jalview.io.FileFormatI; import jalview.util.MessageManager; import java.awt.BorderLayout; @@ -69,20 +70,11 @@ public abstract class GAlignExportSettings extends JPanel showDialog; public GAlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols, - String alignFileFormat) + FileFormatI format) { this.hasHiddenSeq = hasHiddenSeq; this.hasHiddenCols = hasHiddenCols; - String[] complexFormats = { "JSON", "HTML" }; - - for (String format : complexFormats) - { - if (format.equalsIgnoreCase(alignFileFormat)) - { - this.isComplexAlignFile = true; - break; - } - } + this.isComplexAlignFile = format.isComplexAlignFile(); if (this.hasHiddenCols || this.hasHiddenSeq || this.isComplexAlignFile) { this.showDialog = true; @@ -111,6 +103,7 @@ public abstract class GAlignExportSettings extends JPanel chkAll.addItemListener(new ItemListener() { + @Override public void itemStateChanged(ItemEvent e) { checkAllAction(); @@ -119,6 +112,7 @@ public abstract class GAlignExportSettings extends JPanel btnOk.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { ok_actionPerformed(e); @@ -127,6 +121,7 @@ public abstract class GAlignExportSettings extends JPanel btnCancel.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { cancel_actionPerformed(e); diff --git a/src/jalview/jbgui/GDesktop.java b/src/jalview/jbgui/GDesktop.java index d22fd88..63ecdaf 100755 --- a/src/jalview/jbgui/GDesktop.java +++ b/src/jalview/jbgui/GDesktop.java @@ -21,6 +21,7 @@ package jalview.jbgui; import jalview.api.AlignmentViewPanel; +import jalview.io.FileFormatException; import jalview.util.MessageManager; import java.awt.FlowLayout; @@ -157,6 +158,7 @@ public class GDesktop extends JFrame inputLocalFileMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { inputLocalFileMenuItem_actionPerformed(null); @@ -165,9 +167,16 @@ public class GDesktop extends JFrame inputURLMenuItem.setText(MessageManager.getString("label.from_url")); inputURLMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { - inputURLMenuItem_actionPerformed(null); + try + { + inputURLMenuItem_actionPerformed(null); + } catch (FileFormatException e1) + { + System.err.println("Error loading from URL: " + e1.getMessage()); + } } }); inputTextboxMenuItem.setText(MessageManager @@ -175,6 +184,7 @@ public class GDesktop extends JFrame inputTextboxMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { inputTextboxMenuItem_actionPerformed(null); @@ -183,6 +193,7 @@ public class GDesktop extends JFrame quit.setText(MessageManager.getString("action.quit")); quit.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { quit(); @@ -191,6 +202,7 @@ public class GDesktop extends JFrame aboutMenuItem.setText(MessageManager.getString("label.about")); aboutMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { aboutMenuItem_actionPerformed(e); @@ -203,6 +215,7 @@ public class GDesktop extends JFrame documentationMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { documentationMenuItem_actionPerformed(e); @@ -213,6 +226,7 @@ public class GDesktop extends JFrame preferences.setText(MessageManager.getString("label.preferences")); preferences.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { preferences_actionPerformed(e); @@ -222,6 +236,7 @@ public class GDesktop extends JFrame saveState.setText(MessageManager.getString("action.save_project")); saveState.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { saveState_actionPerformed(e); @@ -230,6 +245,7 @@ public class GDesktop extends JFrame loadState.setText(MessageManager.getString("action.load_project")); loadState.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { loadState_actionPerformed(e); @@ -241,6 +257,7 @@ public class GDesktop extends JFrame vamsasStart.setVisible(false); vamsasStart.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasStart_actionPerformed(e); @@ -251,6 +268,7 @@ public class GDesktop extends JFrame vamsasImport.setVisible(false); vamsasImport.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasImport_actionPerformed(e); @@ -261,6 +279,7 @@ public class GDesktop extends JFrame vamsasSave.setVisible(false); vamsasSave.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasSave_actionPerformed(e); @@ -270,6 +289,7 @@ public class GDesktop extends JFrame .getString("action.fetch_sequences")); inputSequence.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { inputSequence_actionPerformed(e); @@ -280,6 +300,7 @@ public class GDesktop extends JFrame vamsasStop.setVisible(false); vamsasStop.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasStop_actionPerformed(e); @@ -288,6 +309,7 @@ public class GDesktop extends JFrame closeAll.setText(MessageManager.getString("action.close_all")); closeAll.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { closeAll_actionPerformed(e); @@ -297,6 +319,7 @@ public class GDesktop extends JFrame .getString("action.raise_associated_windows")); raiseRelated.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { raiseRelated_actionPerformed(e); @@ -306,6 +329,7 @@ public class GDesktop extends JFrame .getString("action.minimize_associated_windows")); minimizeAssociated.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { minimizeAssociated_actionPerformed(e); @@ -315,6 +339,7 @@ public class GDesktop extends JFrame .getString("label.collect_garbage")); garbageCollect.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { garbageCollect_actionPerformed(e); @@ -324,6 +349,7 @@ public class GDesktop extends JFrame .getString("label.show_memory_usage")); showMemusage.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showMemusage_actionPerformed(e); @@ -333,6 +359,7 @@ public class GDesktop extends JFrame .setText(MessageManager.getString("label.show_java_console")); showConsole.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showConsole_actionPerformed(e); @@ -341,6 +368,7 @@ public class GDesktop extends JFrame showNews.setText(MessageManager.getString("label.show_jalview_news")); showNews.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showNews_actionPerformed(e); @@ -349,6 +377,7 @@ public class GDesktop extends JFrame snapShotWindow.setText(MessageManager.getString("label.take_snapshot")); snapShotWindow.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { snapShotWindow_actionPerformed(e); @@ -446,9 +475,10 @@ public class GDesktop extends JFrame * * @param e * DOCUMENT ME! + * @throws FileFormatException */ protected void inputURLMenuItem_actionPerformed( - jalview.gui.AlignViewport av) + jalview.gui.AlignViewport av) throws FileFormatException { } diff --git a/src/jalview/structure/StructureSelectionManager.java b/src/jalview/structure/StructureSelectionManager.java index fb96b22..1a29cbf 100644 --- a/src/jalview/structure/StructureSelectionManager.java +++ b/src/jalview/structure/StructureSelectionManager.java @@ -32,8 +32,9 @@ import jalview.datamodel.Annotation; import jalview.datamodel.PDBEntry; import jalview.datamodel.SearchResults; import jalview.datamodel.SequenceI; +import jalview.ext.jmol.JmolParser; import jalview.gui.IProgressIndicator; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.util.MappingUtils; import jalview.util.MessageManager; @@ -316,14 +317,14 @@ public class StructureSelectionManager * (may be nill, individual elements may be nill) * @param pdbFile * - structure data resource - * @param protocol + * @param paste * - how to resolve data from resource * @return null or the structure data parsed as a pdb file */ synchronized public StructureFile setMapping(SequenceI[] sequence, - String[] targetChains, String pdbFile, String protocol) + String[] targetChains, String pdbFile, DataSourceType paste) { - return setMapping(true, sequence, targetChains, pdbFile, protocol); + return setMapping(true, sequence, targetChains, pdbFile, paste); } @@ -341,14 +342,14 @@ public class StructureSelectionManager * (may be nill, individual elements may be nill) * @param pdbFile * - structure data resource - * @param protocol + * @param sourceType * - how to resolve data from resource * @return null or the structure data parsed as a pdb file */ synchronized public StructureFile setMapping(boolean forStructureView, SequenceI[] sequenceArray, String[] targetChainIds, String pdbFile, - String protocol) + DataSourceType sourceType) { /* * There will be better ways of doing this in the future, for now we'll use @@ -387,17 +388,17 @@ public class StructureSelectionManager if (pdbFile != null && isCIFFile(pdbFile)) { - pdb = new jalview.ext.jmol.JmolParser(addTempFacAnnot, parseSecStr, - secStructServices, pdbFile, protocol); + pdb = new JmolParser(addTempFacAnnot, parseSecStr, + secStructServices, pdbFile, sourceType); } else { pdb = new PDBfile(addTempFacAnnot, parseSecStr, secStructServices, - pdbFile, protocol); + pdbFile, sourceType); } if (pdb.getId() != null && pdb.getId().trim().length() > 0 - && AppletFormatAdapter.FILE.equals(protocol)) + && sourceType == DataSourceType.FILE) { registerPDBFile(pdb.getId().trim(), pdbFile); } @@ -492,7 +493,7 @@ public class StructureSelectionManager continue; } - if (protocol.equals(jalview.io.AppletFormatAdapter.PASTE)) + if (sourceType == DataSourceType.PASTE) { pdbFile = "INLINE" + pdb.getId(); } diff --git a/src/jalview/structures/models/AAStructureBindingModel.java b/src/jalview/structures/models/AAStructureBindingModel.java index dc42315..70fe609 100644 --- a/src/jalview/structures/models/AAStructureBindingModel.java +++ b/src/jalview/structures/models/AAStructureBindingModel.java @@ -24,6 +24,7 @@ import jalview.api.StructureSelectionManagerProvider; import jalview.datamodel.AlignmentI; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.structure.AtomSpec; import jalview.structure.StructureListener; import jalview.structure.StructureMapping; @@ -66,7 +67,7 @@ public abstract class AAStructureBindingModel extends /* * datasource protocol for access to PDBEntrylatest */ - String protocol = null; + DataSourceType protocol = null; protected boolean colourBySequence = true; @@ -123,18 +124,18 @@ public abstract class AAStructureBindingModel extends * @param pdbentry * @param sequenceIs * @param chains - * @param protocol + * @param protocol2 */ public AAStructureBindingModel(StructureSelectionManager ssm, PDBEntry[] pdbentry, SequenceI[][] sequenceIs, String[][] chains, - String protocol) + DataSourceType protocol2) { this.ssm = ssm; this.sequence = sequenceIs; this.nucleotide = Comparison.isNucleotide(sequenceIs); this.chains = chains; this.pdbEntry = pdbentry; - this.protocol = protocol; + this.protocol = protocol2; if (chains == null) { this.chains = new String[pdbentry.length][]; @@ -198,7 +199,7 @@ public abstract class AAStructureBindingModel extends return chains; } - public String getProtocol() + public DataSourceType getProtocol() { return protocol; } diff --git a/src/jalview/ws/dbsources/Pdb.java b/src/jalview/ws/dbsources/Pdb.java index d945699..6f266dd 100644 --- a/src/jalview/ws/dbsources/Pdb.java +++ b/src/jalview/ws/dbsources/Pdb.java @@ -149,7 +149,7 @@ public class Pdb extends EbiFileRetrievedProxy { pdbAlignment = new FormatAdapter().readFile(file, - jalview.io.AppletFormatAdapter.FILE, + jalview.io.DataSourceType.FILE, StructureImportSettings.getCurrentDefaultFormat()); if (pdbAlignment != null) { diff --git a/src/jalview/ws/jws1/JPredThread.java b/src/jalview/ws/jws1/JPredThread.java index 8299e3c..86bb56f 100644 --- a/src/jalview/ws/jws1/JPredThread.java +++ b/src/jalview/ws/jws1/JPredThread.java @@ -21,6 +21,7 @@ package jalview.ws.jws1; import jalview.analysis.AlignSeq; +import jalview.analysis.SeqsetUtils; import jalview.bin.Cache; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; @@ -31,7 +32,12 @@ import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.gui.Desktop; import jalview.gui.WebserviceInfo; +import jalview.io.DataSourceType; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; +import jalview.io.IdentifyFile; +import jalview.io.JPredFile; +import jalview.io.JnetAnnotationMaker; import jalview.util.Comparison; import jalview.util.MessageManager; import jalview.ws.AWsJob; @@ -71,6 +77,7 @@ class JPredThread extends JWS1Thread implements WSClientI * @return true if getResultSet will return a valid alignment and prediction * result. */ + @Override public boolean hasResults() { if (subjobComplete && result != null && result.isFinished() @@ -82,6 +89,7 @@ class JPredThread extends JWS1Thread implements WSClientI return false; } + @Override public boolean hasValidInput() { if (sequence != null) @@ -110,23 +118,23 @@ class JPredThread extends JWS1Thread implements WSClientI JpredResult result = (JpredResult) this.result; - jalview.bin.Cache.log.debug("Parsing output from JNet job."); + Cache.log.debug("Parsing output from JNet job."); // JPredFile prediction = new JPredFile("C:/JalviewX/files/jpred.txt", // "File"); - jalview.io.JPredFile prediction = new jalview.io.JPredFile( - result.getPredfile(), "Paste"); + JPredFile prediction = new JPredFile( + result.getPredfile(), DataSourceType.PASTE); SequenceI[] preds = prediction.getSeqsAsArray(); - jalview.bin.Cache.log.debug("Got prediction profile."); + Cache.log.debug("Got prediction profile."); if ((this.msa != null) && (result.getAligfile() != null)) { - jalview.bin.Cache.log.debug("Getting associated alignment."); + Cache.log.debug("Getting associated alignment."); // we ignore the returned alignment if we only predicted on a single // sequence - String format = new jalview.io.IdentifyFile().identify( - result.getAligfile(), "Paste"); + FileFormatI format = new IdentifyFile().identify( + result.getAligfile(), DataSourceType.PASTE); - if (jalview.io.FormatAdapter.isValidFormat(format)) + if (format != null) { SequenceI sqs[]; if (predMap != null) @@ -140,14 +148,14 @@ class JPredThread extends JWS1Thread implements WSClientI else { al = new FormatAdapter().readFile(result.getAligfile(), - "Paste", format); + DataSourceType.PASTE, format); sqs = new SequenceI[al.getHeight()]; for (int i = 0, j = al.getHeight(); i < j; i++) { sqs[i] = al.getSequenceAt(i); } - if (!jalview.analysis.SeqsetUtils.deuniquify(SequenceInfo, sqs)) + if (!SeqsetUtils.deuniquify(SequenceInfo, sqs)) { throw (new Exception( MessageManager @@ -164,7 +172,7 @@ class JPredThread extends JWS1Thread implements WSClientI { al.setDataset(null); } - jalview.io.JnetAnnotationMaker.add_annotation(prediction, al, + JnetAnnotationMaker.add_annotation(prediction, al, FirstSeq, false, predMap); } @@ -172,7 +180,7 @@ class JPredThread extends JWS1Thread implements WSClientI { throw (new Exception(MessageManager.formatMessage( "exception.unknown_format_for_file", new String[] { - format, result.getAligfile() }))); + format.toString(), result.getAligfile() }))); } } else @@ -420,6 +428,7 @@ class JPredThread extends JWS1Thread implements WSClientI } } + @Override public void StartJob(AWsJob j) { if (!(j instanceof JPredJob)) @@ -502,6 +511,7 @@ class JPredThread extends JWS1Thread implements WSClientI } } + @Override public void parseResult() { int results = 0; // number of result sets received @@ -529,6 +539,7 @@ class JPredThread extends JWS1Thread implements WSClientI wsInfo.showResultsNewFrame .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(java.awt.event.ActionEvent evt) { displayResults(true); @@ -537,6 +548,7 @@ class JPredThread extends JWS1Thread implements WSClientI wsInfo.mergeResults .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(java.awt.event.ActionEvent evt) { displayResults(false); @@ -652,21 +664,25 @@ class JPredThread extends JWS1Thread implements WSClientI } } + @Override public void pollJob(AWsJob job) throws Exception { ((JPredJob) job).result = server.getresult(job.getJobId()); } + @Override public boolean isCancellable() { return false; } + @Override public void cancelJob() { throw new Error(MessageManager.getString("error.implementation_error")); } + @Override public boolean canMergeResults() { return false; diff --git a/src/jalview/ws/jws1/SeqSearchWSThread.java b/src/jalview/ws/jws1/SeqSearchWSThread.java index 66fddd1..0f7904a 100644 --- a/src/jalview/ws/jws1/SeqSearchWSThread.java +++ b/src/jalview/ws/jws1/SeqSearchWSThread.java @@ -208,7 +208,7 @@ class SeqSearchWSThread extends JWS1Thread implements WSClientI if (inFile != null && inFile.length() > 0) { new jalview.io.AnnotationFile().readAnnotationFile(al, inFile, - jalview.io.AppletFormatAdapter.PASTE); + jalview.io.DataSourceType.PASTE); } } catch (Exception e) { @@ -224,7 +224,7 @@ class SeqSearchWSThread extends JWS1Thread implements WSClientI if (inFile != null && inFile.length() > 0) { jalview.io.FeaturesFile ff = new jalview.io.FeaturesFile( - inFile, jalview.io.AppletFormatAdapter.PASTE); + inFile, jalview.io.DataSourceType.PASTE); ff.parse(al, featureColours, false); } } catch (Exception e) @@ -241,7 +241,7 @@ class SeqSearchWSThread extends JWS1Thread implements WSClientI if (inFile != null && inFile.length() > 0) { nf = new jalview.io.NewickFile(inFile, - jalview.io.AppletFormatAdapter.PASTE); + jalview.io.DataSourceType.PASTE); if (!nf.isValid()) { nf.close(); diff --git a/test/MCview/PDBfileTest.java b/test/MCview/PDBfileTest.java index a6a1de4..54576c6 100644 --- a/test/MCview/PDBfileTest.java +++ b/test/MCview/PDBfileTest.java @@ -32,7 +32,7 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import java.io.IOException; import java.util.List; @@ -70,7 +70,7 @@ public class PDBfileTest * Constructor with file path performs parse() */ PDBfile pf = new PDBfile(false, false, false, "examples/3W5V.pdb", - AppletFormatAdapter.FILE); + DataSourceType.FILE); assertEquals("3W5V", pf.getId()); // verify no alignment annotations created @@ -146,7 +146,7 @@ public class PDBfileTest public void testParse_withAnnotations_noSS() throws IOException { PDBfile pf = new PDBfile(true, false, false, "examples/3W5V.pdb", - AppletFormatAdapter.FILE); + DataSourceType.FILE); AlignmentAnnotation[] anns = getAlignmentAnnotations(pf); assertEquals(4, anns.length); @@ -204,7 +204,7 @@ public class PDBfileTest public void testParse_withJmol_noAnnotations() throws IOException { PDBfile pf = new PDBfile(false, true, false, "examples/3W5V.pdb", - AppletFormatAdapter.FILE); + DataSourceType.FILE); /* * alignment annotations _are_ created anyway (in @@ -234,7 +234,7 @@ public class PDBfileTest throws IOException { PDBfile pf = new PDBfile(true, true, false, "examples/3W5V.pdb", - AppletFormatAdapter.FILE); + DataSourceType.FILE); /* * Alignment annotations for TempFactor, SecStruct, per sequence (chain) @@ -292,7 +292,7 @@ public class PDBfileTest // TODO requires a mock for Annotate3D processing // and/or run as an integration test PDBfile pf = new PDBfile(true, true, true, "examples/2GIS.pdb", - AppletFormatAdapter.FILE); + DataSourceType.FILE); } /** diff --git a/test/jalview/analysis/AlignmentAnnotationUtilsTest.java b/test/jalview/analysis/AlignmentAnnotationUtilsTest.java index c3191e8..5367d7f 100644 --- a/test/jalview/analysis/AlignmentAnnotationUtilsTest.java +++ b/test/jalview/analysis/AlignmentAnnotationUtilsTest.java @@ -28,7 +28,8 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import java.io.IOException; import java.util.ArrayList; @@ -142,7 +143,7 @@ public class AlignmentAnnotationUtilsTest public void setUp() throws IOException { alignment = new jalview.io.FormatAdapter().readFile(TEST_DATA, - AppletFormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); AlignmentAnnotation[] anns = new AlignmentAnnotation[SEQ_ANN_COUNT]; for (int i = 0; i < anns.length; i++) diff --git a/test/jalview/analysis/AlignmentUtilsTests.java b/test/jalview/analysis/AlignmentUtilsTests.java index 2fc5325..eccfe50 100644 --- a/test/jalview/analysis/AlignmentUtilsTests.java +++ b/test/jalview/analysis/AlignmentUtilsTests.java @@ -40,6 +40,9 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; import jalview.util.MapList; import jalview.util.MappingUtils; @@ -69,14 +72,15 @@ public class AlignmentUtilsTests SequenceI s1 = ts.deriveSequence().getSubSequence(i, i + 7); al.addSequence(s1); } - System.out.println(new AppletFormatAdapter().formatSequences("Clustal", + System.out.println(new AppletFormatAdapter().formatSequences( + FileFormat.Clustal, al, true)); for (int flnk = -1; flnk < 25; flnk++) { AlignmentI exp = AlignmentUtils.expandContext(al, flnk); System.out.println("\nFlank size: " + flnk); System.out.println(new AppletFormatAdapter().formatSequences( - "Clustal", exp, true)); + FileFormat.Clustal, exp, true)); if (flnk == -1) { /* @@ -209,7 +213,7 @@ public class AlignmentUtilsTests { final String data = ">Seq1Name\nKQYL\n" + ">Seq2Name\nRFPW\n" + ">Seq1Name\nABCD\n"; - AlignmentI al = loadAlignment(data, "FASTA"); + AlignmentI al = loadAlignment(data, FileFormat.Fasta); Map> map = AlignmentUtils .getSequencesByName(al); assertEquals(2, map.keySet().size()); @@ -229,11 +233,11 @@ public class AlignmentUtilsTests * @return * @throws IOException */ - protected AlignmentI loadAlignment(final String data, String format) + protected AlignmentI loadAlignment(final String data, FileFormatI format) throws IOException { AlignmentI a = new FormatAdapter().readFile(data, - AppletFormatAdapter.PASTE, format); + DataSourceType.PASTE, format); a.setDataset(null); return a; } diff --git a/test/jalview/analysis/DnaTest.java b/test/jalview/analysis/DnaTest.java index 9a4c357..13dae11 100644 --- a/test/jalview/analysis/DnaTest.java +++ b/test/jalview/analysis/DnaTest.java @@ -31,6 +31,8 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.SequenceI; import jalview.gui.AlignViewport; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FormatAdapter; import java.io.IOException; @@ -119,8 +121,8 @@ public class DnaTest throws IOException { AlignmentI alf = new FormatAdapter().readFile( - JAL_1312_example_align_fasta, jalview.io.FormatAdapter.PASTE, - "FASTA"); + JAL_1312_example_align_fasta, DataSourceType.PASTE, + FileFormat.Fasta); ColumnSelection cs = new ColumnSelection(); AlignViewportI av = new AlignViewport(alf, cs); Dna dna = new Dna(av, new int[] { 0, alf.getWidth() - 1 }); @@ -140,8 +142,8 @@ public class DnaTest throws IOException { AlignmentI alf = new FormatAdapter().readFile( - JAL_1312_example_align_fasta, jalview.io.FormatAdapter.PASTE, - "FASTA"); + JAL_1312_example_align_fasta, DataSourceType.PASTE, + FileFormat.Fasta); int vwidth = 15; for (int ipos = 0; ipos + vwidth < alf.getWidth(); ipos += vwidth) { @@ -175,7 +177,7 @@ public class DnaTest public void testTranslateCdna_simple() throws IOException { AlignmentI alf = new FormatAdapter().readFile(fasta, - FormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); ColumnSelection cs = new ColumnSelection(); AlignViewportI av = new AlignViewport(alf, cs); Dna dna = new Dna(av, new int[] { 0, alf.getWidth() - 1 }); @@ -195,8 +197,8 @@ public class DnaTest public void testTranslateCdna_hiddenColumns() throws IOException { AlignmentI alf = new FormatAdapter().readFile(fasta, - FormatAdapter.PASTE, "FASTA"); - ColumnSelection cs = new jalview.datamodel.ColumnSelection(); + DataSourceType.PASTE, FileFormat.Fasta); + ColumnSelection cs = new ColumnSelection(); cs.hideColumns(6, 14); // hide codons 3/4/5 cs.hideColumns(24, 35); // hide codons 9-12 cs.hideColumns(177, 191); // hide codons 60-64 diff --git a/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java b/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java index 029483f..1a95081 100644 --- a/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java +++ b/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java @@ -24,8 +24,8 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.io.DataSourceType; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import org.testng.Assert; import org.testng.annotations.Test; @@ -43,7 +43,7 @@ public class FeatureScoreModelTest public AlignFrame getTestAlignmentFrame() { AlignFrame alf = new FileLoader(false).LoadFileWaitTillLoaded( - alntestFile, FormatAdapter.PASTE); + alntestFile, DataSourceType.PASTE); AlignmentI al = alf.getViewport().getAlignment(); Assert.assertEquals(al.getHeight(), 4); Assert.assertEquals(al.getWidth(), 5); diff --git a/test/jalview/datamodel/AlignmentAnnotationTests.java b/test/jalview/datamodel/AlignmentAnnotationTests.java index 271162b..4041825 100644 --- a/test/jalview/datamodel/AlignmentAnnotationTests.java +++ b/test/jalview/datamodel/AlignmentAnnotationTests.java @@ -25,6 +25,7 @@ import static org.testng.AssertJUnit.assertNull; import jalview.analysis.AlignSeq; import jalview.io.AppletFormatAdapter; +import jalview.io.FileFormat; import org.testng.annotations.Test; @@ -119,7 +120,8 @@ public class AlignmentAnnotationTests alSeq2.setEnd(sqTo.getStart() + align.getSeq2End() - 1); alSeq2.setDatasetSequence(sqTo); System.out.println(new AppletFormatAdapter() - .formatSequences("STH", new Alignment(new SequenceI[] { sqFrom, +.formatSequences( + FileFormat.Stockholm, new Alignment(new SequenceI[] { sqFrom, alSeq1, sqTo, alSeq2 }), true)); Mapping mp = align.getMappingFromS1(false); @@ -143,7 +145,8 @@ public class AlignmentAnnotationTests AlignmentI all = new Alignment(new SequenceI[] { alSeq1, alSeq2 }); all.addAnnotation(almap1); all.addAnnotation(almap2); - System.out.println(new AppletFormatAdapter().formatSequences("STH", + System.out.println(new AppletFormatAdapter().formatSequences( + FileFormat.Stockholm, all, true)); for (int p = 0; p < alSeq1.getLength(); p++) diff --git a/test/jalview/datamodel/AlignmentTest.java b/test/jalview/datamodel/AlignmentTest.java index 5a45176..4dcf536 100644 --- a/test/jalview/datamodel/AlignmentTest.java +++ b/test/jalview/datamodel/AlignmentTest.java @@ -27,7 +27,9 @@ import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; import jalview.util.MapList; @@ -92,11 +94,11 @@ public class AlignmentTest * @return * @throws IOException */ - protected AlignmentI loadAlignment(final String data, String format) + protected AlignmentI loadAlignment(final String data, FileFormatI format) throws IOException { - AlignmentI a = new FormatAdapter().readFile(data, - AppletFormatAdapter.PASTE, format); + AlignmentI a = new FormatAdapter().readFile(data, DataSourceType.PASTE, + format); a.setDataset(null); return a; } @@ -108,7 +110,7 @@ public class AlignmentTest @BeforeMethod(alwaysRun = true) public void setUp() throws IOException { - al = loadAlignment(TEST_DATA, "STH"); + al = loadAlignment(TEST_DATA, FileFormat.Stockholm); int i = 0; for (AlignmentAnnotation ann : al.getAlignmentAnnotation()) { @@ -174,9 +176,9 @@ public class AlignmentTest public void testAlignAs_dnaAsDna() throws IOException { // aligned cDNA: - AlignmentI al1 = loadAlignment(CDNA_SEQS_1, "FASTA"); + AlignmentI al1 = loadAlignment(CDNA_SEQS_1, FileFormat.Fasta); // unaligned cDNA: - AlignmentI al2 = loadAlignment(CDNA_SEQS_2, "FASTA"); + AlignmentI al2 = loadAlignment(CDNA_SEQS_2, FileFormat.Fasta); /* * Make mappings between sequences. The 'aligned cDNA' is playing the role @@ -200,8 +202,8 @@ public class AlignmentTest public void testAlignAs_proteinAsCdna() throws IOException { // see also AlignmentUtilsTests - AlignmentI al1 = loadAlignment(CDNA_SEQS_1, "FASTA"); - AlignmentI al2 = loadAlignment(AA_SEQS_1, "FASTA"); + AlignmentI al1 = loadAlignment(CDNA_SEQS_1, FileFormat.Fasta); + AlignmentI al2 = loadAlignment(AA_SEQS_1, FileFormat.Fasta); makeMappings(al1, al2); // Fudge - alignProteinAsCdna expects mappings to be on protein @@ -224,8 +226,8 @@ public class AlignmentTest /* * Load alignments and add mappings for cDNA to protein */ - AlignmentI al1 = loadAlignment(CDNA_SEQS_1, "FASTA"); - AlignmentI al2 = loadAlignment(AA_SEQS_1, "FASTA"); + AlignmentI al1 = loadAlignment(CDNA_SEQS_1, FileFormat.Fasta); + AlignmentI al2 = loadAlignment(AA_SEQS_1, FileFormat.Fasta); makeMappings(al1, al2); /* @@ -281,8 +283,8 @@ public class AlignmentTest * Load alignments and add mappings from nucleotide to protein (or from * first to second if both the same type) */ - AlignmentI al1 = loadAlignment(fromSeqs, "FASTA"); - AlignmentI al2 = loadAlignment(toSeqs, "FASTA"); + AlignmentI al1 = loadAlignment(fromSeqs, FileFormat.Fasta); + AlignmentI al2 = loadAlignment(toSeqs, FileFormat.Fasta); makeMappings(al1, al2); /* @@ -334,9 +336,9 @@ public class AlignmentTest String dna1 = "A-Aa-gG-GCC-cT-TT"; String dna2 = "c--CCGgg-TT--T-AA-A"; AlignmentI al1 = loadAlignment(">Dna1/6-17\n" + dna1 - + "\n>Dna2/20-31\n" + dna2 + "\n", "FASTA"); + + "\n>Dna2/20-31\n" + dna2 + "\n", FileFormat.Fasta); AlignmentI al2 = loadAlignment( - ">Pep1/7-9\n-P--YK\n>Pep2/11-13\nG-T--F\n", "FASTA"); + ">Pep1/7-9\n-P--YK\n>Pep2/11-13\nG-T--F\n", FileFormat.Fasta); AlignedCodonFrame acf = new AlignedCodonFrame(); // Seq1 has intron at dna positions 3,4,9 so splice is AAG GCC TTT // Seq2 has intron at dna positions 1,5,6 so splice is CCG TTT AAA @@ -376,7 +378,7 @@ public class AlignmentTest @Test(groups = "Functional") public void testCopyConstructor() throws IOException { - AlignmentI protein = loadAlignment(AA_SEQS_1, FormatAdapter.PASTE); + AlignmentI protein = loadAlignment(AA_SEQS_1, FileFormat.Fasta); // create sequence and alignment datasets protein.setDataset(null); AlignedCodonFrame acf = new AlignedCodonFrame(); @@ -411,7 +413,7 @@ public class AlignmentTest public void testCreateDatasetAlignment() throws IOException { AlignmentI protein = new FormatAdapter().readFile(AA_SEQS_1, - AppletFormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); /* * create a dataset sequence on first sequence * leave the second without one diff --git a/test/jalview/ext/ensembl/EnsemblSeqProxyTest.java b/test/jalview/ext/ensembl/EnsemblSeqProxyTest.java index 2d3948f..b1ebdf8 100644 --- a/test/jalview/ext/ensembl/EnsemblSeqProxyTest.java +++ b/test/jalview/ext/ensembl/EnsemblSeqProxyTest.java @@ -8,7 +8,7 @@ import static org.testng.internal.junit.ArrayAsserts.assertArrayEquals; import jalview.datamodel.Alignment; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.FastaFile; import jalview.io.FileParse; import jalview.io.gff.SequenceOntologyFactory; @@ -132,7 +132,7 @@ public class EnsemblSeqProxyTest .asList(new String[] { sq })); SequenceI[] sqs = new FastaFile(fp).getSeqsAsArray(); - FastaFile trueRes = new FastaFile(fastasq, AppletFormatAdapter.PASTE); + FastaFile trueRes = new FastaFile(fastasq, DataSourceType.PASTE); SequenceI[] trueSqs = trueRes.getSeqsAsArray(); Assert.assertEquals(sqs.length, trueSqs.length, "Different number of sequences retrieved for query " + sq); diff --git a/test/jalview/ext/jmol/JmolParserTest.java b/test/jalview/ext/jmol/JmolParserTest.java index 0627a4a..2a5dda4 100644 --- a/test/jalview/ext/jmol/JmolParserTest.java +++ b/test/jalview/ext/jmol/JmolParserTest.java @@ -29,6 +29,7 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.FileLoader; import jalview.structure.StructureImportSettings; @@ -98,7 +99,7 @@ public class JmolParserTest { FileLoader fl = new jalview.io.FileLoader(false); AlignFrame af = fl - .LoadFileWaitTillLoaded(f, AppletFormatAdapter.FILE); + .LoadFileWaitTillLoaded(f, DataSourceType.FILE); validateSecStrRows(af.getViewport().getAlignment()); } } @@ -110,9 +111,9 @@ public class JmolParserTest for (String pdbStr : testFile) { PDBfile mctest = new PDBfile(false, false, false, pdbStr, - AppletFormatAdapter.FILE); + DataSourceType.FILE); JmolParser jtest = new JmolParser(false, false, false, pdbStr, - jalview.io.AppletFormatAdapter.FILE); + jalview.io.DataSourceType.FILE); Vector seqs = jtest.getSeqs(), mcseqs = mctest.getSeqs(); assertTrue( @@ -134,9 +135,9 @@ public class JmolParserTest for (String pdbStr : testFile) { PDBfile mctest = new PDBfile(false, false, false, pdbStr, - AppletFormatAdapter.FILE); + DataSourceType.FILE); JmolParser jtest = new JmolParser(false, false, false, pdbStr, - jalview.io.AppletFormatAdapter.FILE); + jalview.io.DataSourceType.FILE); Vector seqs = jtest.getSeqs(), mcseqs = mctest.getSeqs(); assertTrue( @@ -201,14 +202,14 @@ public class JmolParserTest { PDBfile mctest = new PDBfile(false, false, false, pastePDBDataWithChainBreak, - AppletFormatAdapter.PASTE); + DataSourceType.PASTE); boolean annotFromStructure = false; boolean localSecondaryStruct = false; boolean serviceSecondaryStruct = false; JmolParser jtest = new JmolParser(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct, pastePDBDataWithChainBreak, - jalview.io.AppletFormatAdapter.PASTE); + jalview.io.DataSourceType.PASTE); Vector seqs = jtest.getSeqs(); Vector mcseqs = mctest.getSeqs(); @@ -229,13 +230,13 @@ public class JmolParserTest public void testParse_alternativeResidues() throws Exception { PDBfile mctest = new PDBfile(false, false, false, pdbWithAltLoc, - AppletFormatAdapter.PASTE); + DataSourceType.PASTE); boolean annotFromStructure = false; boolean localSecondaryStruct = false; boolean serviceSecondaryStruct = false; JmolParser jtest = new JmolParser(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct, pdbWithAltLoc, - jalview.io.AppletFormatAdapter.PASTE); + jalview.io.DataSourceType.PASTE); Vector seqs = jtest.getSeqs(); Vector mcseqs = mctest.getSeqs(); diff --git a/test/jalview/ext/jmol/JmolViewerTest.java b/test/jalview/ext/jmol/JmolViewerTest.java index 10224fa..1100000 100644 --- a/test/jalview/ext/jmol/JmolViewerTest.java +++ b/test/jalview/ext/jmol/JmolViewerTest.java @@ -29,7 +29,7 @@ import jalview.gui.AlignFrame; import jalview.gui.Preferences; import jalview.gui.StructureViewer; import jalview.gui.StructureViewer.ViewerType; -import jalview.io.FormatAdapter; +import jalview.io.DataSourceType; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -65,7 +65,7 @@ public class JmolViewerTest Cache.setProperty(Preferences.STRUCTURE_DISPLAY, ViewerType.JMOL.name()); String inFile = "examples/1gaq.txt"; AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); for (SequenceI sq : af.getViewport().getAlignment().getSequences()) { diff --git a/test/jalview/ext/paradise/TestAnnotate3D.java b/test/jalview/ext/paradise/TestAnnotate3D.java index 4110863..c2be67e 100644 --- a/test/jalview/ext/paradise/TestAnnotate3D.java +++ b/test/jalview/ext/paradise/TestAnnotate3D.java @@ -24,7 +24,9 @@ import static org.testng.AssertJUnit.assertTrue; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.io.FastaFile; +import jalview.io.FileFormat; import jalview.io.FormatAdapter; import java.io.BufferedReader; @@ -101,7 +103,7 @@ public class TestAnnotate3D public void testPDBfileVsRNAML() throws Exception { PDBfile pdbf = new PDBfile(true, false, true, "examples/2GIS.pdb", - FormatAdapter.FILE); + DataSourceType.FILE); Assert.assertTrue(pdbf.isValid()); // Comment - should add new FileParse constructor like new FileParse(Reader // ..). for direct reading @@ -128,7 +130,7 @@ public class TestAnnotate3D assertTrue("No data returned by Annotate3D", sb.length() > 0); final String lines = sb.toString(); AlignmentI al = new FormatAdapter().readFile(lines, - FormatAdapter.PASTE, "RNAML"); + DataSourceType.PASTE, FileFormat.Rnaml); if (al == null || al.getHeight() == 0) { System.out.println(lines); diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java index 93a98b8..2a6dc73 100644 --- a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java +++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java @@ -30,7 +30,7 @@ import jalview.gui.AlignFrame; import jalview.gui.Preferences; import jalview.gui.StructureViewer; import jalview.gui.StructureViewer.ViewerType; -import jalview.io.FormatAdapter; +import jalview.io.DataSourceType; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -67,7 +67,7 @@ public class JalviewChimeraView ViewerType.CHIMERA.name()); String inFile = "examples/1gaq.txt"; AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); for (SequenceI sq : af.getViewport().getAlignment().getSequences()) { diff --git a/test/jalview/gui/AlignViewportTest.java b/test/jalview/gui/AlignViewportTest.java index c956da1..aab67f6 100644 --- a/test/jalview/gui/AlignViewportTest.java +++ b/test/jalview/gui/AlignViewportTest.java @@ -33,8 +33,8 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.PDBEntry.Type; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import jalview.structure.StructureSelectionManager; import java.util.ArrayList; @@ -131,7 +131,7 @@ public class AlignViewportTest * alignment with reference to mappings */ AlignFrame af1 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq1\nCAGT\n", FormatAdapter.PASTE); + ">Seq1\nCAGT\n", DataSourceType.PASTE); AlignedCodonFrame acf1 = new AlignedCodonFrame(); AlignedCodonFrame acf2 = new AlignedCodonFrame(); @@ -175,9 +175,9 @@ public class AlignViewportTest ssm.resetAll(); AlignFrame af1 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq1\nRSVQ\n", FormatAdapter.PASTE); + ">Seq1\nRSVQ\n", DataSourceType.PASTE); AlignFrame af2 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq2\nDGEL\n", FormatAdapter.PASTE); + ">Seq2\nDGEL\n", DataSourceType.PASTE); AlignedCodonFrame acf1 = new AlignedCodonFrame(); AlignedCodonFrame acf2 = new AlignedCodonFrame(); @@ -228,9 +228,9 @@ public class AlignViewportTest ssm.resetAll(); AlignFrame af1 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq1\nRSVQ\n", FormatAdapter.PASTE); + ">Seq1\nRSVQ\n", DataSourceType.PASTE); AlignFrame af2 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq2\nDGEL\n", FormatAdapter.PASTE); + ">Seq2\nDGEL\n", DataSourceType.PASTE); AlignedCodonFrame acf1 = new AlignedCodonFrame(); AlignedCodonFrame acf2 = new AlignedCodonFrame(); diff --git a/test/jalview/gui/AnnotationChooserTest.java b/test/jalview/gui/AnnotationChooserTest.java index f08fa8d..1a61c3e 100644 --- a/test/jalview/gui/AnnotationChooserTest.java +++ b/test/jalview/gui/AnnotationChooserTest.java @@ -31,7 +31,9 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FormatAdapter; import jalview.util.MessageManager; import java.awt.BorderLayout; @@ -85,8 +87,8 @@ public class AnnotationChooserTest Cache.applicationProperties.setProperty("SHOW_CONSERVATION", TRUE); Cache.applicationProperties.setProperty("SHOW_IDENTITY", TRUE); - AlignmentI al = new jalview.io.FormatAdapter().readFile(TEST_DATA, - AppletFormatAdapter.PASTE, "FASTA"); + AlignmentI al = new FormatAdapter().readFile(TEST_DATA, + DataSourceType.PASTE, FileFormat.Fasta); af = new AlignFrame(al, 700, 500); parentPanel = new AlignmentPanel(af, af.getViewport()); addAnnotations(); diff --git a/test/jalview/gui/PopupMenuTest.java b/test/jalview/gui/PopupMenuTest.java index edf3202..0ad75e8 100644 --- a/test/jalview/gui/PopupMenuTest.java +++ b/test/jalview/gui/PopupMenuTest.java @@ -28,7 +28,8 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FormatAdapter; import jalview.util.MessageManager; @@ -66,7 +67,7 @@ public class PopupMenuTest public void setUp() throws IOException { alignment = new FormatAdapter().readFile(TEST_DATA, - AppletFormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); AlignFrame af = new AlignFrame(alignment, 700, 500); parentPanel = new AlignmentPanel(af, af.getViewport()); testee = new PopupMenu(parentPanel, null, null); diff --git a/test/jalview/io/AnnotatedPDBFileInputTest.java b/test/jalview/io/AnnotatedPDBFileInputTest.java index 3524a88..e8cd3ef 100644 --- a/test/jalview/io/AnnotatedPDBFileInputTest.java +++ b/test/jalview/io/AnnotatedPDBFileInputTest.java @@ -62,7 +62,7 @@ public class AnnotatedPDBFileInputTest Boolean.TRUE.toString()); FileLoader loader = new FileLoader(false); AlignFrame af = loader.LoadFileWaitTillLoaded("examples/1gaq.txt", - FormatAdapter.FILE); + DataSourceType.FILE); al = af.getViewport().getAlignment(); pdbId = al.getSequenceAt(0).getDatasetSequence().getAllPDBEntries() .get(0).getId(); @@ -197,14 +197,14 @@ public class AnnotatedPDBFileInputTest String tfile = File.createTempFile("JalviewTest", ".jvp") .getAbsolutePath(); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); assertTrue("Failed to store as a project.", - af.saveAlignment(tfile, "Jalview")); + af.saveAlignment(tfile, FileFormat.Jalview)); af.closeMenuItem_actionPerformed(true); af = null; af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, - FormatAdapter.FILE); + DataSourceType.FILE); assertTrue("Failed to import new project", af != null); for (SequenceI asq : af.getViewport().getAlignment().getSequences()) { diff --git a/test/jalview/io/AnnotationFileIOTest.java b/test/jalview/io/AnnotationFileIOTest.java index 625244d..c39cc4a 100644 --- a/test/jalview/io/AnnotationFileIOTest.java +++ b/test/jalview/io/AnnotationFileIOTest.java @@ -69,8 +69,8 @@ public class AnnotationFileIOTest { FormatAdapter rf = new FormatAdapter(); - AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE, - new IdentifyFile().identify(ff, AppletFormatAdapter.FILE)); + AlignmentI al = rf.readFile(ff, DataSourceType.FILE, + new IdentifyFile().identify(ff, DataSourceType.FILE)); // make sure dataset is initialised ? not sure about this for (int i = 0; i < al.getSequencesArray().length; ++i) @@ -115,7 +115,7 @@ public class AnnotationFileIOTest + testname + "\nAlignment was not annotated - annotation file not imported.", new AnnotationFile().readAnnotationFile(al, cs, af, - FormatAdapter.FILE)); + DataSourceType.FILE)); AnnotationFile aff = new AnnotationFile(); ViewDef v = aff.new ViewDef(null, al.getHiddenSequences(), cs, @@ -143,7 +143,7 @@ public class AnnotationFileIOTest + testname + "\nregenerated annotation file did not annotate alignment.", new AnnotationFile().readAnnotationFile(al_new, anfileout, - FormatAdapter.PASTE)); + DataSourceType.PASTE)); // test for consistency in io StockholmFileTest.testAlignmentEquivalence(al, al_new, false); diff --git a/test/jalview/io/FeaturesFileTest.java b/test/jalview/io/FeaturesFileTest.java index 2f5d0c5..0cfe46a 100644 --- a/test/jalview/io/FeaturesFileTest.java +++ b/test/jalview/io/FeaturesFileTest.java @@ -56,7 +56,7 @@ public class FeaturesFileTest Map colours = af.getFeatureRenderer() .getFeatureColours(); FeaturesFile featuresFile = new FeaturesFile( - "examples/exampleFeatures.txt", FormatAdapter.FILE); + "examples/exampleFeatures.txt", DataSourceType.FILE); assertTrue("Test " + "Features file test" + "\nFailed to parse features file.", featuresFile.parse(al.getDataset(), colours, true)); @@ -157,7 +157,7 @@ public class FeaturesFileTest + "FER_CAPAA\tuniprot\tMETAL\t44\t45\t4.0\t.\t.\tNote Iron-sulfur; Note 2Fe-2S\n" + "FER1_SOLLC\tuniprot\tPfam\t55\t130\t2.0\t.\t."; FeaturesFile featuresFile = new FeaturesFile(gffData, - FormatAdapter.PASTE); + DataSourceType.PASTE); assertTrue("Failed to parse features file", featuresFile.parse(al.getDataset(), colours, true)); @@ -196,8 +196,8 @@ public class FeaturesFileTest String ff = f.getPath(); FormatAdapter rf = new FormatAdapter(); - AlignmentI al = rf.readFile(ff, FormatAdapter.FILE, - new IdentifyFile().identify(ff, FormatAdapter.FILE)); + AlignmentI al = rf.readFile(ff, DataSourceType.FILE, + new IdentifyFile().identify(ff, DataSourceType.FILE)); al.setDataset(null); // creates dataset sequences assertNotNull("Couldn't read supplied alignment data.", al); @@ -223,7 +223,7 @@ public class FeaturesFileTest + "Note=Iron-sulfur (2Fe-2S);Note=another note;evidence=ECO:0000255|PROSITE-ProRule:PRU00465\n" + "FER1_SOLLC\tuniprot\tPfam\t55\t130\t3.0\t.\t.\tID=$23"; FeaturesFile featuresFile = new FeaturesFile(gffData, - FormatAdapter.PASTE); + DataSourceType.PASTE); assertTrue("Failed to parse features file", featuresFile.parse(al.getDataset(), colours, true)); @@ -276,7 +276,7 @@ public class FeaturesFileTest String featureData = "Iron-sulfur (2Fe-2S)\tFER_CAPAA\t-1\t39\t39\tMETAL\n" + "Iron-phosphorus (2Fe-P)\tID_NOT_SPECIFIED\t2\t86\t87\tMETALLIC\n"; FeaturesFile featuresFile = new FeaturesFile(featureData, - FormatAdapter.PASTE); + DataSourceType.PASTE); assertTrue("Failed to parse features file", featuresFile.parse(al.getDataset(), colours, true)); @@ -342,7 +342,7 @@ public class FeaturesFileTest public void readGff3File() throws IOException { FeaturesFile gffreader = new FeaturesFile(true, simpleGffFile, - FormatAdapter.FILE); + DataSourceType.FILE); Alignment dataset = new Alignment(gffreader.getSeqsAsArray()); gffreader.addProperties(dataset); checkDatasetfromSimpleGff3(dataset); @@ -353,7 +353,7 @@ public class FeaturesFileTest { AlignmentI dataset = new Alignment(new SequenceI[] {}); FeaturesFile ffile = new FeaturesFile(simpleGffFile, - FormatAdapter.FILE); + DataSourceType.FILE); boolean parseResult = ffile.parse(dataset, null, false, false); assertTrue("return result should be true", parseResult); @@ -364,7 +364,7 @@ public class FeaturesFileTest public void simpleGff3FileLoader() throws IOException { AlignFrame af = new FileLoader(false).LoadFileWaitTillLoaded( - simpleGffFile, FormatAdapter.FILE); + simpleGffFile, DataSourceType.FILE); assertTrue( "Didn't read the alignment into an alignframe from Gff3 File", af != null); @@ -376,7 +376,7 @@ public class FeaturesFileTest { AlignmentI dataset = new Alignment(new SequenceI[] {}); FeaturesFile ffile = new FeaturesFile(simpleGffFile, - FormatAdapter.FILE); + DataSourceType.FILE); boolean parseResult = ffile.parse(dataset, null, false, true); assertTrue("return result (relaxedID matching) should be true", @@ -401,7 +401,7 @@ public class FeaturesFileTest + "Pfam domainPfam_3_4\tFER_CAPAA\t-1\t20\t20\tPfam\n" + "ENDGROUP\tuniprot\n"; FeaturesFile featuresFile = new FeaturesFile(features, - FormatAdapter.PASTE); + DataSourceType.PASTE); featuresFile.parse(al.getDataset(), colours, false); /* diff --git a/test/jalview/io/FileIOTester.java b/test/jalview/io/FileIOTester.java index 2eb3703..4fb2ee6 100644 --- a/test/jalview/io/FileIOTester.java +++ b/test/jalview/io/FileIOTester.java @@ -65,13 +65,14 @@ public class FileIOTester final static File STARS_FA_FILE2 = new File( "test/jalview/io/test_fasta_stars2.fa"); - private void assertValidFormat(String fmt, String src, FileParse fp) + private void assertValidFormat(FileFormatI fmt, String src, FileParse fp) + throws FileFormatException { AssertJUnit.assertTrue("Couldn't resolve " + src + " as a valid file", fp.isValid()); - String type = new IdentifyFile().identify(fp); - AssertJUnit.assertTrue("Data from '" + src + "' Expected to be '" + fmt - + "' identified as '" + type + "'", type.equalsIgnoreCase(fmt)); + FileFormatI type = new IdentifyFile().identify(fp); + AssertJUnit.assertSame("Data from '" + src + "' Expected to be '" + fmt + + "' identified as '" + type + "'", type, fmt); } @Test(groups = { "Functional" }) @@ -79,8 +80,8 @@ public class FileIOTester { String uri; FileParse fp = new FileParse(uri = STARS_FA_FILE1.getAbsoluteFile() - .toString(), AppletFormatAdapter.FILE); - assertValidFormat("FASTA", uri, fp); + .toString(), DataSourceType.FILE); + assertValidFormat(FileFormat.Fasta, uri, fp); } @Test(groups = { "Functional" }) @@ -88,8 +89,8 @@ public class FileIOTester { String uri; FileParse fp = new FileParse(uri = STARS_FA_FILE2.getAbsoluteFile() - .toString(), AppletFormatAdapter.FILE); - assertValidFormat("FASTA", uri, fp); + .toString(), DataSourceType.FILE); + assertValidFormat(FileFormat.Fasta, uri, fp); } @Test(groups = { "Functional" }) @@ -97,8 +98,8 @@ public class FileIOTester { String uri; FileParse fp = new FileParse(uri = ALIGN_FILE.getAbsoluteFile().toURI() - .toString(), AppletFormatAdapter.URL); - assertValidFormat("FASTA", uri, fp); + .toString(), DataSourceType.URL); + assertValidFormat(FileFormat.Fasta, uri, fp); } @Test(groups = { "Functional" }) @@ -106,8 +107,8 @@ public class FileIOTester { String filepath; FileParse fp = new FileParse(filepath = ALIGN_FILE.getAbsoluteFile() - .toString(), AppletFormatAdapter.FILE); - assertValidFormat("FASTA", filepath, fp); + .toString(), DataSourceType.FILE); + assertValidFormat(FileFormat.Fasta, filepath, fp); } @Test(groups = { "Functional" }) @@ -115,8 +116,8 @@ public class FileIOTester { String uri; FileParse fp = new FileParse(uri = NOTGZALIGN_FILE.getAbsoluteFile() - .toURI().toString(), AppletFormatAdapter.URL); - assertValidFormat("FASTA", uri, fp); + .toURI().toString(), DataSourceType.URL); + assertValidFormat(FileFormat.Fasta, uri, fp); } @Test(groups = { "Functional" }) @@ -124,7 +125,7 @@ public class FileIOTester { String filepath; FileParse fp = new FileParse(filepath = NOTGZALIGN_FILE - .getAbsoluteFile().toString(), AppletFormatAdapter.FILE); - assertValidFormat("FASTA", filepath, fp); + .getAbsoluteFile().toString(), DataSourceType.FILE); + assertValidFormat(FileFormat.Fasta, filepath, fp); } } diff --git a/test/jalview/io/IdentifyFileTest.java b/test/jalview/io/IdentifyFileTest.java index c00cf06..d693a6c 100644 --- a/test/jalview/io/IdentifyFileTest.java +++ b/test/jalview/io/IdentifyFileTest.java @@ -33,19 +33,22 @@ public class IdentifyFileTest @Test(groups = { "Functional" }, dataProvider = "identifyFiles") public void testIdentify(String data, String expectedFileType) + throws FileFormatException { - String protocol = AppletFormatAdapter.FILE; + DataSourceType protocol = DataSourceType.FILE; IdentifyFile ider = new IdentifyFile(); - String actualFiletype = ider.identify(data, protocol); + String actualFiletype = ider.identify(data, protocol).toString(); Assert.assertEquals(actualFiletype, expectedFileType, "File identification Failed!"); } /** * Additional tests for Jalview features file + * + * @throws FileFormatException */ @Test(groups = "Functional") - public void testIdentify_featureFile() + public void testIdentify_featureFile() throws FileFormatException { IdentifyFile ider = new IdentifyFile(); @@ -55,7 +58,7 @@ public class IdentifyFileTest String data = "Iron-sulfur (2Fe-2S)\tFER_CAPAA\t-1\t39\t39\tMETAL\n" + "Iron-phosphorus (2Fe-P)\tID_NOT_SPECIFIED\t2\t86\t87\tMETALLIC\n"; assertEquals(IdentifyFile.FeaturesFile, - ider.identify(data, AppletFormatAdapter.PASTE)); + ider.identify(data, DataSourceType.PASTE)); /* * Jalview feature colour followed by GFF format feature data @@ -63,14 +66,14 @@ public class IdentifyFileTest data = "METAL\tcc9900\n" + "GFF\n" + "FER_CAPAA\tuniprot\tMETAL\t44\t45\t4.0\t.\t.\n"; assertEquals(IdentifyFile.FeaturesFile, - ider.identify(data, AppletFormatAdapter.PASTE)); + ider.identify(data, DataSourceType.PASTE)); /* * Feature with '<' in the name (JAL-2098) */ data = "kD < 3\tred\n" + "Low kD\tFER_CAPAA\t-1\t39\t39\tkD < 3\n"; assertEquals(IdentifyFile.FeaturesFile, - ider.identify(data, AppletFormatAdapter.PASTE)); + ider.identify(data, DataSourceType.PASTE)); } @DataProvider(name = "identifyFiles") diff --git a/test/jalview/io/JSONFileTest.java b/test/jalview/io/JSONFileTest.java index 93fb12b..cd40bab 100644 --- a/test/jalview/io/JSONFileTest.java +++ b/test/jalview/io/JSONFileTest.java @@ -227,7 +227,7 @@ public class JSONFileTest try { alignment = (Alignment) formatAdapter.readFile(TEST_JSON_FILE, - AppletFormatAdapter.FILE, JSONFile.FILE_DESC); + DataSourceType.FILE, FileFormat.Json); jf = (JSONFile) formatAdapter.getAlignFile(); AlignFrame af = new AlignFrame(alignment, jf.getHiddenSequences(), @@ -241,12 +241,12 @@ public class JSONFileTest af.getViewport().setFeaturesDisplayed(jf.getDisplayedFeatures()); formatAdapter = new AppletFormatAdapter(af.alignPanel, exportSettings); - String jsonOutput = formatAdapter.formatSequences(JSONFile.FILE_DESC, + String jsonOutput = formatAdapter.formatSequences(FileFormat.Json, af.alignPanel.getAlignment(), false); formatAdapter = new AppletFormatAdapter(); testAlignment = formatAdapter.readFile(jsonOutput, - AppletFormatAdapter.PASTE, JSONFile.FILE_DESC); + DataSourceType.PASTE, FileFormat.Json); testJsonFile = (JSONFile) formatAdapter.getAlignFile(); // System.out.println(jsonOutput); } catch (IOException e) diff --git a/test/jalview/io/Jalview2xmlTests.java b/test/jalview/io/Jalview2xmlTests.java index 38153df..3281db1 100644 --- a/test/jalview/io/Jalview2xmlTests.java +++ b/test/jalview/io/Jalview2xmlTests.java @@ -104,7 +104,7 @@ public class Jalview2xmlTests String tfile = File.createTempFile("JalviewTest", ".jvp") .getAbsolutePath(); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); int olddsann = countDsAnn(af.getViewport()); assertTrue("Didn't find any dataset annotations", olddsann > 0); @@ -113,11 +113,11 @@ public class Jalview2xmlTests "Couldn't apply RNA helices colourscheme", af.getViewport().getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour); assertTrue("Failed to store as a project.", - af.saveAlignment(tfile, "Jalview")); + af.saveAlignment(tfile, FileFormat.Jalview)); af.closeMenuItem_actionPerformed(true); af = null; af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, - FormatAdapter.FILE); + DataSourceType.FILE); assertTrue("Failed to import new project", af != null); int newdsann = countDsAnn(af.getViewport()); assertTrue( @@ -139,9 +139,9 @@ public class Jalview2xmlTests String tfile = File.createTempFile("JalviewTest", ".jvp") .getAbsolutePath(); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); - af.loadJalviewDataFile(inAnnot, FormatAdapter.FILE, null, null); + af.loadJalviewDataFile(inAnnot, DataSourceType.FILE, null, null); assertTrue( "Didn't set T-coffee colourscheme", af.getViewport().getGlobalColourScheme().getClass() @@ -154,11 +154,11 @@ public class Jalview2xmlTests .getViewport().getGlobalColourScheme())) != null); assertTrue("Failed to store as a project.", - af.saveAlignment(tfile, "Jalview")); + af.saveAlignment(tfile, FileFormat.Jalview)); af.closeMenuItem_actionPerformed(true); af = null; af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, - FormatAdapter.FILE); + DataSourceType.FILE); assertTrue("Failed to import new project", af != null); assertTrue( "Didn't set T-coffee colourscheme for imported project.", @@ -175,9 +175,9 @@ public class Jalview2xmlTests String tfile = File.createTempFile("JalviewTest", ".jvp") .getAbsolutePath(); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); - af.loadJalviewDataFile(inAnnot, FormatAdapter.FILE, null, null); + af.loadJalviewDataFile(inAnnot, DataSourceType.FILE, null, null); AlignmentAnnotation[] aa = af.getViewport().getAlignment() .getSequenceAt(0).getAnnotation("IUPredWS (Short)"); assertTrue( @@ -199,11 +199,11 @@ public class Jalview2xmlTests sg.addSequence(af.getViewport().getAlignment().getSequenceAt(2), true); af.alignPanel.alignmentChanged(); assertTrue("Failed to store as a project.", - af.saveAlignment(tfile, "Jalview")); + af.saveAlignment(tfile, FileFormat.Jalview)); af.closeMenuItem_actionPerformed(true); af = null; af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, - FormatAdapter.FILE); + DataSourceType.FILE); assertTrue("Failed to import new project", af != null); // check for group and alignment colourschemes @@ -260,7 +260,7 @@ public class Jalview2xmlTests int origCount = Desktop.getAlignFrames() == null ? 0 : Desktop .getAlignFrames().length; AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + "examples/exampleFile_2_7.jar", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); assertTrue("Didn't gather the views in the example file.", Desktop.getAlignFrames().length == 1 + origCount); @@ -275,7 +275,7 @@ public class Jalview2xmlTests Cache.applicationProperties.setProperty("ADD_SS_ANN", Boolean.TRUE.toString()); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + "examples/exampleFile_2_7.jar", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); AlignmentViewPanel sps = null; for (AlignmentViewPanel ap : af.alignPanel.alignFrame.getAlignPanels()) @@ -334,7 +334,7 @@ public class Jalview2xmlTests public void testCopyViewSettings() throws Exception { AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + "examples/exampleFile_2_7.jar", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); AlignmentViewPanel sps = null, groups = null; for (AlignmentViewPanel ap : af.alignPanel.alignFrame.getAlignPanels()) @@ -374,7 +374,7 @@ public class Jalview2xmlTests public void testStoreAndRecoverExpandedviews() throws Exception { AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + "examples/exampleFile_2_7.jar", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); String afid = af.getViewport().getSequenceSetId(); { @@ -415,7 +415,7 @@ public class Jalview2xmlTests Assert.assertEquals(Desktop.getAlignFrames().length, 0); } af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - tfile.getAbsolutePath(), FormatAdapter.FILE); + tfile.getAbsolutePath(), DataSourceType.FILE); Assert.assertNotNull(af); Assert.assertEquals( Desktop.getAlignFrames().length, @@ -436,7 +436,7 @@ public class Jalview2xmlTests { Desktop.instance.closeAll_actionPerformed(null); AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( - "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + "examples/exampleFile_2_7.jar", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); String afid = af.getViewport().getSequenceSetId(); @@ -480,7 +480,7 @@ public class Jalview2xmlTests } af = new FileLoader().LoadFileWaitTillLoaded( - tfile.getAbsolutePath(), FormatAdapter.FILE); + tfile.getAbsolutePath(), DataSourceType.FILE); afid = af.getViewport().getSequenceSetId(); for (AlignmentViewPanel ap : Desktop.getAlignmentPanels(afid)) @@ -569,7 +569,7 @@ public class Jalview2xmlTests { Desktop.instance.closeAll_actionPerformed(null); AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( - "examples/uniref50.fa", FormatAdapter.FILE); + "examples/uniref50.fa", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); String afid = af.getViewport().getSequenceSetId(); // make a second view of the alignment @@ -649,7 +649,7 @@ public class Jalview2xmlTests } af = new FileLoader().LoadFileWaitTillLoaded( - tfile.getAbsolutePath(), FormatAdapter.FILE); + tfile.getAbsolutePath(), DataSourceType.FILE); afid = af.getViewport().getSequenceSetId(); for (AlignmentViewPanel ap : Desktop.getAlignmentPanels(afid)) diff --git a/test/jalview/io/JalviewExportPropertiesTests.java b/test/jalview/io/JalviewExportPropertiesTests.java index 164c259..b13f9d1 100644 --- a/test/jalview/io/JalviewExportPropertiesTests.java +++ b/test/jalview/io/JalviewExportPropertiesTests.java @@ -66,7 +66,7 @@ public class JalviewExportPropertiesTests assertTrue("Couldn't set gap character to '.'", ".".equals("" + jalview.bin.Cache.getProperty("GAP_SYMBOL"))); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - "examples/uniref50.fa", FormatAdapter.FILE); + "examples/uniref50.fa", DataSourceType.FILE); assertTrue("Didn't read in the example file correctly.", af != null); assertTrue("Didn't set the gap character correctly", af.getViewport() .getAlignment().getSequenceAt(0).getCharAt(5) == '.'); @@ -78,7 +78,7 @@ public class JalviewExportPropertiesTests sg.setEndRes(7); af.getViewport().setSelectionGroup(sg); String fseqs = new FormatAdapter(af.alignPanel).formatSequences( - "FASTA", af.alignPanel, true); + FileFormat.Fasta, af.alignPanel, true); assertTrue("Couldn't find '.' in the exported region\n" + fseqs, fseqs.indexOf(".") > -1); } diff --git a/test/jalview/io/NewickFileTests.java b/test/jalview/io/NewickFileTests.java index f89f58b..7acc37d 100644 --- a/test/jalview/io/NewickFileTests.java +++ b/test/jalview/io/NewickFileTests.java @@ -93,7 +93,7 @@ public class NewickFileTests { stage = "Parsing testTree " + treename; System.out.println(treename + "\n" + testTree); - NewickFile nf = new NewickFile(testTree, FormatAdapter.PASTE); + NewickFile nf = new NewickFile(testTree, DataSourceType.PASTE); nf.parse(); AssertJUnit.assertTrue( stage + "Invalid Tree '" + nf.getWarningMessage() + "'", @@ -106,7 +106,7 @@ public class NewickFileTests AssertJUnit.assertTrue(stage + "Empty string generated", gentree != null && gentree.trim().length() > 0); stage = "Parsing regenerated testTree " + treename; - NewickFile nf_regen = new NewickFile(gentree, FormatAdapter.PASTE); + NewickFile nf_regen = new NewickFile(gentree, DataSourceType.PASTE); nf_regen.parse(); AssertJUnit.assertTrue( stage + "Newick file is invalid ('" diff --git a/test/jalview/io/PfamFormatInputTest.java b/test/jalview/io/PfamFormatInputTest.java index 5dd4ecb..8eb3c60 100644 --- a/test/jalview/io/PfamFormatInputTest.java +++ b/test/jalview/io/PfamFormatInputTest.java @@ -13,7 +13,8 @@ public class PfamFormatInputTest public void testPfamFormatNoLimits() throws IOException { AlignmentI al = new jalview.io.AppletFormatAdapter().readFile("ASEQ" - + '\t' + "...--FFAFAFF--", AppletFormatAdapter.PASTE, "PFAM"); + + '\t' + "...--FFAFAFF--", DataSourceType.PASTE, + FileFormat.Pfam); Assert.assertEquals(1, al.getHeight(), "Wrong number of sequences"); Assert.assertTrue(al.hasValidSequence(), "Didn't extract limits from PFAM ID"); @@ -24,7 +25,8 @@ public class PfamFormatInputTest { AlignmentI al = new jalview.io.AppletFormatAdapter().readFile( "ASEQ/15-25" + '\t' + "...--FFAFAFF--", - AppletFormatAdapter.PASTE, "PFAM"); + DataSourceType.PASTE, + FileFormat.Pfam); Assert.assertEquals(1, al.getHeight(), "Wrong number of sequences"); Assert.assertTrue(al.hasValidSequence(), "Didn't extract limits from PFAM ID"); diff --git a/test/jalview/io/PhylipFileTests.java b/test/jalview/io/PhylipFileTests.java index fa57c3d..e0f1f68 100644 --- a/test/jalview/io/PhylipFileTests.java +++ b/test/jalview/io/PhylipFileTests.java @@ -126,8 +126,8 @@ public class PhylipFileTests private void testDataExtraction(String file) throws IOException { AppletFormatAdapter rf = new AppletFormatAdapter(); - AlignmentI al = rf.readFile(file, AppletFormatAdapter.FILE, - PhylipFile.FILE_DESC); + AlignmentI al = rf.readFile(file, DataSourceType.FILE, + FileFormat.Phylip); assertNotNull("Couldn't read supplied alignment data.", al); Map data = PhylipFileTests.getTestData(); @@ -171,14 +171,14 @@ public class PhylipFileTests public void testIO(String file) throws IOException { AppletFormatAdapter rf = new AppletFormatAdapter(); - AlignmentI al = rf.readFile(file, AppletFormatAdapter.FILE, - PhylipFile.FILE_DESC); + AlignmentI al = rf.readFile(file, DataSourceType.FILE, + FileFormat.Phylip); assertNotNull("Couldn't read supplied alignment data.", al); - String outputfile = rf.formatSequences(PhylipFile.FILE_DESC, al, true); + String outputfile = rf.formatSequences(FileFormat.Phylip, al, true); AlignmentI al_input = new AppletFormatAdapter().readFile(outputfile, - AppletFormatAdapter.PASTE, PhylipFile.FILE_DESC); + DataSourceType.PASTE, FileFormat.Phylip); assertNotNull("Couldn't parse reimported alignment data.", al_input); StockholmFileTest.testAlignmentEquivalence(al, al_input, false); diff --git a/test/jalview/io/RNAMLfileTest.java b/test/jalview/io/RNAMLfileTest.java index c084792..feda619 100644 --- a/test/jalview/io/RNAMLfileTest.java +++ b/test/jalview/io/RNAMLfileTest.java @@ -43,7 +43,8 @@ public class RNAMLfileTest public void testRnamlToStockholmIO() { StockholmFileTest.testFileIOwithFormat(new File( - "examples/testdata/rna-alignment.xml"), "STH", -1, -1); + "examples/testdata/rna-alignment.xml"), FileFormat.Stockholm, + -1, -1); } diff --git a/test/jalview/io/StockholmFileTest.java b/test/jalview/io/StockholmFileTest.java index d7a9166..897918f 100644 --- a/test/jalview/io/StockholmFileTest.java +++ b/test/jalview/io/StockholmFileTest.java @@ -46,15 +46,15 @@ public class StockholmFileTest @Test(groups = { "Functional" }) public void pfamFileIO() throws Exception { - testFileIOwithFormat(new File(PfamFile), "STH", -1, 0); + testFileIOwithFormat(new File(PfamFile), FileFormat.Stockholm, -1, 0); } @Test(groups = { "Functional" }) public void pfamFileDataExtraction() throws Exception { AppletFormatAdapter af = new AppletFormatAdapter(); - AlignmentI al = af.readFile(PfamFile, af.FILE, - new IdentifyFile().identify(PfamFile, af.FILE)); + AlignmentI al = af.readFile(PfamFile, DataSourceType.FILE, + new IdentifyFile().identify(PfamFile, DataSourceType.FILE)); int numpdb = 0; for (SequenceI sq : al.getSequences()) { @@ -71,7 +71,7 @@ public class StockholmFileTest @Test(groups = { "Functional" }) public void rfamFileIO() throws Exception { - testFileIOwithFormat(new File(RfamFile), "STH", 2, 1); + testFileIOwithFormat(new File(RfamFile), FileFormat.Stockholm, 2, 1); } /** @@ -85,7 +85,7 @@ public class StockholmFileTest * f */ - public static void testFileIOwithFormat(File f, String ioformat, + public static void testFileIOwithFormat(File f, FileFormatI ioformat, int naliannot, int nminseqann) { System.out.println("Reading file: " + f); @@ -94,8 +94,8 @@ public class StockholmFileTest { AppletFormatAdapter rf = new AppletFormatAdapter(); - AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE, - new IdentifyFile().identify(ff, AppletFormatAdapter.FILE)); + AlignmentI al = rf.readFile(ff, DataSourceType.FILE, + new IdentifyFile().identify(ff, DataSourceType.FILE)); assertNotNull("Couldn't read supplied alignment data.", al); @@ -109,11 +109,11 @@ public class StockholmFileTest + outputfile + "\n< scores = parser.getScoresList(); AssertJUnit @@ -237,7 +237,7 @@ public class TCoffeeScoreFileTest { TCoffeeScoreFile parser = new TCoffeeScoreFile(SCORE_FILE.getPath(), - FormatAdapter.FILE); + DataSourceType.FILE); AssertJUnit.assertTrue(parser.getWarningMessage(), parser.isValid()); byte[][] scores = parser.getScoresArray(); @@ -267,7 +267,7 @@ public class TCoffeeScoreFileTest public void testHeightAndWidthWithResidueNumbers() throws Exception { String file = "test/jalview/io/tcoffee.score_ascii_with_residue_numbers"; - TCoffeeScoreFile result = new TCoffeeScoreFile(file, FormatAdapter.FILE); + TCoffeeScoreFile result = new TCoffeeScoreFile(file, DataSourceType.FILE); AssertJUnit.assertTrue(result.isValid()); AssertJUnit.assertEquals(5, result.getHeight()); AssertJUnit.assertEquals(84, result.getWidth()); diff --git a/test/jalview/io/gff/ExonerateHelperTest.java b/test/jalview/io/gff/ExonerateHelperTest.java index 54d6eb2..28036b2 100644 --- a/test/jalview/io/gff/ExonerateHelperTest.java +++ b/test/jalview/io/gff/ExonerateHelperTest.java @@ -15,8 +15,8 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceDummy; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.io.DataSourceType; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import java.io.IOException; import java.util.ArrayList; @@ -239,10 +239,10 @@ public class ExonerateHelperTest FileLoader loader = new FileLoader(false); AlignFrame af = loader.LoadFileWaitTillLoaded( "examples/testdata/exonerateseqs.fa", - FormatAdapter.FILE); + DataSourceType.FILE); af.loadJalviewDataFile("examples/testdata/exonerateoutput.gff", - FormatAdapter.FILE, null, null); + DataSourceType.FILE, null, null); /* * verify one mapping to a dummy sequence, one to a real one diff --git a/test/jalview/io/gff/GffTests.java b/test/jalview/io/gff/GffTests.java index 2ee4eac..72ea7e2 100644 --- a/test/jalview/io/gff/GffTests.java +++ b/test/jalview/io/gff/GffTests.java @@ -13,8 +13,8 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceDummy; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.io.DataSourceType; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import java.util.List; @@ -37,7 +37,7 @@ public class GffTests { String proteinSeq = ">prot1/10-16\nYCWRSGA"; AlignFrame af = new FileLoader(false).LoadFileWaitTillLoaded( - proteinSeq, FormatAdapter.PASTE); + proteinSeq, DataSourceType.PASTE); /* * exonerate GFF output mapping residues 11-15 (CWRSG) @@ -45,7 +45,7 @@ public class GffTests */ String exonerateGff = "##gff-version 2\n" + "prot1\tprotein2genome\tsimilarity\t11\t15\t99\t-\t.\talignment_id 0 ; Target dna1 ; Align 11 24 5"; - af.loadJalviewDataFile(exonerateGff, FormatAdapter.PASTE, null, null); + af.loadJalviewDataFile(exonerateGff, DataSourceType.PASTE, null, null); /* * check we have a mapping from prot1 to SequenceDummy 'dna1' diff --git a/test/jalview/structure/Mapping.java b/test/jalview/structure/Mapping.java index 5ab43b5..13387db 100644 --- a/test/jalview/structure/Mapping.java +++ b/test/jalview/structure/Mapping.java @@ -28,8 +28,9 @@ import jalview.datamodel.Annotation; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; import jalview.io.StructureFile; import org.testng.Assert; @@ -68,7 +69,7 @@ public class Mapping StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager(); StructureFile pmap = ssm.setMapping(true, new SequenceI[] { uprot }, new String[] { "A" }, "test/jalview/ext/jmol/1QCF.pdb", - jalview.io.FormatAdapter.FILE); + jalview.io.DataSourceType.FILE); assertTrue(pmap != null); SequenceI protseq = pmap.getSeqsAsArray()[0]; AlignmentAnnotation pstra = protseq @@ -139,7 +140,7 @@ public class Mapping // source StructureFile pde = ssm.setMapping(true, new SequenceI[] { sq }, new String[] - { "A" }, inFile = "examples/1gaq.txt", jalview.io.FormatAdapter.FILE); + { "A" }, inFile = "examples/1gaq.txt", jalview.io.DataSourceType.FILE); assertTrue("PDB File couldn't be found", pde != null); StructureMapping[] mp = ssm.getMapping(inFile); assertTrue("No mappings made.", mp != null && mp.length > 0); @@ -231,12 +232,12 @@ public class Mapping AlignFrame seqf = new FileLoader(false) .LoadFileWaitTillLoaded( ">FER1_MAIZE/1-150 Ferredoxin-1, chloroplast precursor\nMATVLGSPRAPAFFFSSSSLRAAPAPTAVALPAAKVGIMGRSASSRRRLRAQATYNVKLITPEGEVELQVPD\nDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDVVIETHKE\nEELTGA", - FormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); SequenceI newseq = seqf.getViewport().getAlignment().getSequenceAt(0); StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager(); StructureFile pmap = ssm.setMapping(true, new SequenceI[] { newseq }, new String[] { null }, "examples/3W5V.pdb", - jalview.io.FormatAdapter.FILE); + jalview.io.DataSourceType.FILE); if (pmap == null) { AssertJUnit.fail("Couldn't make a mapping for 3W5V to FER1_MAIZE"); @@ -253,7 +254,7 @@ public class Mapping StructureImportSettings.setShowSeqFeatures(true); AlignFrame ref = new FileLoader(false) .LoadFileWaitTillLoaded("test/jalview/ext/jmol/1QCF.pdb", - jalview.io.FormatAdapter.FILE); + jalview.io.DataSourceType.FILE); SequenceI refseq = ref.getViewport().getAlignment().getSequenceAt(0); SequenceI newseq = new Sequence(refseq.getName() + "Copy", refseq.getSequenceAsString()); @@ -265,7 +266,7 @@ public class Mapping ssm.setAddTempFacAnnot(true); StructureFile pmap = ssm.setMapping(true, new SequenceI[] { newseq }, new String[] { null }, "test/jalview/ext/jmol/1QCF.pdb", - jalview.io.FormatAdapter.FILE); + jalview.io.DataSourceType.FILE); assertTrue(pmap != null); assertEquals("Original and copied sequence of different lengths.", refseq.getLength(), newseq.getLength()); diff --git a/test/jalview/structure/StructureSelectionManagerTest.java b/test/jalview/structure/StructureSelectionManagerTest.java index 16f56a6..d78e33e 100644 --- a/test/jalview/structure/StructureSelectionManagerTest.java +++ b/test/jalview/structure/StructureSelectionManagerTest.java @@ -27,7 +27,7 @@ import jalview.datamodel.AlignedCodonFrame; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; -import jalview.io.FormatAdapter; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import java.util.ArrayList; @@ -113,7 +113,7 @@ public class StructureSelectionManagerTest sm.setProcessSecondaryStructure(true); sm.setAddTempFacAnnot(true); StructureFile pmap = sm.setMapping(true, new SequenceI[] { seq }, - new String[] { null }, "examples/1gaq.txt", FormatAdapter.FILE); + new String[] { null }, "examples/1gaq.txt", DataSourceType.FILE); assertTrue(pmap != null); assertEquals(3, pmap.getSeqs().size()); diff --git a/test/jalview/structures/models/AAStructureBindingModelTest.java b/test/jalview/structures/models/AAStructureBindingModelTest.java index bb81992..2e0692e 100644 --- a/test/jalview/structures/models/AAStructureBindingModelTest.java +++ b/test/jalview/structures/models/AAStructureBindingModelTest.java @@ -30,7 +30,7 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.PDBEntry.Type; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.structure.AtomSpec; import jalview.structure.StructureSelectionManager; import jalview.structures.models.AAStructureBindingModel.SuperposeData; @@ -98,11 +98,11 @@ public class AAStructureBindingModelTest StructureSelectionManager ssm = new StructureSelectionManager(); ssm.setMapping(new SequenceI[] { seq1 }, null, PDB_1, - AppletFormatAdapter.PASTE); + DataSourceType.PASTE); ssm.setMapping(new SequenceI[] { seq2 }, null, PDB_2, - AppletFormatAdapter.PASTE); + DataSourceType.PASTE); ssm.setMapping(new SequenceI[] { seq3 }, null, PDB_3, - AppletFormatAdapter.PASTE); + DataSourceType.PASTE); testee = new AAStructureBindingModel(ssm, pdbFiles, seqs, chains, null) { diff --git a/test/jalview/util/MappingUtilsTest.java b/test/jalview/util/MappingUtilsTest.java index 3c417c3..492cbb66 100644 --- a/test/jalview/util/MappingUtilsTest.java +++ b/test/jalview/util/MappingUtilsTest.java @@ -39,7 +39,9 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.gui.AlignViewport; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; import java.awt.Color; @@ -197,10 +199,10 @@ public class MappingUtilsTest * viewport). */ AlignmentI cdna = loadAlignment(">Seq1\nACG\n>Seq2\nTGA\n>Seq3\nTAC\n", - "FASTA"); + FileFormat.Fasta); cdna.setDataset(null); AlignmentI protein = loadAlignment(">Seq1\nK\n>Seq2\nL\n>Seq3\nQ\n", - "FASTA"); + FileFormat.Fasta); protein.setDataset(null); AlignedCodonFrame acf = new AlignedCodonFrame(); MapList map = new MapList(new int[] { 1, 3 }, new int[] { 1, 1 }, 3, 1); @@ -268,11 +270,11 @@ public class MappingUtilsTest * @return * @throws IOException */ - protected AlignmentI loadAlignment(final String data, String format) + protected AlignmentI loadAlignment(final String data, FileFormatI format) throws IOException { AlignmentI a = new FormatAdapter().readFile(data, - AppletFormatAdapter.PASTE, format); + DataSourceType.PASTE, format); a.setDataset(null); return a; } @@ -351,11 +353,11 @@ public class MappingUtilsTest */ AlignmentI cdna = loadAlignment(">Seq1/10-18\nAC-GctGtC-T\n" + ">Seq2/20-27\nTc-GA-G-T-Tc\n" + ">Seq3/30-38\nTtTT-AaCGg-\n", - "FASTA"); + FileFormat.Fasta); cdna.setDataset(null); AlignmentI protein = loadAlignment( ">Seq1/40-41\n-K-P\n>Seq2/50-51\nL--Q\n>Seq3/60-61\nG--S\n", - "FASTA"); + FileFormat.Fasta); protein.setDataset(null); // map first dna to first protein seq @@ -466,10 +468,11 @@ public class MappingUtilsTest * viewport). */ AlignmentI cdna = loadAlignment( - ">Seq1\nACGGCA\n>Seq2\nTGACAG\n>Seq3\nTACGTA\n", "FASTA"); + ">Seq1\nACGGCA\n>Seq2\nTGACAG\n>Seq3\nTACGTA\n", + FileFormat.Fasta); cdna.setDataset(null); AlignmentI protein = loadAlignment(">Seq1\nKA\n>Seq2\nLQ\n>Seq3\nQV\n", - "FASTA"); + FileFormat.Fasta); protein.setDataset(null); AlignedCodonFrame acf = new AlignedCodonFrame(); MapList map = new MapList(new int[] { 1, 6 }, new int[] { 1, 2 }, 3, 1); @@ -549,10 +552,10 @@ public class MappingUtilsTest */ AlignmentI cdna = loadAlignment( ">Seq1\nA-CG-GC--AT-CA\n>Seq2\n-TG-AC-AG-T-AT\n>Seq3\n-T--ACG-TAAT-G\n", - "FASTA"); + FileFormat.Fasta); cdna.setDataset(null); AlignmentI protein = loadAlignment( - ">Seq1\n-KA-S\n>Seq2\n--L-QY\n>Seq3\nQ-V-M\n", "FASTA"); + ">Seq1\n-KA-S\n>Seq2\n--L-QY\n>Seq3\nQ-V-M\n", FileFormat.Fasta); protein.setDataset(null); AlignedCodonFrame acf = new AlignedCodonFrame(); MapList map = new MapList(new int[] { 1, 9 }, new int[] { 1, 3 }, 3, 1); diff --git a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java index 9f62481..28a44d3 100644 --- a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java +++ b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java @@ -27,6 +27,8 @@ import jalview.bin.Cache; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.io.AnnotationFile; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FormatAdapter; import jalview.io.StockholmFileTest; import jalview.ws.jws2.AADisorderClient; @@ -71,7 +73,7 @@ public class DisorderAnnotExportImport assertTrue("Couldn't discover any IUPred services to use to test.", iupreds.size() > 0); jalview.io.FileLoader fl = new jalview.io.FileLoader(false); - af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.FormatAdapter.FILE); + af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.DataSourceType.FILE); assertNotNull("Couldn't load test data ('" + testseqs + "')", af); } @@ -146,13 +148,13 @@ public class DisorderAnnotExportImport + "\n<