@Test public void checkOutputTest() throws Exception { String path = ""; assertEquals(path + "myFile.json.gz", VariantWriterFactory.checkOutput(path + "myFile", JSON_GZ)); assertEquals(path + "myFile.json.gz", VariantWriterFactory.checkOutput(path + "myFile.json", JSON_GZ)); assertEquals(path + "myFile.json.gz", VariantWriterFactory.checkOutput(path + "myFile.json.gz", JSON_GZ)); assertEquals(path + "myFile.json.gz", VariantWriterFactory.checkOutput(path + "myFile.json.gz.", JSON_GZ)); assertEquals(path + "myFile.stats.tsv.gz", VariantWriterFactory.checkOutput(path + "myFile.", STATS_GZ)); assertEquals(path + "myFile.stats.tsv.gz", VariantWriterFactory.checkOutput(path + "myFile", STATS_GZ)); assertEquals(path + "myFile.stats.tsv.gz", VariantWriterFactory.checkOutput(path + "myFile.stats", STATS_GZ)); assertEquals(path + "myFile.stats.tsv.gz", VariantWriterFactory.checkOutput(path + "myFile.stats.", STATS_GZ)); assertEquals(path + "myFile.stats.tsv.gz", VariantWriterFactory.checkOutput(path + "myFile.stats.tsv", STATS_GZ)); assertEquals(path + "myFile.stats.tsv.gz", VariantWriterFactory.checkOutput(path + "myFile.stats.tsv.gz", STATS_GZ)); }
@Test public void checkBadOutputTest() throws Exception { thrown.expect(IllegalArgumentException.class); VariantWriterFactory.checkOutput("path/", JSON_GZ); } }
/** * Exports the result of the given query and the associated metadata. * @param outputFileUri Optional output file. If null or empty, will print into the Standard output. Won't export any metadata. * @param outputFormat Variant Output format. * @param query Query with the variants to export * @param queryOptions Query options * @throws IOException If there is any IO error * @throws StorageEngineException If there is any error exporting variants */ public void export(@Nullable URI outputFileUri, VariantOutputFormat outputFormat, Query query, QueryOptions queryOptions) throws IOException, StorageEngineException { String outputFile = null; if (outputFileUri != null) { outputFile = outputFileUri.getPath(); } outputFile = VariantWriterFactory.checkOutput(outputFile, outputFormat); try (OutputStream os = VariantWriterFactory.getOutputStream(outputFile, outputFormat)) { boolean logProgress = !VariantWriterFactory.isStandardOutput(outputFile); exportData(os, outputFormat, query, queryOptions, logProgress); } if (metadataFactory != null && !VariantWriterFactory.isStandardOutput(outputFile)) { VariantMetadata metadata = metadataFactory.makeVariantMetadata(query, queryOptions); writeMetadata(metadata, outputFile + METADATA_FILE_EXTENSION); } }