X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FIdentifyFile.java;h=8fa76ecca3ec5346855f9e36bb7293b20f16130c;hb=0b0d8f48a1dc4e18bfa4d1a03f017ec3253e3247;hp=ff959b0d79b281f5bb078e500bc768e270931c93;hpb=be762d8d9c71a7aa3121e845c45911c7192b7827;p=jalview.git diff --git a/src/jalview/io/IdentifyFile.java b/src/jalview/io/IdentifyFile.java index ff959b0..8fa76ec 100755 --- a/src/jalview/io/IdentifyFile.java +++ b/src/jalview/io/IdentifyFile.java @@ -20,6 +20,7 @@ */ package jalview.io; +import java.io.File; import java.io.IOException; /** @@ -30,6 +31,40 @@ import java.io.IOException; */ public class IdentifyFile { + + public FileFormatI identify(Object file, DataSourceType protocol) throws FileFormatException + { + // BH 2018 + return (file instanceof File ? identify((File) file, protocol) : identify((String) file, protocol)); + + } + + public FileFormatI identify(File file, DataSourceType sourceType) + throws FileFormatException + { + // BH 2018 + String emessage = "UNIDENTIFIED FILE PARSING ERROR"; + FileParse parser = null; + try + { + parser = new FileParse(file, sourceType); + if (parser.isValid()) + { + return identify(parser); + } + } catch (Exception e) + { + System.err.println("Error whilst identifying " + file); + e.printStackTrace(System.err); + emessage = e.getMessage(); + } + if (parser != null) + { + throw new FileFormatException(parser.errormessage); + } + throw new FileFormatException(emessage); + } + /** * Identify a datasource's file content. * @@ -55,7 +90,7 @@ public class IdentifyFile } } catch (Exception e) { - System.err.println("Error whilst identifying"); + System.err.println("Error whilst identifying " + file); e.printStackTrace(System.err); emessage = e.getMessage(); } @@ -439,4 +474,6 @@ public class IdentifyFile System.err.println("Usage: [ ...]"); } } + + }