git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
35ce460
)
JAL-2344 now flagging formats as 'identifiable' instead of 'dynamic'
author
gmungoc
<g.m.carstairs@dundee.ac.uk>
Thu, 12 Jan 2017 09:05:56 +0000
(09:05 +0000)
committer
gmungoc
<g.m.carstairs@dundee.ac.uk>
Thu, 12 Jan 2017 09:05:56 +0000
(09:05 +0000)
src/jalview/gui/Desktop.java
patch
|
blob
|
history
src/jalview/io/FileFormat.java
patch
|
blob
|
history
src/jalview/io/FileFormats.java
patch
|
blob
|
history
test/jalview/io/FileFormatsTest.java
patch
|
blob
|
history
diff --git
a/src/jalview/gui/Desktop.java
b/src/jalview/gui/Desktop.java
index
c09adea
..
4ce42dc
100644
(file)
--- a/
src/jalview/gui/Desktop.java
+++ b/
src/jalview/gui/Desktop.java
@@
-1033,15
+1033,14
@@
public class Desktop extends jalview.jbgui.GDesktop implements
* Skip this step for dynamically added file formats, because
* IdentifyFile does not know how to recognise them.
*/
* Skip this step for dynamically added file formats, because
* IdentifyFile does not know how to recognise them.
*/
- boolean dynamicFormat = FileFormats.getInstance().isDynamic(format);
- if (!dynamicFormat && !FileFormat.Jalview.equals(format))
+ if (FileFormats.getInstance().isIdentifiable(format))
{
try
{
format = new IdentifyFile().identify(choice, DataSourceType.FILE);
} catch (FileFormatException e)
{
{
try
{
format = new IdentifyFile().identify(choice, DataSourceType.FILE);
} catch (FileFormatException e)
{
- // format is null
+ // format = null; //??
}
}
}
}
diff --git
a/src/jalview/io/FileFormat.java
b/src/jalview/io/FileFormat.java
index
5a95a9e
..
a11147c
100644
(file)
--- a/
src/jalview/io/FileFormat.java
+++ b/
src/jalview/io/FileFormat.java
@@
-332,6
+332,12
@@
public enum FileFormat implements FileFormatI
{
return false;
}
{
return false;
}
+
+ @Override
+ public boolean isIdentifiable()
+ {
+ return false;
+ }
};
private boolean writable;
};
private boolean writable;
@@
-405,4
+411,14
@@
public enum FileFormat implements FileFormatI
{
return false;
}
{
return false;
}
+
+ /**
+ * By default, answers true, indicating the format is one that can be
+ * identified by IdentifyFile. Formats that cannot be identified should
+ * override this method to return false.
+ */
+ public boolean isIdentifiable()
+ {
+ return true;
+ }
}
}
diff --git
a/src/jalview/io/FileFormats.java
b/src/jalview/io/FileFormats.java
index
a18d4e8
..
158489e
100644
(file)
--- a/
src/jalview/io/FileFormats.java
+++ b/
src/jalview/io/FileFormats.java
@@
-26,10
+26,9
@@
public class FileFormats
private static Map<String, FileFormatI> formats;
/*
private static Map<String, FileFormatI> formats;
/*
- * Formats in this set are built in to Jalview and instantiated
- * on startup, any others are added dynamically
+ * Formats in this set are capable of being identified by IdentifyFile
*/
*/
- private static Set<FileFormatI> builtIn;
+ private static Set<FileFormatI> identifiable;
public static FileFormats getInstance()
{
public static FileFormats getInstance()
{
@@
-52,21
+51,20
@@
public class FileFormats
public synchronized void reset()
{
formats = new LinkedHashMap<String, FileFormatI>();
public synchronized void reset()
{
formats = new LinkedHashMap<String, FileFormatI>();
- builtIn = new HashSet<FileFormatI>();
+ identifiable = new HashSet<FileFormatI>();
for (FileFormat format : FileFormat.values())
{
for (FileFormat format : FileFormat.values())
{
- registerFileFormat(format, true);
+ registerFileFormat(format, format.isIdentifiable());
}
}
/**
}
}
/**
- * Answers false if the format is one 'built in' to Jalview, or true if not
- * (meaning it has been added dynamically at runtime). Only built-in formats
- * can be validated by IdentifyFile. Answers true for a null input.
+ * Answers true if the format is one that can be identified by IdentifyFile.
+ * Answers false for a null value.
*/
*/
- public boolean isDynamic(FileFormatI f)
+ public boolean isIdentifiable(FileFormatI f)
{
{
- return !builtIn.contains(f);
+ return identifiable.contains(f);
}
/**
}
/**
@@
-80,7
+78,7
@@
public class FileFormats
}
protected void registerFileFormat(FileFormatI format,
}
protected void registerFileFormat(FileFormatI format,
- boolean isBuiltIn)
+ boolean isIdentifiable)
{
String name = format.getName().toUpperCase();
if (formats.containsKey(name))
{
String name = format.getName().toUpperCase();
if (formats.containsKey(name))
@@
-88,9
+86,9
@@
public class FileFormats
System.err.println("Overwriting file format: " + format.getName());
}
formats.put(name, format);
System.err.println("Overwriting file format: " + format.getName());
}
formats.put(name, format);
- if (isBuiltIn)
+ if (isIdentifiable)
{
{
- builtIn.add(format);
+ identifiable.add(format);
}
}
}
}
@@
-102,7
+100,7
@@
public class FileFormats
public void deregisterFileFormat(String name)
{
FileFormatI ff = formats.remove(name.toUpperCase());
public void deregisterFileFormat(String name)
{
FileFormatI ff = formats.remove(name.toUpperCase());
- builtIn.remove(ff);
+ identifiable.remove(ff);
}
/**
}
/**
diff --git
a/test/jalview/io/FileFormatsTest.java
b/test/jalview/io/FileFormatsTest.java
index
542336f
..
8df228f
100644
(file)
--- a/
test/jalview/io/FileFormatsTest.java
+++ b/
test/jalview/io/FileFormatsTest.java
@@
-26,9
+26,9
@@
public class FileFormatsTest
FileFormats formats = FileFormats.getInstance();
for (FileFormatI ff : FileFormat.values())
{
FileFormats formats = FileFormats.getInstance();
for (FileFormatI ff : FileFormat.values())
{
- assertFalse(formats.isDynamic(ff));
+ assertFalse(formats.isIdentifiable(ff));
}
}
- assertTrue(formats.isDynamic(null));
+ assertTrue(formats.isIdentifiable(null));
/*
* remove and re-add a format: it is now considered 'dynamically added'
/*
* remove and re-add a format: it is now considered 'dynamically added'
@@
-38,7
+38,7
@@
public class FileFormatsTest
formats.registerFileFormat(FileFormat.Fasta);
assertSame(FileFormat.Fasta,
formats.forName(FileFormat.Fasta.getName()));
formats.registerFileFormat(FileFormat.Fasta);
assertSame(FileFormat.Fasta,
formats.forName(FileFormat.Fasta.getName()));
- assertTrue(formats.isDynamic(FileFormat.Fasta));
+ assertTrue(formats.isIdentifiable(FileFormat.Fasta));
}
@Test(groups = "Functional")
}
@Test(groups = "Functional")
@@
-104,7
+104,7
@@
public class FileFormatsTest
FileFormats formats = FileFormats.getInstance();
assertSame(FileFormat.MMCif,
formats.forName(FileFormat.MMCif.getName()));
FileFormats formats = FileFormats.getInstance();
assertSame(FileFormat.MMCif,
formats.forName(FileFormat.MMCif.getName()));
- assertFalse(formats.isDynamic(FileFormat.MMCif));
+ assertFalse(formats.isIdentifiable(FileFormat.MMCif));
/*
* deregister mmCIF format
/*
* deregister mmCIF format
@@
-119,7
+119,7
@@
public class FileFormatsTest
formats.registerFileFormat(FileFormat.MMCif);
assertSame(FileFormat.MMCif,
formats.forName(FileFormat.MMCif.getName()));
formats.registerFileFormat(FileFormat.MMCif);
assertSame(FileFormat.MMCif,
formats.forName(FileFormat.MMCif.getName()));
- assertTrue(formats.isDynamic(FileFormat.MMCif));
+ assertTrue(formats.isIdentifiable(FileFormat.MMCif));
// repeating does nothing
formats.registerFileFormat(FileFormat.MMCif);
assertSame(FileFormat.MMCif,
// repeating does nothing
formats.registerFileFormat(FileFormat.MMCif);
assertSame(FileFormat.MMCif,