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-3725 restrict mapped virtual feature location to mapped region
[jalview.git]
/
src
/
jalview
/
io
/
AlignFile.java
diff --git
a/src/jalview/io/AlignFile.java
b/src/jalview/io/AlignFile.java
index
497f0a5
..
3202ac9
100755
(executable)
--- a/
src/jalview/io/AlignFile.java
+++ b/
src/jalview/io/AlignFile.java
@@
-20,13
+20,6
@@
*/
package jalview.io;
*/
package jalview.io;
-import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.Sequence;
-import jalview.datamodel.SequenceGroup;
-import jalview.datamodel.SequenceI;
-import jalview.util.MessageManager;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
@@
-34,6
+27,13
@@
import java.util.Hashtable;
import java.util.List;
import java.util.Vector;
import java.util.List;
import java.util.Vector;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
+import jalview.util.MessageManager;
+
/**
* DOCUMENT ME!
*
/**
* DOCUMENT ME!
*
@@
-79,6
+79,8
@@
public abstract class AlignFile extends FileParse
private boolean parseImmediately = true;
private boolean parseImmediately = true;
+ private boolean dataClosed = false;
+
/**
* @return if doParse() was called at construction time
*/
/**
* @return if doParse() was called at construction time
*/
@@
-112,7
+114,7
@@
public abstract class AlignFile extends FileParse
* @param sourceType
* What type of file to read from (File, URL, Pasted String)
*/
* @param sourceType
* What type of file to read from (File, URL, Pasted String)
*/
- public AlignFile(String dataObject, DataSourceType sourceType)
+ public AlignFile(Object dataObject, DataSourceType sourceType)
throws IOException
{
this(true, dataObject, sourceType);
throws IOException
{
this(true, dataObject, sourceType);
@@
-130,9
+132,10
@@
public abstract class AlignFile extends FileParse
* What type of file to read from (File, URL)
* @throws IOException
*/
* What type of file to read from (File, URL)
* @throws IOException
*/
- public AlignFile(boolean parseImmediately, String dataObject,
+ public AlignFile(boolean parseImmediately, Object dataObject,
DataSourceType sourceType) throws IOException
{
DataSourceType sourceType) throws IOException
{
+ // BH allows File or String
super(dataObject, sourceType);
initData();
if (parseImmediately)
super(dataObject, sourceType);
initData();
if (parseImmediately)
@@
-164,6
+167,12
@@
public abstract class AlignFile extends FileParse
public AlignFile(boolean parseImmediately, FileParse source)
throws IOException
{
public AlignFile(boolean parseImmediately, FileParse source)
throws IOException
{
+ this(parseImmediately, source, true);
+ }
+
+ public AlignFile(boolean parseImmediately, FileParse source,
+ boolean closeData) throws IOException
+ {
super(source);
initData();
super(source);
initData();
@@
-173,7
+182,7
@@
public abstract class AlignFile extends FileParse
if (parseImmediately)
{
if (parseImmediately)
{
- doParse();
+ doParse(closeData);
}
}
}
}
@@
-184,6
+193,11
@@
public abstract class AlignFile extends FileParse
*/
public void doParse() throws IOException
{
*/
public void doParse() throws IOException
{
+ doParse(true);
+ }
+
+ public void doParse(boolean closeData) throws IOException
+ {
if (parseCalled)
{
throw new IOException(
if (parseCalled)
{
throw new IOException(
@@
-192,6
+206,11
@@
public abstract class AlignFile extends FileParse
}
parseCalled = true;
parse();
}
parseCalled = true;
parse();
+ if (closeData && !dataClosed)
+ {
+ dataIn.close();
+ dataClosed = true;
+ }
}
/**
}
/**