diff options
author | Feideus <erwan.ulrich@gmail.com> | 2018-07-23 22:32:25 +0200 |
---|---|---|
committer | Feideus <erwan.ulrich@gmail.com> | 2018-07-23 22:32:25 +0200 |
commit | a903b7c2b81185820330e9fb49d92030f09ab16a (patch) | |
tree | 610536ae05c6758257b939a5e8baa76952fcfad4 /src/main | |
parent | b90aa4e328a557311e26837f0633848254f827b0 (diff) | |
download | schemafuzz-a903b7c2b81185820330e9fb49d92030f09ab16a.tar.gz schemafuzz-a903b7c2b81185820330e9fb49d92030f09ab16a.tar.bz2 schemafuzz-a903b7c2b81185820330e9fb49d92030f09ab16a.zip |
trying to figure out how to hash viablely
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/schemaspy/model/GenericTree.java | 2 | ||||
-rw-r--r-- | src/main/java/org/schemaspy/model/ReportVector.java | 30 | ||||
-rw-r--r-- | src/main/java/org/schemaspy/model/Scorer.java | 2 |
3 files changed, 33 insertions, 1 deletions
diff --git a/src/main/java/org/schemaspy/model/GenericTree.java b/src/main/java/org/schemaspy/model/GenericTree.java index cf5f9c0..5a44869 100644 --- a/src/main/java/org/schemaspy/model/GenericTree.java +++ b/src/main/java/org/schemaspy/model/GenericTree.java @@ -138,4 +138,6 @@ public class GenericTree { for(GenericTreeNode gtn : ref.getChildren()) toArrayHelp(gtn, result); } + + } diff --git a/src/main/java/org/schemaspy/model/ReportVector.java b/src/main/java/org/schemaspy/model/ReportVector.java index 80da4a6..7b084b5 100644 --- a/src/main/java/org/schemaspy/model/ReportVector.java +++ b/src/main/java/org/schemaspy/model/ReportVector.java @@ -8,6 +8,7 @@ import java.util.Map; public class ReportVector { private ArrayList<StackTraceLine> stackTrace; + private int stackTraceHash; private int codeCoverage; //unused right now GenericTreeNode parentMutation; @@ -17,6 +18,10 @@ public class ReportVector { stackTrace = new ArrayList<StackTraceLine>(); } + public int getStackTraceHash() { return stackTraceHash; } + + public void setStackTraceHash(int stackTraceHash) { this.stackTraceHash = stackTraceHash; } + public ArrayList<StackTraceLine> getStackTrace() { return stackTrace; } @@ -138,4 +143,29 @@ public class ReportVector { } return true; } + + public int hashStackTrace(GenericTree mutationTree,GenericTreeNode currentNode) + { + int hash = 0; + + + for(GenericTreeNode gtn : mutationTree.toArray()) + { + if(!gtn.getReportVector().getStackTrace().get(gtn.getReportVector().getStackTrace().size()-1).compare(currentNode.getReportVector().getStackTrace().get(currentNode.getReportVector().getStackTrace().size()-1))) + hash = gtn.getReportVector().getStackTraceHash(); + + for(StackTraceLine stl : gtn.getReportVector().getStackTrace()) + { + for(StackTraceLine stlCurrent : currentNode.getReportVector().getStackTrace()) + { + + if(!stl.compare(stlCurrent)) + hash = hash+5; + + if() + + } + } + } + } } diff --git a/src/main/java/org/schemaspy/model/Scorer.java b/src/main/java/org/schemaspy/model/Scorer.java index de7a5fb..bcc1fdb 100644 --- a/src/main/java/org/schemaspy/model/Scorer.java +++ b/src/main/java/org/schemaspy/model/Scorer.java @@ -267,7 +267,7 @@ public class Scorer { { int i = 0; ReportVector rpv = gtn.getReportVector(); - rpv.setStackTraceHash(rpv.hashStackTrace()); + rpv.setStackTraceHash(rpv.hashStackTrace(mutationTree,gtn)); predict = rpv.getStackTraceHash(); for(GenericTreeNode gtnLoop : mutationTree.toArray()) { |