import jalview.util.MessageManager;
import jalview.util.Platform;
import jalview.ws.jws2.Jws2Discoverer;
-//import netscape.javascript.JSObject;
/**
* Main class for Jalview Application <br>
"Creating image map: " + imageFile.getAbsolutePath());
continue;
default:
- format = FileFormats.getInstance().forName(outputFormat);
- if (format == null)
- {
- System.out.println("Invalid file format: " + outputFormat);
- break;
- }
- fname = new File(aparser.nextValue()).getAbsolutePath();
- af.saveAlignment(fname, format);
- if (!af.isSaveAlignmentSuccessful())
- {
- System.out.println("Error writing file " + fname + " in " + format
- + " format!!");
- break;
- }
- continue;
+ // fall through - try to parse as an alignment data export format
+ FileFormatI outFormat=null;
+ try {
+ outFormat = FileFormats.getInstance().forName(outputFormat);
+ } catch (Exception formatP) {
+ }
+ if (outFormat==null) {
+ System.out.println("Couldn't parse "+outputFormat+" as a valid Jalview format string.");
+ continue;
+ }
+ if (!outFormat.isWritable())
+ {
+ System.out.println(
+ "This version of Jalview does not support alignment export as "
+ + outputFormat);
+ continue;
+ }
+ // record file as it was passed to Jalview so it is recognisable to the CLI caller
+ String file;
+ fname = new File(file=aparser.nextValue()).getAbsolutePath();
+ // JBPNote - yuck - really wish we did have a bean returned from this which gave success/fail like before !
+ af.saveAlignment(fname, outFormat);
+ if (!af.isSaveAlignmentSuccessful())
+ {
+ System.out.println("Written alignment in " + outputFormat
+ + " format to " + file);
+ continue;
+ } else {
+ System.out.println("Error writing file " + file + " in "
+ + outputFormat + " format!!");
+ }
}
- System.out.println("Unknown arg: " + outputFormat);
- break;
}
+ // ??? Should report - 'ignoring' extra args here...
while (aparser.getSize() > 0)
{
- System.out.println("Unknown arg: " + aparser.nextValue());
+ System.out.println("Ignoring extra argument: " + aparser.nextValue());
}
}
*/
package jalview.bin;
+import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import jalview.gui.JvOptionPane;
+import jalview.io.DataSourceType;
+import jalview.io.FileFormat;
+import jalview.io.FileFormatException;
+import jalview.io.FileFormatI;
+import jalview.io.FileFormats;
+import jalview.io.IdentifyFile;
import java.io.BufferedReader;
import java.io.File;
dataProvider = "headlessModeOutputOperationsData")
public void testHeadlessModeOutputOperations(String harg, String type,
String fileName, boolean withAWT, int expectedMinFileSize,
- int timeout)
+ int timeout, String fileFormatType)
{
String cmd = harg + type + " " + fileName;
// System.out.println(">>>>>>>>>>>>>>>> Command : " + cmd);
assertTrue(file.exists(), msg);
FileAssert.assertFile(file, msg);
FileAssert.assertMinLength(file, expectedMinFileSize);
+ if (fileFormatType!=null && fileFormatType.length()>0)
+ {
+ FileFormatI format = FileFormats.getInstance()
+ .forName(fileFormatType);
+ if (format!=null)
+ {
+ try
+ {
+ FileFormatI exportedType = new IdentifyFile()
+ .identify(file.getAbsolutePath(), DataSourceType.FILE);
+ assertEquals(exportedType, format,
+ "Exported file type was wrong");
+ } catch (FileFormatException e)
+ {
+ Assert.fail("Couldn't identify file " + file
+ + " as an alignment format", e);
+ }
+ }
+ }
if (worker != null && worker.exit == null)
{
worker.interrupt();
String workingDir = "test/jalview/bin/";
return new Object[][] { { "nodisplay -open examples/uniref50.fa",
" -eps", workingDir + "test_uniref50_out.eps", true,
- MINFILESIZE_BIG, TEST_TIMEOUT },
+ MINFILESIZE_BIG, TEST_TIMEOUT, null },
{ "nodisplay -open examples/uniref50.fa", " -eps",
workingDir + "test_uniref50_out.eps", false,
- MINFILESIZE_BIG, TEST_TIMEOUT },
+ MINFILESIZE_BIG, TEST_TIMEOUT, null },
{ "nogui -open examples/uniref50.fa", " -eps",
workingDir + "test_uniref50_out.eps", true, MINFILESIZE_BIG,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, null },
{ "nogui -open examples/uniref50.fa", " -eps",
workingDir + "test_uniref50_out.eps", false,
- MINFILESIZE_BIG, TEST_TIMEOUT },
+ MINFILESIZE_BIG, TEST_TIMEOUT, null },
{ "headless -open examples/uniref50.fa", " -eps",
workingDir + "test_uniref50_out.eps", true, MINFILESIZE_BIG,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, null },
{ "headless -open examples/uniref50.fa", " -svg",
workingDir + "test_uniref50_out.svg", false,
- MINFILESIZE_BIG, TEST_TIMEOUT },
+ MINFILESIZE_BIG, TEST_TIMEOUT, null },
{ "headless -open examples/uniref50.fa", " -png",
workingDir + "test_uniref50_out.png", true, MINFILESIZE_BIG,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, null },
{ "headless -open examples/uniref50.fa", " -html",
workingDir + "test_uniref50_out.html", true,
- MINFILESIZE_BIG, TEST_TIMEOUT },
+ MINFILESIZE_BIG, TEST_TIMEOUT, null },
{ "headless -open examples/uniref50.fa", " -fasta",
workingDir + "test_uniref50_out.mfa", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.Fasta.toString() },
{ "headless -open examples/uniref50.fa", " -clustal",
workingDir + "test_uniref50_out.aln", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.Clustal.toString() },
{ "headless -open examples/uniref50.fa", " -msf",
workingDir + "test_uniref50_out.msf", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.MSF.toString() },
{ "headless -open examples/uniref50.fa", " -pileup",
workingDir + "test_uniref50_out.aln", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.Pileup.toString() },
{ "headless -open examples/uniref50.fa", " -pir",
workingDir + "test_uniref50_out.pir", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.PIR.toString() },
{ "headless -open examples/uniref50.fa", " -pfam",
workingDir + "test_uniref50_out.pfam", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.Pfam.toString() },
{ "headless -open examples/uniref50.fa", " -blc",
workingDir + "test_uniref50_out.blc", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT },
+ TEST_TIMEOUT, FileFormat.BLC.toString() },
{ "headless -open examples/uniref50.fa", " -jalview",
workingDir + "test_uniref50_out.jvp", true, MINFILESIZE_SMALL,
- TEST_TIMEOUT }, };
+ TEST_TIMEOUT, FileFormat.Jalview.toString() }, };
}
}