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-34 - quick hack to see how we can do alignment comparison for splitframes linking...
[jalview.git]
/
src
/
jalview
/
io
/
IdentifyFile.java
diff --git
a/src/jalview/io/IdentifyFile.java
b/src/jalview/io/IdentifyFile.java
index
5a3d700
..
baee531
100755
(executable)
--- a/
src/jalview/io/IdentifyFile.java
+++ b/
src/jalview/io/IdentifyFile.java
@@
-20,10
+20,11
@@
*/
package jalview.io;
*/
package jalview.io;
-import java.util.Locale;
-
import java.io.File;
import java.io.IOException;
import java.io.File;
import java.io.IOException;
+import java.util.Locale;
+
+import jalview.bin.Console;
/**
* DOCUMENT ME!
/**
* DOCUMENT ME!
@@
-33,12
+34,16
@@
import java.io.IOException;
*/
public class IdentifyFile
{
*/
public class IdentifyFile
{
-
- public FileFormatI identify(Object file, DataSourceType protocol) throws FileFormatException
+
+ private static final String XMLHEADER = "<?XML VERSION=\"1.0\" ENCODING=\"UTF-8\" STANDALONE=\"YES\"?>";
+
+ public FileFormatI identify(Object file, DataSourceType protocol)
+ throws FileFormatException
{
// BH 2018
{
// BH 2018
- return (file instanceof File ? identify((File) file, protocol) : identify((String) file, protocol));
-
+ return (file instanceof File ? identify((File) file, protocol)
+ : identify((String) file, protocol));
+
}
public FileFormatI identify(File file, DataSourceType sourceType)
}
public FileFormatI identify(File file, DataSourceType sourceType)
@@
-56,8
+61,7
@@
public class IdentifyFile
}
} catch (Exception e)
{
}
} catch (Exception e)
{
- System.err.println("Error whilst identifying " + file);
- e.printStackTrace(System.err);
+ Console.error("Error whilst identifying " + file, e);
emessage = e.getMessage();
}
if (parser != null)
emessage = e.getMessage();
}
if (parser != null)
@@
-92,8
+96,7
@@
public class IdentifyFile
}
} catch (Exception e)
{
}
} catch (Exception e)
{
- System.err.println("Error whilst identifying " + file);
- e.printStackTrace(System.err);
+ Console.error("Error whilst identifying " + file, e);
emessage = e.getMessage();
}
if (parser != null)
emessage = e.getMessage();
}
if (parser != null)
@@
-133,6
+136,7
@@
public class IdentifyFile
String data;
int bytesRead = 0;
int trimmedLength = 0;
String data;
int bytesRead = 0;
int trimmedLength = 0;
+ boolean isXml = false; // set true if first line is XMLHEADER
boolean lineswereskipped = false;
boolean isBinary = false; // true if length is non-zero and non-printable
// characters are encountered
boolean lineswereskipped = false;
boolean isBinary = false; // true if length is non-zero and non-printable
// characters are encountered
@@
-167,8
+171,8
@@
public class IdentifyFile
if (source.inFile != null)
{
String fileStr = source.inFile.getName();
if (source.inFile != null)
{
String fileStr = source.inFile.getName();
- if (fileStr.contains(".jar")
- || fileStr.contains(".zip") || fileStr.contains(".jvp"))
+ if (fileStr.contains(".jar") || fileStr.contains(".zip")
+ || fileStr.contains(".jvp"))
{
// possibly a Jalview archive (but check further)
reply = FileFormat.Jalview;
{
// possibly a Jalview archive (but check further)
reply = FileFormat.Jalview;
@@
-187,6
+191,10
@@
public class IdentifyFile
reply = FileFormat.ScoreMatrix;
break;
}
reply = FileFormat.ScoreMatrix;
break;
}
+ if (data.startsWith(XMLHEADER) && !lineswereskipped)
+ {
+ isXml = true;
+ }
if (data.startsWith("LOCUS"))
{
reply = FileFormat.GenBank;
if (data.startsWith("LOCUS"))
{
reply = FileFormat.GenBank;
@@
-345,6
+353,12
@@
public class IdentifyFile
reply = FileFormat.Rnaml;
break;
}
reply = FileFormat.Rnaml;
break;
}
+ if (isXml && data.contains(
+ "<NS2:JALVIEWUSERCOLOURS SCHEMENAME=\"SEQUENCE FEATURES\" XMLNS:NS2=\"WWW.JALVIEW.ORG/COLOURS\">"))
+ {
+ reply = FileFormat.FeatureSettings;
+ break;
+ }
}
if ((data.length() < 1) || (data.indexOf("#") == 0))
}
if ((data.length() < 1) || (data.indexOf("#") == 0))
@@
-406,16
+420,15
@@
public class IdentifyFile
}
} catch (Exception ex)
{
}
} catch (Exception ex)
{
- System.err.println("File Identification failed!\n" + ex);
+ Console.error("File Identification failed!\n" + ex);
throw new FileFormatException(source.errormessage);
}
if (trimmedLength == 0)
{
throw new FileFormatException(source.errormessage);
}
if (trimmedLength == 0)
{
- System.err.println(
- "File Identification failed! - Empty file was read.");
+ Console.error("File Identification failed! - Empty file was read.");
throw new FileFormatException("EMPTY DATA FILE");
}
throw new FileFormatException("EMPTY DATA FILE");
}
- System.out.println("File format identified as " + reply.toString());
+ Console.debug("File format identified as " + reply.toString());
return reply;
}
return reply;
}
@@
-483,17
+496,16
@@
public class IdentifyFile
type = ider.identify(args[i], DataSourceType.FILE);
} catch (FileFormatException e)
{
type = ider.identify(args[i], DataSourceType.FILE);
} catch (FileFormatException e)
{
- System.err.println(
+ Console.error(
String.format("Error '%s' identifying file type for %s",
args[i], e.getMessage()));
}
String.format("Error '%s' identifying file type for %s",
args[i], e.getMessage()));
}
- System.out.println("Type of " + args[i] + " is " + type);
+ Console.debug("Type of " + args[i] + " is " + type);
}
if (args == null || args.length == 0)
{
}
if (args == null || args.length == 0)
{
- System.err.println("Usage: <Filename> [<Filename> ...]");
+ Console.error("Usage: <Filename> [<Filename> ...]");
}
}
}
}
-
}
}