diff options
author | Feideus <erwan.ulrich@gmail.com> | 2018-07-12 17:04:45 +0200 |
---|---|---|
committer | Feideus <erwan.ulrich@gmail.com> | 2018-07-12 17:04:45 +0200 |
commit | ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6 (patch) | |
tree | f7f21d46e8d8490f72b2dc244c47070ab8116b96 /src | |
parent | 9af26203dfafd2c488b3ef67d2b16a4e8dea5d3e (diff) | |
download | schemafuzz-ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6.tar.gz schemafuzz-ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6.tar.bz2 schemafuzz-ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6.zip |
added cleanup mechanism, created Objects to store the response Vector
Diffstat (limited to 'src')
4 files changed, 95 insertions, 0 deletions
diff --git a/src/main/java/org/schemaspy/DBFuzzer.java b/src/main/java/org/schemaspy/DBFuzzer.java index cb1b085..a78b9db 100644 --- a/src/main/java/org/schemaspy/DBFuzzer.java +++ b/src/main/java/org/schemaspy/DBFuzzer.java @@ -204,6 +204,15 @@ public class DBFuzzer removeTemporaryCascade(); printMutationTree(); + if(analyzer.getCommandLineArguments().getReport().equals("y") || analyzer.getCommandLineArguments().getReport().equals("yes")) + { + LOGGER.info("CLEAN UP"); + try { + Process evaluatorProcess = new ProcessBuilder("/bin/bash", "./cleanup.sh").start(); + } catch (Exception e) { + e.printStackTrace(); + } + } System.out.println("ending process"); return returnStatus; } diff --git a/src/main/java/org/schemaspy/cli/CommandLineArguments.java b/src/main/java/org/schemaspy/cli/CommandLineArguments.java index 87f36d6..973e0e5 100644 --- a/src/main/java/org/schemaspy/cli/CommandLineArguments.java +++ b/src/main/java/org/schemaspy/cli/CommandLineArguments.java @@ -130,6 +130,13 @@ public class CommandLineArguments { ) private String target; + @Parameter( + names = { + "-nr", "--no-report" + } + ) + private String report; // Needs to be modified so that no futher argument is needed (currently requires a "y" after the "-nr") + /* TODO Password handling is more complex, see Config class (prompt for password, fallback to Environment variable, multiple schemas, etc.) @Parameter( names = { @@ -219,4 +226,6 @@ public class CommandLineArguments { public String getTarget() {return target; } + public String getReport() {return report; } + } diff --git a/src/main/java/org/schemaspy/model/ReportVector.java b/src/main/java/org/schemaspy/model/ReportVector.java new file mode 100644 index 0000000..595c9a9 --- /dev/null +++ b/src/main/java/org/schemaspy/model/ReportVector.java @@ -0,0 +1,39 @@ +package org.schemaspy.model; + +import java.util.ArrayList; + +public class ReportVector { + private ArrayList<StackTraceLine> stackTrace; + private int codeCoverage; //unused right now + GenericTreeNode parentMutation; + + public ReportVector(ArrayList<StackTraceLine> stackTrace, int codeCoverage, GenericTreeNode parentMutation) { + this.stackTrace = stackTrace; + this.codeCoverage = codeCoverage; + this.parentMutation = parentMutation; + } + + public ArrayList<StackTraceLine> getStackTrace() { + return stackTrace; + } + + public void setStackTrace(ArrayList<StackTraceLine> stackTrace) { + this.stackTrace = stackTrace; + } + + public int getCodeCoverage() { + return codeCoverage; + } + + public void setCodeCoverage(int codeCoverage) { + this.codeCoverage = codeCoverage; + } + + public GenericTreeNode getParentMutation() { + return parentMutation; + } + + public void setParentMutation(GenericTreeNode parentMutation) { + this.parentMutation = parentMutation; + } +} diff --git a/src/main/java/org/schemaspy/model/StackTraceLine.java b/src/main/java/org/schemaspy/model/StackTraceLine.java new file mode 100644 index 0000000..36271cb --- /dev/null +++ b/src/main/java/org/schemaspy/model/StackTraceLine.java @@ -0,0 +1,38 @@ +package org.schemaspy.model; + +public class StackTraceLine { + + private String functionname; + private String fileName; + private int lineNumber; + + public StackTraceLine(String functionname, String fileName, int lineNumber) { + this.functionname = functionname; + this.fileName = fileName; + this.lineNumber = lineNumber; + } + + public String getFunctionname() { + return functionname; + } + + public void setFunctionname(String functionname) { + this.functionname = functionname; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public int getLineNumber() { + return lineNumber; + } + + public void setLineNumber(int lineNumber) { + this.lineNumber = lineNumber; + } +} |