X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalviewLite.java;h=de011ea45fcabb9e037f5ca8ab77ebf2e7835d7c;hb=cd4e2687751aab1c9c5974e6966e610a3332236b;hp=a3b2b0bcf7ac9d0426b036c9681e706ce014267f;hpb=a8d1e3d9e96b19a53c1fc53e777991314ae4b7f2;p=jalview.git diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index a3b2b0b..de011ea 100644 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -37,6 +37,9 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.io.AnnotationFile; 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 jalview.io.JPredFile; @@ -63,6 +66,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; @@ -513,21 +517,23 @@ public class JalviewLite extends Applet implements { try { + FileFormatI theFormat = FileFormat.valueOf(format); boolean seqlimits = suffix.equalsIgnoreCase(TRUE); if (alf.viewport.getSelectionGroup() != null) { // JBPNote: getSelectionAsNewSequence behaviour has changed - this // method now returns a full copy of sequence data // TODO consider using getSequenceSelection instead here - String reply = new AppletFormatAdapter().formatSequences(format, + String reply = new AppletFormatAdapter().formatSequences(theFormat, new Alignment(alf.viewport.getSelectionAsNewSequence()), seqlimits); return reply; } - } catch (Exception ex) + } catch (IllegalArgumentException ex) { ex.printStackTrace(); - return "Error retrieving alignment in " + format + " format. "; + return "Error retrieving alignment, possibly invalid format specifier: " + + format; } return ""; } @@ -709,13 +715,15 @@ public class JalviewLite extends Applet implements { boolean seqlimits = suffix.equalsIgnoreCase(TRUE); - String reply = new AppletFormatAdapter().formatSequences(format, + FileFormatI theFormat = FileFormat.valueOf(format); + String reply = new AppletFormatAdapter().formatSequences(theFormat, alf.viewport.getAlignment(), seqlimits); return reply; - } catch (Exception ex) + } catch (IllegalArgumentException ex) { ex.printStackTrace(); - return "Error retrieving alignment in " + format + " format. "; + return "Error retrieving alignment, possibly invalid format specifier: " + + format; } } @@ -741,14 +749,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); } } @@ -774,7 +782,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); } @@ -882,17 +890,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(); } @@ -1818,7 +1826,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 @@ -1848,7 +1856,7 @@ public class JalviewLite extends Applet implements */ if (path.startsWith("PASTE")) { - protocol = AppletFormatAdapter.PASTE; + protocol = DataSourceType.PASTE; return path.substring(5); } @@ -1857,7 +1865,7 @@ public class JalviewLite extends Applet implements */ if (path.indexOf("://") != -1) { - protocol = AppletFormatAdapter.URL; + protocol = DataSourceType.URL; return path; } @@ -1873,7 +1881,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; } @@ -1886,7 +1894,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 @@ -1901,7 +1909,7 @@ public class JalviewLite extends Applet implements */ if (inArchive(path)) { - protocol = AppletFormatAdapter.CLASSLOADER; + protocol = DataSourceType.CLASSLOADER; } return path; } @@ -2015,11 +2023,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)) @@ -2036,7 +2045,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 @@ -2207,8 +2216,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 }); } } }