Skip to content

Commit 9609689

Browse files
authored
Feature/command completion (#344)
* Phase 1 implementation, Bash completion * Knock down deprecation
1 parent 859a370 commit 9609689

File tree

19 files changed

+2895
-1862
lines changed

19 files changed

+2895
-1862
lines changed

seqware-common/src/main/java/net/sourceforge/seqware/common/util/filetools/ProvisionFilesUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ private boolean putToS3(InputStream reader, String output, boolean fullOutputPat
512512
omd.setContentLength(this.inputSize);
513513
// just encrypt everything via Server-Side encryption, see
514514
// http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingJavaSDK.html
515-
omd.setServerSideEncryption(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION);
515+
omd.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION);
516516
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
517517
ClientConfiguration config = new ClientConfiguration();
518518
config.setConnectionTimeout(connectionTimeout);
@@ -602,12 +602,12 @@ private boolean waitForS3Upload(Transfer myUpload) {
602602
// FIXME: this doesn't try to reconnect via a new reader if things go badly
603603
while (myUpload.isDone() == false) {
604604
if (isVerbose()) {
605-
float percent = (myUpload.getProgress().getBytesTransfered() * 100.0f) / this.inputSize;
605+
float percent = (myUpload.getProgress().getBytesTransferred() * 100.0f) / this.inputSize;
606606
System.out.printf(" + completed: %.2f", percent);
607607
System.out.print("%\r");
608608
Log.info("Transfer: " + myUpload.getDescription());
609609
Log.info(" - State: " + myUpload.getState());
610-
Log.info(" - Progress: " + myUpload.getProgress().getBytesTransfered() + " of " + this.inputSize);
610+
Log.info(" - Progress: " + myUpload.getProgress().getBytesTransferred() + " of " + this.inputSize);
611611
}
612612
// Do work while we wait for our upload to complete...
613613
if (myUpload.getState() == TransferState.Failed) {

seqware-ext-admin-testing/src/main/java/net/sourceforge/seqware/pipeline/plugins/ITUtility.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
import java.io.File;
3131
import java.io.IOException;
32+
import java.nio.charset.StandardCharsets;
3233
import java.util.Map;
3334
import java.util.regex.Matcher;
3435
import java.util.regex.Pattern;
@@ -196,11 +197,11 @@ public static String runArbitraryCommand(String line, int expectedReturnValue, F
196197
if (exitValue != expectedReturnValue){
197198
throw new RuntimeException("exit value for full jar with no params should be " + expectedReturnValue + " was " + exitValue);
198199
}
199-
String output = outputStream.toString();
200+
String output = outputStream.toString(StandardCharsets.UTF_8);
200201
return output;
201202
} catch (ExecuteException e) {
202203
Log.error("Execution failed with:");
203-
Log.error(outputStream.toString());
204+
Log.error(outputStream.toString(StandardCharsets.UTF_8));
204205
throw e;
205206
}
206207
}

seqware-ext-admin-testing/src/test/java/net/sourceforge/seqware/pipeline/plugins/DeleteDBET.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@
1616
*/
1717
package net.sourceforge.seqware.pipeline.plugins;
1818

19-
import java.io.File;
20-
import java.io.IOException;
21-
import java.util.regex.Matcher;
22-
import java.util.regex.Pattern;
2319
import io.seqware.common.model.WorkflowRunStatus;
2420
import net.sourceforge.seqware.common.module.ReturnValue;
2521
import org.apache.commons.dbutils.handlers.ArrayHandler;
@@ -28,6 +24,12 @@
2824
import org.junit.BeforeClass;
2925
import org.junit.Test;
3026

27+
import java.io.File;
28+
import java.io.IOException;
29+
import java.nio.charset.StandardCharsets;
30+
import java.util.regex.Matcher;
31+
import java.util.regex.Pattern;
32+
3133
/**
3234
* These tests support command-line tools found in the SeqWare User Tutorial, in this case, DeleteDB
3335
*
@@ -129,7 +131,7 @@ public void testFailureDueToEmptyKeyFile() throws IOException {
129131
@Test
130132
public void testFailureDueToCorruptKeyFile() throws IOException {
131133
File createTempFile = File.createTempFile("deletion", "keyFile");
132-
FileUtils.write(createTempFile, "crap data");
134+
FileUtils.write(createTempFile, "crap data", StandardCharsets.UTF_8);
133135
String listCommand = "-p net.sourceforge.seqware.pipeline.plugins.deletion.DeletionDB " + "-- --r 6691 -k " + createTempFile;
134136
ITUtility.runSeqWareJar(listCommand, ReturnValue.INVALIDFILE, null);
135137
}

seqware-ext-testing/src/test/java/net/sourceforge/seqware/pipeline/plugins/PluginRunnerET.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,22 @@
22

33
import com.google.common.io.Files;
44
import io.seqware.pipeline.SqwKeys;
5+
import net.sourceforge.seqware.common.module.ReturnValue;
6+
import net.sourceforge.seqware.common.util.Log;
7+
import net.sourceforge.seqware.common.util.configtools.ConfigTools;
8+
import net.sourceforge.seqware.pipeline.runner.PluginRunner;
9+
import org.apache.commons.io.FileUtils;
10+
import org.junit.AfterClass;
11+
import org.junit.Assert;
12+
import org.junit.BeforeClass;
13+
import org.junit.Test;
14+
import org.springframework.util.SerializationUtils;
15+
516
import java.io.File;
617
import java.io.FileWriter;
718
import java.io.IOException;
819
import java.io.PrintWriter;
20+
import java.nio.charset.StandardCharsets;
921
import java.util.ArrayList;
1022
import java.util.HashMap;
1123
import java.util.List;
@@ -18,16 +30,6 @@
1830
import java.util.concurrent.ExecutorCompletionService;
1931
import java.util.concurrent.ExecutorService;
2032
import java.util.concurrent.Executors;
21-
import org.junit.Assert;
22-
import net.sourceforge.seqware.common.module.ReturnValue;
23-
import net.sourceforge.seqware.common.util.Log;
24-
import net.sourceforge.seqware.common.util.configtools.ConfigTools;
25-
import net.sourceforge.seqware.pipeline.runner.PluginRunner;
26-
import org.apache.commons.io.FileUtils;
27-
import org.junit.AfterClass;
28-
import org.junit.BeforeClass;
29-
import org.junit.Test;
30-
import org.springframework.util.SerializationUtils;
3133

3234
/*
3335
* Copyright (C) 2013 SeqWare
@@ -421,7 +423,7 @@ public File exportINIFile(String name, Integer accession, boolean newCLI) throws
421423
String listCommand = " workflow ini --accession " + accession + " --out " + workflowIni.getAbsolutePath();
422424
ITUtility.runSeqwareCLI(listCommand, ReturnValue.SUCCESS, null);
423425
// new command line does not go to stdout
424-
listOutput = FileUtils.readFileToString(workflowIni);
426+
listOutput = FileUtils.readFileToString(workflowIni, StandardCharsets.UTF_8);
425427
} else {
426428
Log.info("Attempting to export parameters for " + name);
427429
String listCommand = "-p net.sourceforge.seqware.pipeline.plugins.BundleManager -- --list-workflow-params --workflow-accession "
@@ -475,7 +477,7 @@ public String call() {
475477
String tOutput = ITUtility.runSeqWareJar("-p io.seqware.pipeline.plugins.WorkflowLifecycle -- " + command,
476478
ReturnValue.SUCCESS, null);
477479
Log.error(command + " completed, writing output to " + output.getAbsolutePath());
478-
FileUtils.write(output, tOutput);
480+
FileUtils.write(output, tOutput, StandardCharsets.UTF_8);
479481
return tOutput;
480482
} catch (IOException ex) {
481483
Log.error("IOException while running " + command, ex);

seqware-ext-testing/src/test/java/net/sourceforge/seqware/pipeline/plugins/ProvisionFilesET.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import java.io.File;
2828
import java.io.IOException;
29+
import java.nio.charset.StandardCharsets;
2930
import java.util.Map;
3031
import java.util.Random;
3132

@@ -85,14 +86,14 @@ public void provisionInAndOut() throws IOException {
8586
Assert.assertTrue("file locations do not differ: " + retrievedFile.getAbsolutePath() + "vs" + provisionedFile.getAbsolutePath(),
8687
!retrievedFile.getAbsolutePath().equals(provisionedFile.getAbsolutePath()));
8788
Assert.assertTrue("file contents not the same",
88-
FileUtils.readFileToString(retrievedFile).equals(FileUtils.readFileToString(provisionedFile)));
89+
FileUtils.readFileToString(retrievedFile, StandardCharsets.UTF_8).equals(FileUtils.readFileToString(provisionedFile, StandardCharsets.UTF_8)));
8990
}
9091

9192
public File provisionFileWithRandomInput(String sampleAccession) throws IOException {
9293
// create a random new file and check that the file we want to provision exists
9394
File inputFile = File.createTempFile("input", "out");
9495
final String content = "This is a funky funky test file";
95-
FileUtils.write(inputFile, content);
96+
FileUtils.write(inputFile, content, StandardCharsets.UTF_8);
9697

9798
File metadataFile = File.createTempFile("metadata", "out");
9899

@@ -112,11 +113,11 @@ public File provisionFileWithRandomInput(String sampleAccession) throws IOExcept
112113
// check that file was ended up being provisioned correctly
113114
File provisioned = new File(getDatastorePrefix() + inputFile.getName());
114115
Assert.assertTrue("file did not end up in final location", provisioned.exists());
115-
String contents = FileUtils.readFileToString(provisioned).trim();
116+
String contents = FileUtils.readFileToString(provisioned, StandardCharsets.UTF_8).trim();
116117
Assert.assertTrue("file contents not as expected", contents.equals(content));
117118

118119
// check on metadata file
119-
String metadataContent = FileUtils.readFileToString(metadataFile).trim();
120+
String metadataContent = FileUtils.readFileToString(metadataFile, StandardCharsets.UTF_8).trim();
120121
try {
121122
int processingInt = Integer.parseInt(metadataContent);
122123
Log.info("provisioned file as sw_accession: " + processingInt);

seqware-ext-testing/src/test/java/net/sourceforge/seqware/pipeline/plugins/WorkflowRunReporterET.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ public void emptyDateRange() throws IOException {
162162
File testOutFile = new File(createTempDir, randomString + ".txt");
163163
String listCommand = "-p net.sourceforge.seqware.pipeline.plugins.WorkflowRunReporter " + "-- --output-filename "
164164
+ testOutFile.getName() + " --workflow-accession 2861 --time-period 2014-01-01";
165-
String listOutput = ITUtility.runSeqWareJar(listCommand, ReturnValue.SUCCESS, createTempDir);
165+
ITUtility.runSeqWareJar(listCommand, ReturnValue.SUCCESS, createTempDir);
166166
File retrievedFile = new File(createTempDir, testOutFile.getName());
167167
Assert.assertTrue("output file does not exist", retrievedFile.exists());
168-
List<String> readLines = FileUtils.readLines(testOutFile);
168+
List<String> readLines = FileUtils.readLines(testOutFile, StandardCharsets.UTF_8);
169169
Assert.assertTrue("incorrect number of lines ", readLines.size() == 1);
170170
long checksumCRC32 = FileUtils.checksumCRC32(testOutFile);
171171
Assert.assertTrue("incorrect output checksum " + checksumCRC32, checksumCRC32 == 1649363086L);

0 commit comments

Comments
 (0)