Skip to content
Snippets Groups Projects
Commit e632e27a authored by tcarver's avatar tcarver
Browse files

check to ensure not recursively trying to read from the same file

parent b0cc9a15
No related branches found
No related tags found
No related merge requests found
...@@ -479,7 +479,7 @@ class UserDefinedQualifiers extends JFrame ...@@ -479,7 +479,7 @@ class UserDefinedQualifiers extends JFrame
*/ */
private QualifierVector loadQualifiers(final Document doc) throws IOException private QualifierVector loadQualifiers(final Document doc) throws IOException
{ {
QualifierVector qualifiers = loadObo(doc.getInputStream()); QualifierVector qualifiers = loadObo(doc);
if(qualifiers.size() == 0) if(qualifiers.size() == 0)
qualifiers = loadText(doc.getInputStream()); qualifiers = loadText(doc.getInputStream());
return qualifiers; return qualifiers;
...@@ -489,11 +489,12 @@ class UserDefinedQualifiers extends JFrame ...@@ -489,11 +489,12 @@ class UserDefinedQualifiers extends JFrame
* Load in qualifiers from an input stream that are in OBO format. * Load in qualifiers from an input stream that are in OBO format.
* @param ins * @param ins
* @return * @return
* @throws IOException
*/ */
private QualifierVector loadObo(final InputStream ins) private QualifierVector loadObo(final Document doc) throws IOException
{ {
final LinePushBackReader reader = new LinePushBackReader( final LinePushBackReader reader = new LinePushBackReader(
new BufferedReader(new InputStreamReader(ins))); new BufferedReader(new InputStreamReader(doc.getInputStream())));
final QualifierVector qualifiers = new QualifierVector(); final QualifierVector qualifiers = new QualifierVector();
try try
{ {
...@@ -539,8 +540,11 @@ class UserDefinedQualifiers extends JFrame ...@@ -539,8 +540,11 @@ class UserDefinedQualifiers extends JFrame
else if(line.startsWith("import:")) else if(line.startsWith("import:"))
{ {
// import OBO file from a URL // import OBO file from a URL
final URL url = new URL(line.substring(7).trim()); final URLDocument urlDoc = new URLDocument(
createObo(new URLDocument(url)); new URL(line.substring(7).trim()) );
// check to ensure not recursively reading from same file
if(!doc.getLocation().equals(urlDoc.getLocation()))
createObo(urlDoc);
} }
} }
reader.close(); reader.close();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment