summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFeideus <erwan.ulrich@gmail.com>2018-07-12 17:04:45 +0200
committerFeideus <erwan.ulrich@gmail.com>2018-07-12 17:04:45 +0200
commitad6fb89f89c9fb064433bc4b704c1cf21ce04fe6 (patch)
treef7f21d46e8d8490f72b2dc244c47070ab8116b96 /src
parent9af26203dfafd2c488b3ef67d2b16a4e8dea5d3e (diff)
downloadschemafuzz-ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6.tar.gz
schemafuzz-ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6.tar.bz2
schemafuzz-ad6fb89f89c9fb064433bc4b704c1cf21ce04fe6.zip
added cleanup mechanism, created Objects to store the response Vector
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/schemaspy/DBFuzzer.java9
-rw-r--r--src/main/java/org/schemaspy/cli/CommandLineArguments.java9
-rw-r--r--src/main/java/org/schemaspy/model/ReportVector.java39
-rw-r--r--src/main/java/org/schemaspy/model/StackTraceLine.java38
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;
+ }
+}