Skip to content

Commit 5a875e4

Browse files
committed
Change default values and option data types
1 parent baf5dbb commit 5a875e4

File tree

3 files changed

+36
-32
lines changed

3 files changed

+36
-32
lines changed

swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/CliRunner.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
import picocli.CommandLine;
44

5-
import java.util.Arrays;
5+
import java.util.Collections;
66
import java.util.List;
77
import java.util.concurrent.Callable;
88

99
@CommandLine.Command(name = "SWAN CLI", mixinStandardHelpOptions = true,
1010
version = "SWAN 3.0.1", description = "")
11-
public
12-
class CliRunner implements Callable<Integer> {
11+
public class CliRunner implements Callable<Integer> {
1312

1413
@CommandLine.Option(names = {"-test", "--test-data"}, description = {"Path of test JARs or class files"})
1514
private String testDataDir = "/input/test-data";
@@ -23,19 +22,19 @@ class CliRunner implements Callable<Integer> {
2322
@CommandLine.Option(names = {"-o", "--output"}, description = {"Directory to save output files"})
2423
private String outputDir = "/swan-output";
2524

26-
@CommandLine.Option(names = {"-f", "--feature"}, description = {"Feature set: 0 - SWAN; 1 - SWANDOC-AUTO; 2 - SWANDOC-MANUAL; 3 - SWAN-SWANDOC-MANUAL; 4 - SWAN-SWANDOC-AUTO"})
27-
private String featureSet = "0";
25+
@CommandLine.Option(names = {"-f", "--feature"}, description = {"Select one or more feature sets: all, code, doc-auto or doc-manual"})
26+
private List<String> featureSet = Collections.singletonList("code");
2827

2928
@CommandLine.Option(names = {"-l", "--learning"}, description = {"Learning modes: manual, auto"})
3029
private String learningMode = "manual";
3130

32-
@CommandLine.Option(names = {"-s", "--srm"}, description = {"SRM: all, source, sink, sanitizer, authentication"})
33-
private List<String> srmClasses = Arrays.asList("all");
31+
@CommandLine.Option(names = {"-s", "--srm"}, description = {"SRM: all, source, sink, sanitizer, authentication, relevant"})
32+
private List<String> srmClasses = Collections.singletonList("all");
3433

3534
@CommandLine.Option(names = {"-c", "--cwe"}, description = {"CWE: all, cwe078, cwe079, cwe089, cwe306, cwe601, cwe862, cwe863"})
36-
private List<String> cweClasses = Arrays.asList("all");
35+
private List<String> cweClasses = Collections.singletonList("all");
3736

38-
@CommandLine.Option(names = {"-", "--arff-data"}, description = {"Export training ARFF files"})
37+
@CommandLine.Option(names = {"-arff", "--arff-data"}, description = {"Export training ARFF files"})
3938
private boolean exportArffData = true;
4039

4140
@CommandLine.Option(names = {"-doc", "--documented"}, description = {"Use only methods with Javadoc"})

swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanCli.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ public Integer run(SwanOptions options) throws Exception {
2222
options.setDatasetJson(fileUtility.getResourceFile(options.getDatasetJson()).getAbsolutePath());
2323
}
2424

25-
if (options.getTrainData().contentEquals("/input/train-data")) {
26-
options.setTrainData(fileUtility.getResourceDirectory("/input/train-data").getAbsolutePath());
25+
if (options.getTrainDataDir().contentEquals("/input/train-data")) {
26+
options.setTrainDataDir(fileUtility.getResourceDirectory("/input/train-data").getAbsolutePath());
2727
}
2828

29-
if (options.getTestData().contentEquals("/input/test-data")) {
30-
options.setTestData(fileUtility.getResourceDirectory("/input/test-data").getAbsolutePath());
29+
if (options.getTestDataDir().contentEquals("/input/test-data")) {
30+
options.setTestDataDir(fileUtility.getResourceDirectory("/input/test-data").getAbsolutePath());
3131
}
3232

3333
if(options.getSrmClasses().contains("all")){
@@ -38,6 +38,10 @@ public Integer run(SwanOptions options) throws Exception {
3838
options.setCweClasses(Arrays.asList("cwe078", "cwe079", "cwe089", "cwe306", "cwe601", "cwe862", "cwe863"));
3939
}
4040

41+
if(options.getFeatureSet().contains("all")){
42+
options.setFeatureSet(Arrays.asList("code", "doc-manual", "doc-auto"));
43+
}
44+
4145
logger.info("SWAN options: {}", options);
4246

4347
try {

swan-pipeline/src/main/java/de/fraunhofer/iem/swan/cli/SwanOptions.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
*/
88
public class SwanOptions {
99

10-
private String testData;
11-
private String trainData;
10+
private String testDataDir;
11+
private String trainDataDir;
1212
private String datasetJson;
1313
private String outputDir;
14-
private String featureSet;
14+
private List<String> featureSet;
1515
private String learningMode;
1616
private List<String> srmClasses;
1717
private List<String> cweClasses;
@@ -20,10 +20,11 @@ public class SwanOptions {
2020
private int iterations;
2121
private double trainTestSplit;
2222

23-
public SwanOptions(String testData, String trainData, String datasetJson, String outputDir, String featureSet,
24-
String learningMode, List<String> srmClasses, List<String> cweClasses, boolean exportArffData) {
25-
this.testData = testData;
26-
this.trainData = trainData;
23+
public SwanOptions(String testDataDir, String trainDataDir, String datasetJson, String outputDir,
24+
List<String> featureSet, String learningMode, List<String> srmClasses, List<String> cweClasses,
25+
boolean exportArffData, boolean isDocumented, int iterations, double trainTestSplit) {
26+
this.testDataDir = testDataDir;
27+
this.trainDataDir = trainDataDir;
2728
this.datasetJson = datasetJson;
2829
this.outputDir = outputDir;
2930
this.featureSet = featureSet;
@@ -36,20 +37,20 @@ public SwanOptions(String testData, String trainData, String datasetJson, String
3637
this.trainTestSplit = trainTestSplit;
3738
}
3839

39-
public String getTestData() {
40-
return testData;
40+
public String getTestDataDir() {
41+
return testDataDir;
4142
}
4243

43-
public void setTestData(String testData) {
44-
this.testData = testData;
44+
public void setTestDataDir(String testDataDir) {
45+
this.testDataDir = testDataDir;
4546
}
4647

47-
public String getTrainData() {
48-
return trainData;
48+
public String getTrainDataDir() {
49+
return trainDataDir;
4950
}
5051

51-
public void setTrainData(String trainData) {
52-
this.trainData = trainData;
52+
public void setTrainDataDir(String trainDataDir) {
53+
this.trainDataDir = trainDataDir;
5354
}
5455

5556
public String getDatasetJson() {
@@ -68,11 +69,11 @@ public void setOutputDir(String outputDir) {
6869
this.outputDir = outputDir;
6970
}
7071

71-
public String getFeatureSet() {
72+
public List<String> getFeatureSet() {
7273
return featureSet;
7374
}
7475

75-
public void setFeatureSet(String featureSet) {
76+
public void setFeatureSet(List<String> featureSet) {
7677
this.featureSet = featureSet;
7778
}
7879

@@ -135,8 +136,8 @@ public void setTrainTestSplit(double trainTestSplit) {
135136
@Override
136137
public String toString() {
137138
return "SwanOptions{" +
138-
"testData='" + testData + '\'' +
139-
", trainData='" + trainData + '\'' +
139+
"testData='" + testDataDir + '\'' +
140+
", trainData='" + trainDataDir + '\'' +
140141
", datasetJson='" + datasetJson + '\'' +
141142
", outputDir='" + outputDir + '\'' +
142143
", featureSet='" + featureSet + '\'' +

0 commit comments

Comments
 (0)