git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3048 adapt 'input from URL' dialog for JalviewJS
[jalview.git]
/
src
/
jalview
/
io
/
FileParse.java
diff --git
a/src/jalview/io/FileParse.java
b/src/jalview/io/FileParse.java
index
7e1940f
..
809bc8f
100755
(executable)
--- a/
src/jalview/io/FileParse.java
+++ b/
src/jalview/io/FileParse.java
@@
-20,13
+20,14
@@
*/
package jalview.io;
*/
package jalview.io;
-import jalview.api.AlignExportSettingI;
+import jalview.api.AlignExportSettingsI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureSettingsModelI;
import jalview.util.MessageManager;
import java.io.BufferedReader;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureSettingsModelI;
import jalview.util.MessageManager;
import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
@@
-39,8
+40,6
@@
import java.net.MalformedURLException;
import java.net.URL;
import java.util.zip.GZIPInputStream;
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.
/**
* implements a random access wrapper around a particular datasource, for
* passing to identifyFile and AlignFile objects.
@@
-58,8
+57,12
@@
public class FileParse
public File inFile = null;
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.
/**
* a viewport associated with the current file operation. May be null. May
* move to different object.
@@
-69,7
+72,7
@@
public class FileParse
/**
* specific settings for exporting data from the current context
*/
/**
* specific settings for exporting data from the current context
*/
- private AlignExportSettingI exportSettings;
+ private AlignExportSettingsI exportSettings;
/**
* sequence counter for FileParse object created from same data source
/**
* sequence counter for FileParse object created from same data source
@@
-307,31
+310,29
@@
public class FileParse
* Create a datasource for input to Jalview. See AppletFormatAdapter for the
* types of sources that are handled.
*
* 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
*/
* @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
{
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
{
boolean isFileObject) throws MalformedURLException, IOException
{
-
/**
* @j2sNative
*
/**
* @j2sNative
*
@@
-348,7
+349,7
@@
public class FileParse
{
// this will be from JavaScript
inFile = file;
{
// this will be from JavaScript
inFile = file;
- dataIn = new BufferedReader(new StringReader(new String(bytes)));
+ dataIn = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(bytes)));
dataName = fileStr;
}
else if (checkFileSource(fileStr))
dataName = fileStr;
}
else if (checkFileSource(fileStr))
@@
-374,18
+375,16
@@
public class FileParse
}
else if (sourceType == DataSourceType.RELATIVE_URL)
{
}
else if (sourceType == DataSourceType.RELATIVE_URL)
{
- String data = null;
/**
* BH 2018 hack for no support for access-origin
*
* @j2sNative
*
/**
* BH 2018 hack for no support for access-origin
*
* @j2sNative
*
- * data = $.ajax({url:fileStr, async:false}).responseText;
+ * this.bytes = swingjs.JSUtil.getFileAsBytes$O(fileStr);
*
*/
*
*/
- System.out.println(data);
- dataIn = Rdr.getBR(data);
+ dataIn = new BufferedReader(new java.io.InputStreamReader(new ByteArrayInputStream(bytes)));
dataName = fileStr;
}
dataName = fileStr;
}
@@
-635,7
+634,7
@@
public class FileParse
/**
* @return the currently configured exportSettings for writing data.
*/
/**
* @return the currently configured exportSettings for writing data.
*/
- public AlignExportSettingI getExportSettings()
+ public AlignExportSettingsI getExportSettings()
{
return exportSettings;
}
{
return exportSettings;
}
@@
-646,7
+645,7
@@
public class FileParse
* @param exportSettings
* the exportSettings to set
*/
* @param exportSettings
* the exportSettings to set
*/
- public void setExportSettings(AlignExportSettingI exportSettings)
+ public void setExportSettings(AlignExportSettingsI exportSettings)
{
this.exportSettings = exportSettings;
}
{
this.exportSettings = exportSettings;
}