X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileParse.java;h=4df916564455c5bf3471d3bd59cfa818fca28599;hb=c945c9641de88cad01b09b3db19e45667dfe751e;hp=bb03b3538d211f3fbb65dd9b8121bdd06121ab75;hpb=5edb8467339f706a5821d00b909877f7ab5fed84;p=jalview.git diff --git a/src/jalview/io/FileParse.java b/src/jalview/io/FileParse.java index bb03b35..4df9165 100755 --- a/src/jalview/io/FileParse.java +++ b/src/jalview/io/FileParse.java @@ -40,8 +40,6 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.zip.GZIPInputStream; -import javajs.util.Rdr; - /** * implements a random access wrapper around a particular datasource, for * passing to identifyFile and AlignFile objects. @@ -59,8 +57,12 @@ public class FileParse public File inFile = null; - public byte[] bytes; // from JavaScript + private byte[] bytes; // from JavaScript + public byte[] getBytes() + { + return bytes; + } /** * a viewport associated with the current file operation. May be null. May * move to different object. @@ -308,31 +310,29 @@ public class FileParse * Create a datasource for input to Jalview. See AppletFormatAdapter for the * types of sources that are handled. * - * @param fileStr - * - datasource locator/content + * @param file + * - datasource locator/content as File or String * @param sourceType * - protocol of source * @throws MalformedURLException * @throws IOException */ - public FileParse(String fileStr, DataSourceType sourceType) - throws MalformedURLException, IOException - { - - this(null, fileStr, sourceType, false); - } - - public FileParse(File file, DataSourceType sourceType) + public FileParse(Object file, DataSourceType sourceType) throws MalformedURLException, IOException { - - this(file, file.getPath(), sourceType, true); + if (file instanceof File) + { + parse((File) file, ((File) file).getPath(), sourceType, true); + } + else + { + parse(null, file.toString(), sourceType, false); + } } - private FileParse(File file, String fileStr, DataSourceType sourceType, + private void parse(File file, String fileStr, DataSourceType sourceType, boolean isFileObject) throws MalformedURLException, IOException { - /** * @j2sNative * @@ -349,7 +349,7 @@ public class FileParse { // this will be from JavaScript inFile = file; - dataIn = new BufferedReader(new java.io.InputStreamReader(new ByteArrayInputStream(bytes))); + dataIn = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(bytes))); dataName = fileStr; } else if (checkFileSource(fileStr)) @@ -375,18 +375,16 @@ public class FileParse } else if (sourceType == DataSourceType.RELATIVE_URL) { - String data = null; /** * BH 2018 hack for no support for access-origin * * @j2sNative * - * data = $.ajax({url:fileStr, async:false}).responseText; + * this.bytes = swingjs.JSToolkit.getFileAsBytes(fileStr); * */ - dataIn = Rdr.getBR(data); - + dataIn = new BufferedReader(new java.io.InputStreamReader(new ByteArrayInputStream(bytes))); dataName = fileStr; }