diff --git a/de.tu-bs.cs.isf.cbc.mutation/META-INF/MANIFEST.MF b/de.tu-bs.cs.isf.cbc.mutation/META-INF/MANIFEST.MF
index 50205ce20..727cfb6cc 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/META-INF/MANIFEST.MF
+++ b/de.tu-bs.cs.isf.cbc.mutation/META-INF/MANIFEST.MF
@@ -1,26 +1,24 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Mutation
-Bundle-SymbolicName: de.tu-bs.cs.isf.cbc.mutation
+Bundle-SymbolicName: de.tu-bs.cs.isf.cbc.mutation;singleton:=true
Bundle-Version: 1.0.0.qualifier
Automatic-Module-Name: de.tu.bs.cs.isf.cbc.mutation
Bundle-RequiredExecutionEnvironment: JavaSE-16
-Require-Bundle: org.key_project.core;bundle-version="1.0.0",
- org.key_project.util;bundle-version="1.0.0",
- de.tu-bs.cs.isf.cbc.util,
- org.eclipse.graphiti.mm,
- de.tu-bs.cs.isf.cbc.tool,
- org.hamcrest.core,
- org.junit,
- org.eclipse.emf.ecore,
- de.tu-bs.cs.isf.cbc.exceptions,
+Require-Bundle: org.junit,
org.apache.commons.commons-io;bundle-version="2.13.0",
- de.tu-bs.cs.isf.cbc.model
-Import-Package: de.tu_bs.cs.isf.cbc.cbcmodel,
- de.tu_bs.cs.isf.commands.toolbar.handler.family,
+ org.eclipse.graphiti.ui;bundle-version="0.18.0",
+ org.eclipse.ui.views.properties.tabbed;bundle-version="3.10.100",
+ org.eclipse.graphiti;bundle-version="0.18.0"
+Import-Package: de.tu_bs.cs.isf.cbc.cbcclass,
+ de.tu_bs.cs.isf.cbc.cbcmodel,
+ de.tu_bs.cs.isf.cbc.exceptions,
+ de.tu_bs.cs.isf.cbc.util,
org.eclipse.core.resources,
org.eclipse.core.runtime;version="3.7.0",
- org.eclipse.graphiti.services;version="0.18.0"
+ org.eclipse.graphiti.ui.platform;version="0.18.0",
+ org.eclipse.swt.widgets,
+ org.eclipse.ui.views.properties.tabbed
Export-Package: de.tu_bs.cs.isf.cbc.mutation.feature
Bundle-ClassPath: muJava/openjava.jar,
.
diff --git a/de.tu-bs.cs.isf.cbc.mutation/build.properties b/de.tu-bs.cs.isf.cbc.mutation/build.properties
index 5f688abc8..61c689bda 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/build.properties
+++ b/de.tu-bs.cs.isf.cbc.mutation/build.properties
@@ -2,4 +2,5 @@ source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- muJava/openjava.jar
+ muJava/openjava.jar,\
+ plugin.xml
diff --git a/de.tu-bs.cs.isf.cbc.mutation/plugin.xml b/de.tu-bs.cs.isf.cbc.mutation/plugin.xml
new file mode 100644
index 000000000..37fa67ea9
--- /dev/null
+++ b/de.tu-bs.cs.isf.cbc.mutation/plugin.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/CbCMutator.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/CbCMutator.java
index 6017709e0..3b6541be7 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/CbCMutator.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/CbCMutator.java
@@ -2,7 +2,6 @@
import java.io.File;
import java.io.IOException;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -17,7 +16,6 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.CompositionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.cbcmodel.SelectionStatement;
-import de.tu_bs.cs.isf.cbc.exceptions.MutatorException;
import de.tu_bs.cs.isf.cbc.mutation.op.cbc.CbCMutationOp;
import de.tu_bs.cs.isf.cbc.mutation.util.MutatedClass;
import de.tu_bs.cs.isf.cbc.util.CopyDiagram;
@@ -25,17 +23,8 @@
public class CbCMutator extends Mutator {
private Condition condition;
private String targetId;
- private int totalMutantNum;
private int curPos;
- private int test = 0;
-
- public CbCMutator(List operators) {
- super(operators);
- curPos = 0;
- totalMutantNum = 0;
- }
-
@Override
public void mutate(Diagram diagram, Condition condition) throws Exception {
this.condition = condition;
@@ -57,10 +46,14 @@ protected void generateDiagrams() throws Exception {
this.curPos++;
}
}
-
+
+ protected CbCMutator(List operators) {
+ super(operators);
+ curPos = 0;
+ }
+
private void generateMutants() throws Exception {
applyMutationOperators();
- //generateMutantNames(totalMutantNum);
MutatedClass mc = new MutatedClass(this);
mc.generate();
}
@@ -69,22 +62,12 @@ private void applyMutationOperators() throws Exception {
for (String opStr : operators) {
CbCMutationOp op = CbCMutationOp.get(opStr);
mutants = op.apply(condition);
- totalMutantNum += mutants.length;
generateDiagrams();
}
}
- /*
- private void generateMutantNames(int size) {
- mutantNames = new String[size];
- for (int i = 0; i < size; i++) {
- mutantNames[i] = this.originalDiagram.getName() + "Mutant" + i;
- }
- }*/
-
private void applyMutationsToDiagrams(Resource resource, String mutant) throws IOException {
CbCFormula formula = this.getFormulaFrom(resource);
- // TODO: set everything to uproven.
unproveEverything(formula.getStatement());
Condition c = findConditionIn(formula.getStatement());
if (c == null) {
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/ImplMutator.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/ImplMutator.java
index 6bd671e46..b4ce42462 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/ImplMutator.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/ImplMutator.java
@@ -14,8 +14,12 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.graphiti.mm.pictograms.Diagram;
+import de.tu_bs.cs.isf.cbc.util.ClassHandler;
+import de.tu_bs.cs.isf.cbc.util.CodeGenerator;
+import de.tu_bs.cs.isf.cbc.util.CodeHandler;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.CopyDiagram;
+import de.tu_bs.cs.isf.cbc.util.DiffChecker;
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.CbCFormula;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
@@ -25,13 +29,9 @@
import de.tu_bs.cs.isf.cbc.mutation.util.CodeRepresentationFinder;
import de.tu_bs.cs.isf.cbc.mutation.util.DirectoryCreator;
import de.tu_bs.cs.isf.cbc.mutation.util.MutatedClass;
-import de.tu_bs.cs.isf.cbc.tool.helper.ClassHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.CodeGenerator;
-import de.tu_bs.cs.isf.cbc.tool.helper.CodeHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiffChecker;
-import de.tu_bs.cs.isf.cbc.tool.helper.LinePair;
-import de.tu_bs.cs.isf.cbc.tool.helper.MethodHandler;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
+import de.tu_bs.cs.isf.cbc.util.LinePair;
+import de.tu_bs.cs.isf.cbc.util.MethodHandler;
import src.mujava.AllMutantsGenerator;
import src.mujava.MutationSystem;
import src.mujava.OpenJavaException;
@@ -40,10 +40,6 @@
public class ImplMutator extends Mutator {
private String originalCode;
- public ImplMutator(List operators) {
- super(operators);
- }
-
@Override
public void mutate(Diagram diagramToMutate, Condition condition) throws Exception {
setup(diagramToMutate);
@@ -58,10 +54,9 @@ public void mutate(Diagram diagramToMutate, Condition condition) throws Exceptio
@Override
protected void generateDiagrams() throws CodeRepresentationFinderException, IOException, CoreException, MutatorException, FileHandlerException {
- String originalCode = getOriginalCode();
DiffChecker dc = new DiffChecker();
for (String mutant : mutants) {
- dc.check(originalCode, mutant);
+ dc.check(getOriginalCode(), mutant);
LinePair diffLine = dc.nextDiff();
applyMutation(diffLine);
}
@@ -69,7 +64,10 @@ protected void generateDiagrams() throws CodeRepresentationFinderException, IOEx
mc.generate();
}
-
+ protected ImplMutator(List operators) {
+ super(operators);
+ }
+
protected void generateFiles() throws IOException, OpenJavaException {
String location = setupMuJava();
File targetFile = generateFile(location, getOriginalDiagram().getName(), originalCode);
@@ -96,7 +94,7 @@ protected String getOriginalCode() {
protected String constructCode() throws Exception {
ClassHandler ch = new ClassHandler(this.className, this.classUri);
- String diagramAsCode = CodeGenerator.getInstance().generateCodeFor(getOriginalDiagram());
+ String diagramAsCode = CodeGenerator.instance.generateCodeFor(getOriginalDiagram());
String signature = MethodHandler.getSignatureFromCode(diagramAsCode);
String contract = MethodHandler.getContractFromCode(diagramAsCode, signature);
MethodHandler mh = new MethodHandler(contract, signature, diagramAsCode);
@@ -105,7 +103,7 @@ protected String constructCode() throws Exception {
}
protected String setupMuJava() {
- String location = FileUtil.getProjectLocation(getOriginalDiagram().eResource().getURI()) + File.separator + FOLDER_NAME;
+ String location = FileUtil.getProjectLocation(getOriginalDiagram().eResource().getURI()) + File.separator + getFolderName();
MutationSystem.CLASS_NAME = className;
setMuJavaPaths(location);
makeMuJavaStructure.main(null);
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/Mutator.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/Mutator.java
index e3afd7a17..c84bffcde 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/Mutator.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/feature/Mutator.java
@@ -2,19 +2,14 @@
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.commons.io.FileUtils;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
@@ -26,19 +21,19 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.CbCFormula;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.exceptions.FileHandlerException;
+import de.tu_bs.cs.isf.cbc.mutation.op.cbc.CbCMutationOp;
+import de.tu_bs.cs.isf.cbc.mutation.op.cbc.NOOP;
import de.tu_bs.cs.isf.cbc.mutation.util.FileReader;
import de.tu_bs.cs.isf.cbc.mutation.util.JavaDirectoryLoader;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
-import de.tu_bs.cs.isf.cbc.tool.helper.FileHandler;
-import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import src.mujava.MutationSystem;
public abstract class Mutator {
- public static String PW_RENAME = "Pre Boundaries";
- public static String PS_RENAME = "Post Boundaries";
- public static String FOLDER_NAME = "mutations";
+ private static final String PW_RENAME = "Pre Boundaries";
+ private static final String PS_RENAME = "Post Boundaries";
+ private static final String FOLDER_NAME = "mutations";
protected String[] operators;
protected int mutationCount;
@@ -51,21 +46,26 @@ public abstract class Mutator {
protected String className;
private boolean hasClass;
- public Mutator(List operators) {
- this.setMutantDiagrams(new ArrayList());
- this.operators = new String[operators.size()];
- this.mutationCount = 0;
- for (int i = 0; i < operators.size(); i++) {
- if (operators.get(i).equals(PW_RENAME)) {
- this.operators[i] = "PW";
- } else if (operators.get(i).equals(PS_RENAME)) {
- this.operators[i] = "PS";
- } else {
- this.operators[i] = operators.get(i);
- }
+ public static Mutator get(List operators) {
+ if(operators.stream().anyMatch(o -> !(CbCMutationOp.get(o) instanceof NOOP))) {
+ return new CbCMutator(operators);
+ } else {
+ return new ImplMutator(operators);
}
}
+ public static String getPwRename() {
+ return PW_RENAME;
+ }
+
+ public static String getPsRename() {
+ return PS_RENAME;
+ }
+
+ public static String getFolderName() {
+ return FOLDER_NAME;
+ }
+
public IFolder getMutationFolder() {
return this.mutationFolder;
}
@@ -74,30 +74,32 @@ public Diagram getOriginalDiagram() {
return originalDiagram;
}
- private void setOriginalDiagram(Diagram diagram) {
- this.originalDiagram = diagram;
- }
-
public List getMutantDiagrams() {
return mutantDiagrams;
}
- private void setMutantDiagrams(List mutantDiagrams) {
- this.mutantDiagrams = mutantDiagrams;
- }
-
public boolean hasClass() {
return hasClass;
}
-
- private void setHasClass(boolean hasClass) {
- this.hasClass = hasClass;
- }
-
public void mutate(Diagram diagram, Condition condition) throws Exception {}
protected void generateDiagrams() throws Exception {}
+ protected Mutator(List operators) {
+ this.setMutantDiagrams(new ArrayList<>());
+ this.operators = new String[operators.size()];
+ this.mutationCount = 0;
+ for (int i = 0; i < operators.size(); i++) {
+ if (operators.get(i).equals(PW_RENAME)) {
+ this.operators[i] = "PW";
+ } else if (operators.get(i).equals(PS_RENAME)) {
+ this.operators[i] = "PS";
+ } else {
+ this.operators[i] = operators.get(i);
+ }
+ }
+ }
+
protected void setup(Diagram diagram) throws CoreException, FileHandlerException {
this.setOriginalDiagram(diagram);
this.mutantBaseName = this.getOriginalDiagram().getName() + "Mutant";
@@ -106,9 +108,7 @@ protected void setup(Diagram diagram) throws CoreException, FileHandlerException
className = className.isEmpty() ? "NoClass" : className;
deleteMutationFiles();
mutationFolder = getClassFolder(getOriginalDiagram()).getFolder(FOLDER_NAME);
- //mutationFolder = FileHandler.getInstance().getFolder(originalDiagram.eResource().getURI(), FOLDER_NAME);
- FileHandler.getInstance().deleteFolder(mutationFolder);
- //FileHandler.getInstance().createFolder(originalDiagram.eResource().getURI(), FOLDER_NAME);
+ FileHandler.instance.deleteFolder(mutationFolder);
mutationFolder.create(true, true, null);
mutationFolder.refreshLocal(2, null);
}
@@ -129,6 +129,18 @@ protected String[] readCode(File[] mutants) throws FileNotFoundException {
}
return codes;
}
+
+ private void setHasClass(boolean hasClass) {
+ this.hasClass = hasClass;
+ }
+
+ private void setMutantDiagrams(List mutantDiagrams) {
+ this.mutantDiagrams = mutantDiagrams;
+ }
+
+ private void setOriginalDiagram(Diagram diagram) {
+ this.originalDiagram = diagram;
+ }
private String mergeElseIfs(String code) {
String[] lines = code.split("\\n");
@@ -151,7 +163,7 @@ private String mergeElseIfs(String code) {
}
protected void cleanUp() throws CoreException {
- FileHandler.getInstance().deleteFolder(classUri, FOLDER_NAME);
+ FileHandler.instance.deleteFolder(classUri, FOLDER_NAME);
this.mutationFolder.refreshLocal(2, null);
}
@@ -185,7 +197,7 @@ private void deleteMutationFiles() throws CoreException {
private IFolder getClassFolder(Diagram diagram) throws FileHandlerException {
URI diagUri = diagram.eResource().getURI();
IProject project = FileUtil.getProject(diagUri);
- ModelClass clazz = FileHandler.getInstance().getClassOf(diagram);
+ ModelClass clazz = FileHandler.instance.getClassOf(diagram);
String folderPath = "";
if (clazz == null) {
folderPath = diagUri.trimSegments(1).toPlatformString(true);
@@ -195,7 +207,6 @@ private IFolder getClassFolder(Diagram diagram) throws FileHandlerException {
} else {
for (int i = clazz.eResource().getURI().segmentCount() - 2; i >= 0; i--) {
if (clazz.eResource().getURI().segment(i).equals(project.getName())) {
- //folderPath = "/" + clazz.eResource().getURI().segment(i-1) + folderPath;
break;
}
folderPath = "/" + clazz.eResource().getURI().segment(i) + folderPath;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CAORB.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CAORB.java
index 1520cfcd9..411e4f9d8 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CAORB.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CAORB.java
@@ -1,7 +1,6 @@
package de.tu_bs.cs.isf.cbc.mutation.op.cbc;
import java.util.Arrays;
-import java.util.List;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.exceptions.MutatorException;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOD.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOD.java
index a8ab2e1f5..d68325ecf 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOD.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOD.java
@@ -1,7 +1,6 @@
package de.tu_bs.cs.isf.cbc.mutation.op.cbc;
import java.util.Arrays;
-import java.util.List;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.exceptions.MutatorException;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOR.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOR.java
index 98b97bc39..291718833 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOR.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CCOR.java
@@ -1,7 +1,6 @@
package de.tu_bs.cs.isf.cbc.mutation.op.cbc;
import java.util.Arrays;
-import java.util.List;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.exceptions.MutatorException;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CLOR.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CLOR.java
index 471a0ae29..ec0e41a75 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CLOR.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CLOR.java
@@ -1,7 +1,6 @@
package de.tu_bs.cs.isf.cbc.mutation.op.cbc;
import java.util.Arrays;
-import java.util.List;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.exceptions.MutatorException;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CROR.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CROR.java
index 241be5e92..a19c4c54f 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CROR.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CROR.java
@@ -1,7 +1,6 @@
package de.tu_bs.cs.isf.cbc.mutation.op.cbc;
import java.util.Arrays;
-import java.util.List;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.exceptions.MutatorException;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CbCMutationOp.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CbCMutationOp.java
index 08a9ad2b3..f7ae5eb94 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CbCMutationOp.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/op/cbc/CbCMutationOp.java
@@ -14,7 +14,7 @@ public abstract class CbCMutationOp {
int opToMutateStart;
int opToMutateEnd;
- public static CbCMutationOp get(String opName) throws MutatorException {
+ public static CbCMutationOp get(String opName) {
switch (opName) {
case "CAORB":
return new CAORB();
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/propertiesview/MutationFilter.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/propertiesview/MutationFilter.java
new file mode 100644
index 000000000..63353bd60
--- /dev/null
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/propertiesview/MutationFilter.java
@@ -0,0 +1,14 @@
+package de.tu_bs.cs.isf.cbc.mutation.propertiesview;
+
+import org.eclipse.graphiti.mm.pictograms.PictogramElement;
+import org.eclipse.graphiti.ui.platform.AbstractPropertySectionFilter;
+
+public class MutationFilter extends AbstractPropertySectionFilter {
+ @Override
+ protected boolean accept(PictogramElement pictogramElement) {
+ if (pictogramElement != null) {
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/MutationSection.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/propertiesview/MutationSection.java
similarity index 85%
rename from de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/MutationSection.java
rename to de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/propertiesview/MutationSection.java
index d1bcd5dcd..cb67c23a1 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/MutationSection.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/propertiesview/MutationSection.java
@@ -1,17 +1,8 @@
-package de.tu_bs.cs.isf.cbc.tool.propertiesview;
+package de.tu_bs.cs.isf.cbc.mutation.propertiesview;
-import java.awt.GridBagConstraints;
-import java.io.File;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import de.tu_bs.cs.isf.cbc.util.FileUtil;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.ui.platform.GFPropertySection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
@@ -20,28 +11,17 @@
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
-import de.tu_bs.cs.isf.cbc.mutation.feature.CbCMutator;
-import de.tu_bs.cs.isf.cbc.mutation.feature.ImplMutator;
import de.tu_bs.cs.isf.cbc.mutation.feature.Mutator;
-import de.tu_bs.cs.isf.cbc.tool.diagram.CbCDiagramTypeProvider;
-import de.tu_bs.cs.isf.cbc.tool.helper.Colors;
+import de.tu_bs.cs.isf.cbc.util.Console;
/**
* Class for the Mutation-Tab of the Properties-View.
@@ -93,8 +73,8 @@ public class MutationSection extends GFPropertySection implements ITabbedPropert
// Contract Mutation Operators
private final String[] contractOperators = new String[] {
- Mutator.PW_RENAME + " | ==, >, <, >=, <=, &&, forall",
- Mutator.PS_RENAME + " | >=, <=, !=, >, <, ||, exists"
+ Mutator.getPwRename() + " | ==, >, <, >=, <=, &&, forall",
+ Mutator.getPsRename() + " | >=, <=, !=, >, <, ||, exists"
};
// CbC Mutation Operators
@@ -111,6 +91,7 @@ public class MutationSection extends GFPropertySection implements ITabbedPropert
public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
super.createControls(parent, tabbedPropertySheetPage);
+ Console.println("JKLSDJFSKLDJ");
this.parent = parent;
this.tabbedPropertySheetPage = tabbedPropertySheetPage;
TabbedPropertySheetWidgetFactory factory = getWidgetFactory();
@@ -150,7 +131,8 @@ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPrope
@Override
public void refresh() {
- this.cbcGroup.setLocation(5, 5);
+ //this.cbcGroup.setLocation(5, 5);
+ /*
CbCDiagramTypeProvider diagramProvider = new CbCDiagramTypeProvider();
PictogramElement pe = getSelectedPictogramElement();
var bo = diagramProvider.getFeatureProvider().getBusinessObjectForPictogramElement(pe);
@@ -160,13 +142,13 @@ public void refresh() {
this.generateBtn.setLocation(this.cbcGroup.getLocation().x, this.cbcGroup.getLocation().y + this.cbcGroup.getSize().y + 5);
this.contractGroup.setVisible(false);
this.implGroup.setVisible(false);
- } else {
+ } else {*/
this.generateBtn.setLocation(this.implGroup.getLocation().x, this.implGroup.getLocation().y + this.implGroup.getSize().y + 5);
this.selectedCondition = null;
this.cbcGroup.setVisible(false);
this.contractGroup.setVisible(true);
this.implGroup.setVisible(true);
- }
+ //}
}
private Group createButtonGroup(Composite parent, String name) {
@@ -226,10 +208,10 @@ private void addSelectedOperators(Button btn, List ops) {
}
private void generateMutatedDiagrams(List ops) throws Exception {
- ImplMutator implMutator = new ImplMutator(ops);
+ Mutator implMutator = Mutator.get(ops);
implMutator.mutate(getDiagram(), null);
if (this.selectedCondition != null) {
- CbCMutator cbcMutator = new CbCMutator(ops);
+ Mutator cbcMutator = Mutator.get(ops);
cbcMutator.mutate(getDiagram(), this.selectedCondition);
}
}
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/FileReader.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/FileReader.java
index 361ce9be7..621ae4563 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/FileReader.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/FileReader.java
@@ -4,7 +4,7 @@
import java.io.FileNotFoundException;
import java.util.Scanner;
-import de.tu_bs.cs.isf.cbc.tool.helper.CodeHandler;
+import de.tu_bs.cs.isf.cbc.util.CodeHandler;
public class FileReader {
private Scanner scanner;
diff --git a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/MutatedClass.java b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/MutatedClass.java
index 6cf6701db..0d3b3ce39 100644
--- a/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/MutatedClass.java
+++ b/de.tu-bs.cs.isf.cbc.mutation/src/de/tu_bs/cs/isf/cbc/mutation/util/MutatedClass.java
@@ -4,8 +4,6 @@
import java.io.IOException;
import java.util.Collections;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
@@ -20,10 +18,9 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariables;
import de.tu_bs.cs.isf.cbc.exceptions.FileHandlerException;
import de.tu_bs.cs.isf.cbc.mutation.feature.Mutator;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
-import de.tu_bs.cs.isf.cbc.tool.helper.FileHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.MethodHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateDiagram;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
+import de.tu_bs.cs.isf.cbc.util.MethodHandler;
public class MutatedClass {
private Mutator mutator;
@@ -42,7 +39,7 @@ public void generate() throws IOException, CoreException, FileHandlerException {
if (!mutator.hasClass()) {
return;
}
- ModelClass clazz = FileHandler.getInstance().getClassOf(mutator.getOriginalDiagram());
+ ModelClass clazz = FileHandler.instance.getClassOf(mutator.getOriginalDiagram());
copyClass(clazz);
addMutatedMethods();
}
diff --git a/de.tu-bs.cs.isf.cbc.tool/META-INF/MANIFEST.MF b/de.tu-bs.cs.isf.cbc.tool/META-INF/MANIFEST.MF
index 77bc39501..14092e4be 100644
--- a/de.tu-bs.cs.isf.cbc.tool/META-INF/MANIFEST.MF
+++ b/de.tu-bs.cs.isf.cbc.tool/META-INF/MANIFEST.MF
@@ -3,49 +3,34 @@ Bundle-ManifestVersion: 2
Bundle-Name: Tool
Bundle-SymbolicName: de.tu-bs.cs.isf.cbc.tool;singleton:=true
Bundle-Version: 1.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-16,
+ JavaSE-1.8
Require-Bundle: org.eclipse.graphiti,
- org.eclipse.graphiti.examples.common,
org.eclipse.graphiti.ui,
org.eclipse.ui.views.properties.tabbed,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- de.tu-bs.cs.isf.cbc.model,
org.eclipse.graphiti.pattern,
- org.eclipse.emf.ecore.xmi,
org.eclipse.emf.transaction,
- de.tu-bs.cs.isf.cbc.util,
org.eclipse.xtext;bundle-version="2.10.0",
- org.eclipse.xtext.xbase,
- org.eclipse.emf.common,
org.eclipse.draw2d;bundle-version="3.10.100",
org.emftext.language.java,
- org.eclipse.jdt.core,
- de.tu_bs.cs.isf.cbc.statistics,
- org.eclipse.graphiti.mm,
- org.eclipse.swt,
de.ovgu.featureide.fm.core,
org.eclipse.mylyn.commons.ui,
- org.eclipse.ui.workbench,
org.testng;bundle-version="7.4.0",
- org.key_project.core,
- de.tu_bs.cs.isf.commands.toolbar,
- de.tu-bs.cs.isf.cbc.mutation,
- de.tu-bs.cs.isf.cbc.exceptions,
- de.tu_bs.cs.isf.cbc.parser,
- de.tu_bs.cs.isf.lattice
+ de.tu-bs.cs.isf.cbc.util;bundle-version="1.0.0"
Import-Package: de.ovgu.featureide.fm.core.base,
- org.eclipse.jdt.core.dom,
- org.emftext.language.java.resource.java.util,
de.ovgu.featureide.fm.core.io.manager,
- org.eclipse.compare.internal,
- org.eclipse.emf.common.ui,
- org.eclipse.jdt.core,
- org.key_project.util.collection
+ de.tu_bs.cs.isf.cbc.cbcclass,
+ de.tu_bs.cs.isf.cbc.cbcmodel,
+ de.tu_bs.cs.isf.cbc.cbcmodel.impl,
+ de.tu_bs.cs.isf.cbc.exceptions,
+ de.tu_bs.cs.isf.cbc.parser.exceptions,
+ de.tu_bs.cs.isf.cbc.statistics,
+ de.tu_bs.cs.isf.commands.toolbar.handler.family,
+ de.tu_bs.cs.isf.lattice,
+ org.eclipse.emf.common.ui
Export-Package: de.tu_bs.cs.isf.cbc.tool.diagram,
de.tu_bs.cs.isf.cbc.tool.features,
de.tu_bs.cs.isf.cbc.tool.helper,
- de.tu_bs.cs.isf.cbc.tool.model,
de.tu_bs.cs.isf.cbc.tool.patterns,
de.tu_bs.cs.isf.cbc.tool.propertiesview
Bundle-ClassPath: lib/com.microsoft.z3.jar,
diff --git a/de.tu-bs.cs.isf.cbc.tool/plugin.xml b/de.tu-bs.cs.isf.cbc.tool/plugin.xml
index f473a65f0..fa09d2ae4 100644
--- a/de.tu-bs.cs.isf.cbc.tool/plugin.xml
+++ b/de.tu-bs.cs.isf.cbc.tool/plugin.xml
@@ -53,11 +53,6 @@
id="Testing"
label="Testing">
-
-
-
-
();
final var abstractMethods = new ArrayList();
- if (FileHandler.getInstance().isSPL(uri)) {
+ if (FileHandler.instance.isSPL(uri)) {
if (code.contains("original(")) {
TestUtilSPL.getInstance().handleOriginalCode(this.getFeatureProvider(), projectPath, code, features, originalMethods, formula.getMethodObj().getSignature(), vars);
code = code.replaceAll("original\\(", originalMethods.get(0).getMethodName() + "(");
@@ -265,12 +259,12 @@ private boolean test(final URI uri, final CbCFormula formula, final JavaVariable
}
List classCodes;
String postCon = ConditionHandler.replaceResultKeyword(formula.getStatement().getPostCondition().getName(), returnVariable);
- if (FileHandler.getInstance().isSPL(projectPath)) {
+ if (FileHandler.instance.isSPL(projectPath)) {
boolean isPreCon = false;
postCon = TestUtilSPL.getInstance().handleOriginalCondition(this.getFeatureProvider(), postCon, isPreCon, features);
}
classCodes = genAllDependenciesOfMethod(code, methodSig, className, postCon);
- if (FileHandler.getInstance().isSPL(uri)) {
+ if (FileHandler.instance.isSPL(uri)) {
TestUtilSPL.getInstance().addNewMethods(classCodes, className, originalMethods, abstractMethods);
}
if(!compileFileContents2(classCodes, methodToGenerate.getName())) {
@@ -287,7 +281,7 @@ private boolean test(final URI uri, final CbCFormula formula, final JavaVariable
String testFileContent;
String preCon = ConditionParser.parseConditions(globalConditions, formula.getStatement().getPreCondition());
- if (FileHandler.getInstance().isSPL(projectPath)) {
+ if (FileHandler.instance.isSPL(projectPath)) {
boolean isPreCon = true;
preCon = TestUtilSPL.getInstance().handleOriginalCondition(this.getFeatureProvider(), preCon, isPreCon, features);
}
@@ -299,7 +293,7 @@ private boolean test(final URI uri, final CbCFormula formula, final JavaVariable
}
testFileContent = genTestCases(className, inputs, postCon, globalConditions, formula);
testFileContent = CodeHandler.addInstanceNameToFields(ClassHandler.getClassByName(classCodes, className), testFileContent);
- FileHandler.getInstance().writeToFile(this.projectPath, className + "Test.java", testFileContent);
+ FileHandler.instance.writeToFile(this.projectPath, className + "Test.java", testFileContent);
executeTestCases("file://" + FileUtil.getProjectLocation(uri) + "/tests/", className + "Test.java", globalVars, inputs);
return true;
}
@@ -935,7 +929,7 @@ private String generateCode(CbCFormula formula, GlobalConditions globalCondition
}
if (formula.getMethodObj() == null) {
- className = GENERATED_CLASSNAME;
+ className = ClassHandler.GENERATED_CLASSNAME;
} else {
className = formula.getMethodObj().getParentClass().getName();
}
@@ -1358,7 +1352,7 @@ public List genInputs(final String preconditions, final JavaVariab
if (v.contains("[")) {
if (v.lastIndexOf("]") == -1) {
Console.printWarn("TestAndAssertionGeneratorWarning: Syntax of variable '" + v + "' is not correct.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionGeneratorWarning: Syntax of variable '" + v + "' is not correct.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionGeneratorWarning: Syntax of variable '" + v + "' is not correct.");
continue;
}
v = v.substring(0, v.indexOf("[")) + v.substring(v.lastIndexOf("]") + 1, v.length());
@@ -1388,6 +1382,25 @@ public List genInputs(final String preconditions, final JavaVariab
}
return output;
}
+
+ private static String handlePrimitiveArrayUses(String output, String fullVarName, String val, int numTabs) {
+ final Pattern p = Pattern.compile("[^\\s]+" + Pattern.quote(TestAndAssertionGenerator.ARRAY_TOKEN));
+ Matcher m = p.matcher(val);
+
+ while(m.find()) {
+ String helper = val.substring(m.start(), val.length());
+ int start = m.start() + m.group(0).indexOf(TestAndAssertionGenerator.ARRAY_TOKEN);
+ int end = helper.indexOf(TestAndAssertionGenerator.ARRAY_CLOSED_TOKEN) + m.start();
+ String type = m.group(0).substring(0, m.group(0).indexOf(";"));
+ String name = m.group(0).substring(m.group(0).indexOf(";") + 1, m.group(0).indexOf(TestAndAssertionGenerator.ARRAY_TOKEN));
+ String value = val.substring(start + TestAndAssertionGenerator.ARRAY_TOKEN.length(), end);
+ output = "\n" + CodeHandler.getTabs(numTabs) + type + " " + name + " = " + value + ";" + output;
+ final var toReplace = val.substring(m.start(), end + TestAndAssertionGenerator.ARRAY_CLOSED_TOKEN.length());
+ val = val.replace(toReplace, name);
+ m = p.matcher(val);
+ }
+ return output + CodeHandler.getTabs(numTabs) + "public " + fullVarName + " = " + val + ";\n";
+ }
private String genTestCases(final String className, final List inputs, final String postCondition, final GlobalConditions conds, final CbCFormula formula) throws TestStatementException, UnexpectedTokenException, SettingsException {
var instanceName = Character.toLowerCase(className.charAt(0)) + className.substring(1, className.length());
@@ -1408,7 +1421,7 @@ private String genTestCases(final String className, final List inp
for (InputData data : test.getInputDataTupel().getAllVars()) {
if (data.getRep().contains(ARRAY_TOKEN)) {
//private String handlePrimitiveArrayUses(String output, String fullVarName, String val)
- var toAdd = CodeHandler.handlePrimitiveArrayUses("", data.getType() + " " + data.getName(), data.getRep(), 2);
+ var toAdd = handlePrimitiveArrayUses("", data.getType() + " " + data.getName(), data.getRep(), 2);
var lines = toAdd.split("\\t\\t");
var newRep = lines[lines.length-1].substring(lines[lines.length-1].indexOf("new"), lines[lines.length-1].lastIndexOf(";"));
data.setRep(newRep);
@@ -1779,7 +1792,7 @@ private String getVariableType(String code, String varName, String className) {
if (varType.equals("")) {
// this should never happen.
Console.printWarn("TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
return "";
}
return varType;
@@ -1807,7 +1820,7 @@ private String getVariableType(String code, String varName, String className) {
if (varType.equals("")) {
// this should never happen.
Console.printWarn("TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
return "";
}
return varType;
@@ -1816,7 +1829,7 @@ private String getVariableType(String code, String varName, String className) {
potentialVarType = code.substring(0, charIndexBefore);
if (potentialVarType.lastIndexOf(' ') == -1) {
Console.printWarn("TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
return "";
}
potentialVarType = potentialVarType.substring(potentialVarType.lastIndexOf(' ') + 1, potentialVarType.length());
@@ -1832,13 +1845,13 @@ private String getVariableType(String code, String varName, String className) {
} else {
// this shouldn't happen because the syntax of the code would not be correct.
Console.printWarn("TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
return "";
}
}
}
Console.printWarn("TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionGeneratorWarning: Variable type of variable " + varName + " couldn't be found.");
return "";
}
@@ -1979,7 +1992,7 @@ private boolean isExternalClass(String className) {
}
private Diagram loadDiagramFromClass(String className, String diagramName) {
- return FileHandler.getInstance().loadDiagramFromClass(this.projectPath, className, className, diagramName);
+ return FileHandler.instance.loadDiagramFromClass(this.projectPath, className, className, diagramName);
}
private List findAllDistinctWords(String code, char wordDelim) {
@@ -2111,7 +2124,7 @@ public boolean compileFileContents(List fileContents, String methodToGen
var className = code.split("public\\sclass\\s")[1].split("\\s", 2)[0];
className = className.replaceAll("\\{", "");
var fullClassName = FileUtil.getProjectLocation(this.projectPath) + "/tests/" + className + ".java";
- FileHandler.getInstance().createFile(this.projectPath, className, code);
+ FileHandler.instance.createFile(this.projectPath, className, code);
dependencies.add(fullClassName);
}
@@ -2126,7 +2139,7 @@ public boolean compileFileContents(List fileContents, String methodToGen
Console.println();
Console.println(" > Syntax error detected.", Colors.RED);
Console.println("\t" + errorMsg.toString());
- FileHandler.getInstance().log(dependencies.get(0));
+ FileHandler.instance.log(dependencies.get(0));
Console.println();
}
for (var code : fileContents) {
@@ -2154,7 +2167,7 @@ public boolean compileFileContents2(List fileContents, String meth
for (var clazz : fileContents) {
var className = clazz.getClassName();
var fullClassName = FileUtil.getProjectLocation(this.projectPath) + "/tests/" + className + ".java";
- FileHandler.getInstance().createFile(this.projectPath, className, clazz.getCode());
+ FileHandler.instance.createFile(this.projectPath, className, clazz.getCode());
dependencies.add(fullClassName);
}
@@ -2435,7 +2448,7 @@ private String getSignatureOfLoadedFile(String className, String methodName, int
var javaFile = new File(FileUtil.getProjectLocation(projectPath) + "/src/" + className + ".java");
var destination = new File(FileUtil.getProjectLocation(projectPath) + "/tests/" + className + ".java");
if (!javaFile.exists()) {
- if (FileHandler.getInstance().isSPL(projectPath)) {
+ if (FileHandler.instance.isSPL(projectPath)) {
javaFile = new File(FileUtil.getProjectLocation(projectPath) + "/src_gen/" + className + ".java");
if (!javaFile.exists()) {
return "";
@@ -2444,7 +2457,7 @@ private String getSignatureOfLoadedFile(String className, String methodName, int
return "";
}
}
- FileHandler.getInstance().deleteFile(this.projectPath, className);
+ FileHandler.instance.deleteFile(this.projectPath, className);
try {
Files.copy(javaFile.toPath(), destination.toPath());
} catch (IOException e) {
@@ -2562,7 +2575,7 @@ private String getCodeOfSignatureOfLoadedFile(String className, String signature
var javaFile = new File(FileUtil.getProjectLocation(projectPath) + "/src/" + className + ".java");
var destination = new File(FileUtil.getProjectLocation(projectPath) + "/tests/" + className + ".java");
if (!javaFile.exists()) {
- if (FileHandler.getInstance().isSPL(projectPath)) {
+ if (FileHandler.instance.isSPL(projectPath)) {
javaFile = new File(FileUtil.getProjectLocation(projectPath) + "/src_gen/" + className + ".java");
if (!javaFile.exists()) {
return "";
@@ -2571,7 +2584,7 @@ private String getCodeOfSignatureOfLoadedFile(String className, String signature
return "";
}
}
- FileHandler.getInstance().deleteFile(this.projectPath, className);
+ FileHandler.instance.deleteFile(this.projectPath, className);
try {
Files.copy(javaFile.toPath(), destination.toPath());
} catch (IOException e) {
@@ -2734,7 +2747,7 @@ public HashMap> getCalledMethods(String code, String m
final var type = getVariableType(code, varName, className);
if (type.isEmpty()) {
Console.printWarn("TestAndAssertionWarning: Couldn't get type of variable '" + varName + "'.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionWarning: Couldn't get type of variable '" + varName + "'.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionWarning: Couldn't get type of variable '" + varName + "'.");
matchee = matchee.replaceFirst("\\(", "");
start = matchee.indexOf("(");
continue;
@@ -2761,7 +2774,7 @@ public HashMap> getCalledMethods(String code, String m
final var type = getVariableType(code, varName, className);
if (type.isEmpty()) {
Console.printWarn("TestAndAssertionWarning: Couldn't get type of variable '" + varName + "'.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionWarning: Couldn't get type of variable '" + varName + "'.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionWarning: Couldn't get type of variable '" + varName + "'.");
matchee = matchee.replaceFirst("\\(", "");
start = matchee.indexOf("(");
continue;
@@ -2797,7 +2810,7 @@ public HashMap> getCalledMethods(String code, String m
var cSig = getConstructorSig(classCode, methodName, numParams);
if (cSig == null) {
Console.printWarn("TestAndAssertionWarning: Couldn't get the signature of the constructor '" + methodName + "' which has " + numParams + " parameters.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionWarning: Couldn't get the signature of the constructor '" + methodName + "' which has " + numParams + " parameters.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionWarning: Couldn't get the signature of the constructor '" + methodName + "' which has " + numParams + " parameters.");
matchee = matchee.replaceFirst("\\(", "");
start = matchee.indexOf("(");
continue;
@@ -2814,7 +2827,7 @@ public HashMap> getCalledMethods(String code, String m
final var methodSig = getMethodSignature(type, methodName, numParams);
if (methodSig.isEmpty()) {
Console.printWarn("TestAndAssertionWarning: Couldn't find signature for method '" + methodName + "'.");
- FileHandler.getInstance().log(this.projectPath, "TestAndAssertionWarning: Couldn't find signature for method '" + methodName + "'.");
+ FileHandler.instance.log(this.projectPath, "TestAndAssertionWarning: Couldn't find signature for method '" + methodName + "'.");
matchee = matchee.replaceFirst("\\(", "");
start = matchee.indexOf("(");
continue;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/TestStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/TestStatement.java
index 532b66336..0fa0c0d57 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/TestStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/TestStatement.java
@@ -48,28 +48,28 @@
import de.tu_bs.cs.isf.cbc.exceptions.TestAndAssertionGeneratorException;
import de.tu_bs.cs.isf.cbc.exceptions.TestStatementException;
import de.tu_bs.cs.isf.cbc.exceptions.UnexpectedTokenException;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.ClassHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.CodeHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.Colors;
import de.tu_bs.cs.isf.cbc.tool.helper.ConditionHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
-import de.tu_bs.cs.isf.cbc.tool.helper.Features;
-import de.tu_bs.cs.isf.cbc.tool.helper.InputData;
-import de.tu_bs.cs.isf.cbc.tool.helper.JavaCondition;
-import de.tu_bs.cs.isf.cbc.tool.helper.MethodHandler;
import de.tu_bs.cs.isf.cbc.tool.helper.PreConditionSolver;
import de.tu_bs.cs.isf.cbc.tool.helper.TestStatementListener;
-import de.tu_bs.cs.isf.cbc.tool.helper.TestUtilSPL;
-import de.tu_bs.cs.isf.cbc.tool.helper.Token;
-import de.tu_bs.cs.isf.cbc.tool.helper.TokenType;
-import de.tu_bs.cs.isf.cbc.tool.helper.Tokenizer;
-import de.tu_bs.cs.isf.cbc.tool.helper.FileHandler;
-import de.tu_bs.cs.isf.cbc.tool.helper.Variable;
+import de.tu_bs.cs.isf.cbc.util.ClassHandler;
+import de.tu_bs.cs.isf.cbc.util.CodeHandler;
+import de.tu_bs.cs.isf.cbc.util.Colors;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
+import de.tu_bs.cs.isf.cbc.util.Features;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
-import diagnostics.DataCollector;
-import diagnostics.DataType;
+import de.tu_bs.cs.isf.cbc.util.InputData;
+import de.tu_bs.cs.isf.cbc.util.JavaCondition;
+import de.tu_bs.cs.isf.cbc.util.MethodHandler;
+import de.tu_bs.cs.isf.cbc.util.TestUtilSPL;
+import de.tu_bs.cs.isf.cbc.util.Token;
+import de.tu_bs.cs.isf.cbc.util.TokenType;
+import de.tu_bs.cs.isf.cbc.util.Tokenizer;
+import de.tu_bs.cs.isf.cbc.util.Variable;
+import de.tu_bs.cs.isf.cbc.util.diagnostics.DataCollector;
+import de.tu_bs.cs.isf.cbc.util.diagnostics.DataType;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class for testing a single statement.
@@ -146,9 +146,9 @@ public void execute(ICustomContext context, IProgressMonitor monitor) {
e.printStackTrace();
return;
}
- FileHandler.getInstance().clearLog(this.projectPath);
+ FileHandler.instance.clearLog(this.projectPath);
Features features = null;
- if (FileHandler.getInstance().isSPL(uri)) {
+ if (FileHandler.instance.isSPL(uri)) {
try {
features = new Features(uri);
} catch (FeatureCallerException e) {
@@ -175,7 +175,7 @@ public void execute(ICustomContext context, IProgressMonitor monitor) {
}
dataCollector.addData(features.getCurConfigName(), getStatementPath(statement), pathTime);
// save configuration in a separate file
- FileHandler.getInstance().saveConfig(uri, formula, features, false);
+ FileHandler.instance.saveConfig(uri, formula, features, false);
}
} else {
float pathTime;
@@ -772,7 +772,7 @@ public boolean testStatement(final AbstractStatement statement, final JavaVariab
}
final var originalMethods = new ArrayList();
final var abstractMethods = new ArrayList();
- if (FileHandler.getInstance().isSPL(projectPath)) {
+ if (FileHandler.instance.isSPL(projectPath)) {
if (code.contains("original") || statementName.contains("original")) {
var testsdfjj = formula;
TestUtilSPL.getInstance().handleOriginalCode(fp, projectPath, code.replaceAll(Pattern.quote(STATEMENT_PH), statementName), features, originalMethods, formula.getMethodObj().getSignature(), vars);
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyAllStatements.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyAllStatements.java
index 3f7b417c2..a23ec2739 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyAllStatements.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyAllStatements.java
@@ -35,20 +35,20 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.SelectionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.SmallRepetitionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Variant;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
-import de.tu_bs.cs.isf.cbc.tool.helper.FileHandler;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
-import de.tu_bs.cs.isf.cbc.tool.helper.IdAdder;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateDiagram;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.ConstructCodeBlock;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
+import de.tu_bs.cs.isf.cbc.util.IdAdder;
import de.tu_bs.cs.isf.cbc.util.Parser;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
+import de.tu_bs.cs.isf.cbc.util.UpdateDiagram;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
@@ -97,7 +97,7 @@ public void execute(ICustomContext context, IProgressMonitor monitor) {
URI uri = getDiagram().eResource().getURI();
// delete 'tests' folder if it exists because it will cause reference errors
// since key doesn't use TestNG.
- FileHandler.getInstance().deleteFolder(uri, "tests");
+ FileHandler.instance.deleteFolder(uri, "tests");
IProject project = FileUtil.getProjectFromFileInProject(uri);
@@ -105,7 +105,7 @@ public void execute(ICustomContext context, IProgressMonitor monitor) {
verifyStmt = new VerifyStatement(super.getFeatureProvider());
genCode = new GenerateCodeForVariationalVerification(super.getFeatureProvider());
- if (FileHandler.getInstance().isSPL(uri)) {
+ if (FileHandler.instance.isSPL(uri)) {
isVariational = true;
} else {
isVariational = false;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyMethodCallStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyMethodCallStatement.java
index 6c1b1586a..5fae59151 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyMethodCallStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyMethodCallStatement.java
@@ -19,16 +19,16 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariables;
import de.tu_bs.cs.isf.cbc.cbcmodel.MethodStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.Parser;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
public class VerifyMethodCallStatement extends MyAbstractAsynchronousCustomFeature {
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyOriginalCallStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyOriginalCallStatement.java
index 0cea1c5d9..75d3bb8af 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyOriginalCallStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyOriginalCallStatement.java
@@ -16,15 +16,15 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariables;
import de.tu_bs.cs.isf.cbc.cbcmodel.OriginalStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
public class VerifyOriginalCallStatement extends MyAbstractAsynchronousCustomFeature {
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPostRepetitionStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPostRepetitionStatement.java
index 5621fcfcc..4b12373e6 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPostRepetitionStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPostRepetitionStatement.java
@@ -16,14 +16,14 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
import de.tu_bs.cs.isf.cbc.cbcmodel.SmallRepetitionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.SmallRepetitionStatementImpl;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreRepetitionStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreRepetitionStatement.java
index 4f50b2456..15d8c1c6d 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreRepetitionStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreRepetitionStatement.java
@@ -16,14 +16,14 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
import de.tu_bs.cs.isf.cbc.cbcmodel.SmallRepetitionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.SmallRepetitionStatementImpl;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreSelectionStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreSelectionStatement.java
index 65319735b..c9155a5ab 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreSelectionStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyPreSelectionStatement.java
@@ -16,14 +16,14 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
import de.tu_bs.cs.isf.cbc.cbcmodel.SelectionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.SelectionStatementImpl;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStatement.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStatement.java
index c8a12a422..b0c29f98a 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStatement.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStatement.java
@@ -7,7 +7,6 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
@@ -17,7 +16,6 @@
import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.mm.pictograms.Shape;
-import com.google.common.collect.ImmutableCollection;
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.CbCFormula;
@@ -27,18 +25,17 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.ReturnStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.SkipStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.AbstractStatementImpl;
-import de.tu_bs.cs.isf.cbc.mutation.feature.Mutator;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
-import de.tu_bs.cs.isf.cbc.tool.helper.FileHandler;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
-import de.tu_bs.cs.isf.cbc.tool.helper.GetDiagramUtil;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
+import de.tu_bs.cs.isf.cbc.util.GetDiagramUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
@@ -104,11 +101,11 @@ void verifyStatement(ICustomContext context, IProgressMonitor monitor, boolean i
URI uri = getDiagram().eResource().getURI();
// delete 'tests' folder if it exists because it will cause reference errors
// since key doesn't use TestNG.
- FileHandler.getInstance().deleteFolder(uri, "tests");
+ FileHandler.instance.deleteFolder(uri, "tests");
IProject project = FileUtil.getProjectFromFileInProject(uri);
boolean isVariational = false;
- if (FileHandler.getInstance().isSPL(uri)) {
+ if (FileHandler.instance.isSPL(uri)) {
isVariational = true;
}
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStrengthWeakCorrect.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStrengthWeakCorrect.java
index 096d933a6..f9470c623 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStrengthWeakCorrect.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyStrengthWeakCorrect.java
@@ -15,14 +15,14 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariables;
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
import de.tu_bs.cs.isf.cbc.cbcmodel.StrengthWeakStatement;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithInnerLoops.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithInnerLoops.java
index 5cc63d19a..b6350f6c3 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithInnerLoops.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithInnerLoops.java
@@ -18,15 +18,15 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.SmallRepetitionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Variant;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.SmallRepetitionStatementImpl;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.ConstructCodeBlock;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithoutInnerLoops.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithoutInnerLoops.java
index cb10e10bf..1e267492d 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithoutInnerLoops.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/VerifyVariantWithoutInnerLoops.java
@@ -18,15 +18,15 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.SmallRepetitionStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Variant;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.SmallRepetitionStatementImpl;
-import de.tu_bs.cs.isf.cbc.statistics.StatDataCollector;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.GenerateCodeForVariationalVerification;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.ConstructCodeBlock;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.ProveWithKey;
import de.tu_bs.cs.isf.cbc.util.VerifyFeatures;
+import de.tu_bs.cs.isf.cbc.util.statistics.StatDataCollector;
/**
* Class that changes the abstract value of algorithms
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionFirstFeature.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionFirstFeature.java
index 564b92e16..ec448d8b9 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionFirstFeature.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionFirstFeature.java
@@ -15,7 +15,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.CompositionStatement;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
/**
* Class that to create an intermediate composition statement
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionSecondFeature.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionSecondFeature.java
index d7b2be056..e69434b99 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionSecondFeature.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveCompositionSecondFeature.java
@@ -15,7 +15,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.CompositionStatement;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
/**
* Class that to create an intermediate composition statement
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveRepetitionFeature.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveRepetitionFeature.java
index 05a746311..63a4cdda1 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveRepetitionFeature.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveRepetitionFeature.java
@@ -15,7 +15,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.SmallRepetitionStatement;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
/**
* Class that to create an intermediate composition statement
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveSelectionFeature.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveSelectionFeature.java
index 69b7f6108..7f419bd72 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveSelectionFeature.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/AboveSelectionFeature.java
@@ -15,7 +15,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.SelectionStatement;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
/**
* Class that to create an intermediate composition statement
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/BelowImplementationFeature.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/BelowImplementationFeature.java
index 54e0bcf48..961b7dfd4 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/BelowImplementationFeature.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/features/intermediate/BelowImplementationFeature.java
@@ -13,7 +13,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.AbstractStatementImpl;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
/**
* Class that to create an intermediate composition statement
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/CodeGenerator.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/CodeGenerator.java
deleted file mode 100644
index e8a0462cc..000000000
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/CodeGenerator.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package de.tu_bs.cs.isf.cbc.tool.helper;
-
-import java.io.File;
-import java.util.LinkedList;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-
-import de.tu_bs.cs.isf.cbc.cbcclass.Field;
-import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
-import de.tu_bs.cs.isf.cbc.cbcmodel.CbCFormula;
-import de.tu_bs.cs.isf.cbc.cbcmodel.GlobalConditions;
-import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariable;
-import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariables;
-import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
-import de.tu_bs.cs.isf.cbc.cbcmodel.VariableKind;
-import de.tu_bs.cs.isf.cbc.exceptions.CodeGeneratorException;
-import de.tu_bs.cs.isf.cbc.util.ConstructCodeBlock;
-import de.tu_bs.cs.isf.cbc.util.FileUtil;
-
-public class CodeGenerator {
- private static CodeGenerator instance;
-
- private CodeGenerator() {
-
- }
-
- public static CodeGenerator getInstance() {
- if (instance == null) {
- instance = new CodeGenerator();
- }
- return instance;
- }
-
- public String generateCodeFor(Diagram diag) throws CodeGeneratorException {
- DiagramPartsExtractor extractor = new DiagramPartsExtractor(diag);
- JavaVariables vars = extractor.getVars();
- GlobalConditions globalConditions = extractor.getConds();
- Renaming renaming = extractor.getRenaming();
- CbCFormula formula = extractor.getFormula();
-
- String signatureString = formula.getMethodObj() != null ? formula.getMethodObj().getSignature() : ("public void " + formula.getName().toLowerCase() + " ()");
-
- JavaVariable returnVariable = null;
- int counter = 0;
- LinkedList localVariables = new LinkedList();
- for(int i = 0; i < vars.getVariables().size(); i++) {
- JavaVariable currentVariable = vars.getVariables().get(i);
- if(currentVariable.getKind() == VariableKind.RETURN) {
- counter++;
- if(!signatureString.substring(0, signatureString.indexOf('(')).contains(currentVariable.getName().replace("non-null", "").trim().split(" ")[0])) {
- //throw new CodeGeneratorException("Method return type and variable type does not match.");
- }
- if(counter > 1) {
- //throw new CodeGeneratorException("Too much variables of kind RETURN.");
- }
- returnVariable = currentVariable;
- }else if(currentVariable.getKind() == VariableKind.LOCAL) {
- localVariables.add(currentVariable.getName().replace("non-null", ""));
- }
- }
- String globalVariables ="";
- for (Field field : vars.getFields()) {
- globalVariables += ("\t" + field.getVisibility().getName().toLowerCase() + " /*@spec_public@*/ " + field.getType() + " " + field.getName().replace("non-null ", "") + ";\n");
- }
-
- URI uri = diag.eResource().getURI();
- String location = FileUtil.getProjectLocation(uri);
- location += "/code-gen" + File.separator + (formula.getClassName().equals("") ? ("Class" + formula.getName()) : formula.getClassName()) + ".java";
- String code = ConstructCodeBlock.constructCodeBlockForExport(formula, globalConditions, renaming, localVariables, returnVariable, signatureString);
- return code;
- }
-
-}
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/ConditionHandler.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/ConditionHandler.java
index 7f9ac5324..808115945 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/ConditionHandler.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/ConditionHandler.java
@@ -14,10 +14,13 @@
import de.tu_bs.cs.isf.cbc.exceptions.ExceptionMessages;
import de.tu_bs.cs.isf.cbc.exceptions.ReferenceException;
import de.tu_bs.cs.isf.cbc.exceptions.UnexpectedTokenException;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.ConditionParser;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.Node;
+import de.tu_bs.cs.isf.cbc.util.CodeHandler;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
+import de.tu_bs.cs.isf.cbc.util.InputData;
+import de.tu_bs.cs.isf.cbc.util.JavaCondition;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.ConditionParser;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.Node;
public final class ConditionHandler {
/**
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeForVariationalVerification.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeForVariationalVerification.java
index 433d5a6dd..cf80ecb04 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeForVariationalVerification.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeForVariationalVerification.java
@@ -25,9 +25,6 @@
import org.eclipse.graphiti.features.IFeatureProvider;
import org.eclipse.graphiti.features.context.ICustomContext;
import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
import de.tu_bs.cs.isf.cbc.cbcclass.Field;
import de.tu_bs.cs.isf.cbc.cbcclass.ModelClass;
@@ -43,13 +40,15 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.VariableKind;
import de.tu_bs.cs.isf.cbc.tool.features.MyAbstractAsynchronousCustomFeature;
import de.tu_bs.cs.isf.cbc.util.ClassUtil;
+import de.tu_bs.cs.isf.cbc.util.Colors;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.ConstructCodeBlock;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
+import de.tu_bs.cs.isf.cbc.util.GetDiagramUtil;
import de.tu_bs.cs.isf.cbc.util.IFileUtil;
-import de.tu_bs.cs.isf.commands.toolbar.handler.family.MetaClass;
-import de.tu_bs.cs.isf.cbc.util.ClassUtil;
+import de.tu_bs.cs.isf.cbc.util.consts.MetaNames;
public class GenerateCodeForVariationalVerification extends MyAbstractAsynchronousCustomFeature{
private IFileUtil fileHandler;
@@ -92,7 +91,7 @@ private void deleteExistingClasses(String classDirectory) {
private void removeMetaFiles(List classFiles) {
for (int i = 0; i < classFiles.size(); i++) {
- if (classFiles.get(i).getLocation().toOSString().contains(MetaClass.FOLDER_NAME)) {
+ if (classFiles.get(i).getLocation().toOSString().contains(MetaNames.FOLDER_NAME)) {
classFiles.remove(i);
i--;
}
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeFromModel.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeFromModel.java
index 09902c511..42214602e 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeFromModel.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GenerateCodeFromModel.java
@@ -28,6 +28,7 @@
import de.tu_bs.cs.isf.cbc.tool.features.MyAbstractAsynchronousCustomFeature;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.ConstructCodeBlock;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
public class GenerateCodeFromModel extends MyAbstractAsynchronousCustomFeature {
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GetDiagramUtil.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GetDiagramUtil.java
deleted file mode 100644
index fb4046386..000000000
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/GetDiagramUtil.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package de.tu_bs.cs.isf.cbc.tool.helper;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-
-import de.tu_bs.cs.isf.commands.toolbar.handler.family.MetaClass;
-
-public class GetDiagramUtil {
-
- public static Collection getDiagrams(IProject p, boolean includeMetaDiagrams) {
- final List files = getDiagramFiles(p);
- final List diagramList = new ArrayList();
- final ResourceSet rSet = new ResourceSetImpl();
- for (final IFile file : files) {
- if (!includeMetaDiagrams && file.getLocation().toOSString().contains(MetaClass.FOLDER_NAME)) {
- continue;
- }
- final Diagram diagram = getDiagramFromFile(file, rSet);
- if (diagram != null) {
- diagramList.add(diagram);
- }
- }
- return diagramList;
- }
-
- public static Collection getDiagrams(IProject p) {
- return getDiagrams(p, true);
- }
-
- private static List getDiagramFiles(IContainer folder) {
- final List ret = new ArrayList();
- try {
- final IResource[] members = folder.members();
- for (final IResource resource : members) {
- if (resource instanceof IContainer) {
- ret.addAll(getDiagramFiles((IContainer) resource));
- } else if (resource instanceof IFile) {
- final IFile file = (IFile) resource;
- if (file.getName().endsWith(".diagram")) {
- ret.add(file);
- }
- }
- }
- } catch (final CoreException e) {
- e.printStackTrace();
- }
- return ret;
- }
-
- public static Diagram getDiagramFromFile(IFile file, ResourceSet resourceSet) {
- final URI resourceURI = getFileURI(file, resourceSet);
- Resource resource;
- try {
- resource = resourceSet.getResource(resourceURI, true);
- if (resource != null) {
- // does resource contain a diagram as root object?
- final EList contents = resource.getContents();
- for (final EObject object : contents) {
- if (object instanceof Diagram) {
- return (Diagram) object;
- }
- }
- }
- } catch (final WrappedException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public static Diagram getDiagramFromResource(Resource resource) {
- if (resource != null) {
- URI uri = resource.getURI();
- if (!uri.fileExtension().equals("diagram")) {
- uri = uri.trimFragment();
- uri = uri.trimFileExtension();
- uri = uri.appendFileExtension("diagram");
- ResourceSet rSet = new ResourceSetImpl();
- resource = rSet.getResource(uri, true);
- }
- if (resource != null) {
- // does resource contain a diagram as root object?
- final EList contents = resource.getContents();
- for (final EObject object : contents) {
- if (object instanceof Diagram) {
- return (Diagram) object;
- }
- }
- }
-
- }
- return null;
- }
-
- public static Resource getResourceFromFile(IFile file, ResourceSet resourceSet) {
- final URI resourceURI = getFileURI(file, resourceSet);
- Resource resource = resourceSet.getResource(resourceURI, true);
- return resource;
- }
-
- private static URI getFileURI(IFile file, ResourceSet resourceSet) {
- final String pathName = file.getLocation().toPortableString();
- URI resourceURI = URI.createFileURI(pathName);
- resourceURI = resourceSet.getURIConverter().normalize(resourceURI);
- return resourceURI;
- }
-}
\ No newline at end of file
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/PreConditionSolver.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/PreConditionSolver.java
index 80a146688..789307a22 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/PreConditionSolver.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/PreConditionSolver.java
@@ -1,12 +1,5 @@
package de.tu_bs.cs.isf.cbc.tool.helper;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.ConditionParser;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.Node;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.NotNode;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.OpNode;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.QuantorNode;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.RelNode;
-import de.tu_bs.cs.isf.cbc.tool.helper.conditionparser.SingleNode;
import java.util.ArrayList;
import java.util.HashMap;
@@ -27,6 +20,17 @@
import de.tu_bs.cs.isf.cbc.exceptions.TestFailedException;
import de.tu_bs.cs.isf.cbc.exceptions.UnexpectedTokenException;
import de.tu_bs.cs.isf.cbc.util.Console;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
+import de.tu_bs.cs.isf.cbc.util.InputData;
+import de.tu_bs.cs.isf.cbc.util.TokenType;
+import de.tu_bs.cs.isf.cbc.util.Variable;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.ConditionParser;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.Node;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.NotNode;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.OpNode;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.QuantorNode;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.RelNode;
+import de.tu_bs.cs.isf.cbc.util.conditionparser.SingleNode;
/**
* Translates an AST into the syntax of the Z3-Solver.
@@ -244,7 +248,7 @@ private Expr makeCondition(Node tree) {
}
}
Console.printWarn("PreConditionSolverWarning: Type of identifier '" + tree.getRep() + "' is not supported.");
- FileHandler.getInstance().log("PreConditionSolverWarning: Type of identifier '" + tree.getRep() + "' is not supported.");
+ FileHandler.instance.log("PreConditionSolverWarning: Type of identifier '" + tree.getRep() + "' is not supported.");
return context.mkTrue();
}
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestAndAssertionListener.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestAndAssertionListener.java
index 8a35e705a..4258d1f80 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestAndAssertionListener.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestAndAssertionListener.java
@@ -19,13 +19,18 @@
import org.testng.ITestListener;
import org.testng.ITestResult;
+import de.tu_bs.cs.isf.cbc.util.CodeHandler;
+import de.tu_bs.cs.isf.cbc.util.Colors;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
-import diagnostics.DataCollector;
-import diagnostics.DataType;
+import de.tu_bs.cs.isf.cbc.util.InputDataTupel;
+import de.tu_bs.cs.isf.cbc.util.MethodHandler;
+import de.tu_bs.cs.isf.cbc.util.Settings;
+import de.tu_bs.cs.isf.cbc.util.TestCaseData;
+import de.tu_bs.cs.isf.cbc.util.diagnostics.DataCollector;
+import de.tu_bs.cs.isf.cbc.util.diagnostics.DataType;
import de.tu_bs.cs.isf.cbc.exceptions.DiagnosticsException;
import de.tu_bs.cs.isf.cbc.exceptions.SettingsException;
-import de.tu_bs.cs.isf.cbc.tool.propertiesview.Settings;
/**
* Listener for checking the execution of test cases generated by the test generator.
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestStatementListener.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestStatementListener.java
index f7261378e..9b1004a5b 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestStatementListener.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/helper/TestStatementListener.java
@@ -14,8 +14,11 @@
import org.testng.ITestResult;
import de.tu_bs.cs.isf.cbc.exceptions.DiagnosticsException;
+import de.tu_bs.cs.isf.cbc.util.CodeHandler;
+import de.tu_bs.cs.isf.cbc.util.Colors;
import de.tu_bs.cs.isf.cbc.util.Console;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
+import de.tu_bs.cs.isf.cbc.util.TestCaseData;
/**
* Listener for checking the execution of statements.
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConditionPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConditionPattern.java
index d8efb5233..0d4470036 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConditionPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConditionPattern.java
@@ -48,12 +48,12 @@
import de.tu_bs.cs.isf.cbc.parser.exceptions.IFbCException;
import de.tu_bs.cs.isf.cbc.tool.features.TestStatement;
import de.tu_bs.cs.isf.cbc.tool.helper.GetProjectUtil;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateContractsToProve;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateInformationFlow;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateMethodCallsToProve;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateOriginalCallsToProve;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
import de.tu_bs.cs.isf.lattice.Lattice;
import de.tu_bs.cs.isf.lattice.Lattices;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConnectionPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConnectionPattern.java
index 60ce40244..c2b237f73 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConnectionPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ConnectionPattern.java
@@ -26,8 +26,8 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.SkipStatementImpl;
import de.tu_bs.cs.isf.cbc.parser.exceptions.IFbCException;
import de.tu_bs.cs.isf.cbc.tool.helper.GetProjectUtil;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateInformationFlow;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
import de.tu_bs.cs.isf.lattice.Lattice;
import de.tu_bs.cs.isf.lattice.Lattices;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/FormulaPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/FormulaPattern.java
index 9539ea659..1c761a53c 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/FormulaPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/FormulaPattern.java
@@ -37,7 +37,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.CbcmodelFactory;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.tool.diagram.CbCImageProvider;
-import de.tu_bs.cs.isf.cbc.tool.model.CbcModelUtil;
+import de.tu_bs.cs.isf.cbc.util.CbcModelUtil;
/**
* Class that creates the graphical representation of Conditions
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/GlobalConditionsPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/GlobalConditionsPattern.java
index 4455c567b..c1311a4ce 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/GlobalConditionsPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/GlobalConditionsPattern.java
@@ -33,7 +33,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.CbcmodelFactory;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.cbcmodel.GlobalConditions;
-import de.tu_bs.cs.isf.cbc.tool.model.CbcModelUtil;
+import de.tu_bs.cs.isf.cbc.util.CbcModelUtil;
/**
* Class that creates the graphical representation of global conditions
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/MethodStatementPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/MethodStatementPattern.java
index b55eb4a7e..05dbbb0d1 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/MethodStatementPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/MethodStatementPattern.java
@@ -44,8 +44,8 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.SelectionStatement;
import de.tu_bs.cs.isf.cbc.tool.diagram.CbCImageProvider;
import de.tu_bs.cs.isf.cbc.tool.features.TestStatement;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateModifiableOfConditions;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
public class MethodStatementPattern extends IdPattern implements IPattern {
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/OriginalStatementPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/OriginalStatementPattern.java
index 8a5e1e355..3f2f18e6d 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/OriginalStatementPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/OriginalStatementPattern.java
@@ -44,10 +44,10 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.SelectionStatement;
import de.tu_bs.cs.isf.cbc.tool.diagram.CbCImageProvider;
import de.tu_bs.cs.isf.cbc.tool.features.TestStatement;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateModifiableOfConditions;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
public class OriginalStatementPattern extends IdPattern implements IPattern {
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/RenamingPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/RenamingPattern.java
index 3adc01851..7d9601faa 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/RenamingPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/RenamingPattern.java
@@ -32,7 +32,7 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.CbcmodelFactory;
import de.tu_bs.cs.isf.cbc.cbcmodel.Rename;
import de.tu_bs.cs.isf.cbc.cbcmodel.Renaming;
-import de.tu_bs.cs.isf.cbc.tool.model.CbcModelUtil;
+import de.tu_bs.cs.isf.cbc.util.CbcModelUtil;
/**
* Class that creates the graphical representation for renaming
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ReturnPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ReturnPattern.java
index 8a12d91e2..068ce7c54 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ReturnPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/ReturnPattern.java
@@ -40,13 +40,13 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.ReturnStatement;
import de.tu_bs.cs.isf.cbc.parser.exceptions.IFbCException;
import de.tu_bs.cs.isf.cbc.tool.diagram.CbCImageProvider;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.features.TestStatement;
import de.tu_bs.cs.isf.cbc.tool.helper.GetProjectUtil;
import de.tu_bs.cs.isf.cbc.tool.helper.HighlightHelper;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateInformationFlow;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateModifiableOfConditions;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.lattice.Lattice;
import de.tu_bs.cs.isf.lattice.Lattices;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/StatementPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/StatementPattern.java
index 05c602466..360bd30e2 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/StatementPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/StatementPattern.java
@@ -45,12 +45,12 @@
import de.tu_bs.cs.isf.cbc.parser.exceptions.IFbCException;
import de.tu_bs.cs.isf.cbc.tool.diagram.CbCImageProvider;
import de.tu_bs.cs.isf.cbc.tool.helper.GetProjectUtil;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.tool.helper.HighlightHelper;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateInformationFlow;
import de.tu_bs.cs.isf.cbc.tool.features.TestStatement;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateModifiableOfConditions;
import de.tu_bs.cs.isf.cbc.util.CompareMethodBodies;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
import de.tu_bs.cs.isf.lattice.Lattice;
import de.tu_bs.cs.isf.lattice.Lattices;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/VariablesPattern.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/VariablesPattern.java
index ce41601a9..1eac85be0 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/VariablesPattern.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/patterns/VariablesPattern.java
@@ -44,9 +44,9 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.JavaVariables;
import de.tu_bs.cs.isf.cbc.cbcmodel.VariableKind;
import de.tu_bs.cs.isf.cbc.cbcmodel.impl.CbCFormulaImpl;
-import de.tu_bs.cs.isf.cbc.tool.helper.DiagramPartsExtractor;
-import de.tu_bs.cs.isf.cbc.tool.model.CbcModelUtil;
+import de.tu_bs.cs.isf.cbc.util.CbcModelUtil;
import de.tu_bs.cs.isf.cbc.util.ClassUtil;
+import de.tu_bs.cs.isf.cbc.util.DiagramPartsExtractor;
import de.tu_bs.cs.isf.cbc.util.FeatureUtil;
import de.tu_bs.cs.isf.cbc.util.FileUtil;
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/CodeReaderSection.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/CodeReaderSection.java
index 93cf8813e..b52f04df4 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/CodeReaderSection.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/CodeReaderSection.java
@@ -28,10 +28,10 @@
import de.tu_bs.cs.isf.cbc.cbcmodel.AbstractStatement;
import de.tu_bs.cs.isf.cbc.cbcmodel.Condition;
import de.tu_bs.cs.isf.cbc.tool.diagram.CbCDiagramTypeProvider;
-import de.tu_bs.cs.isf.cbc.tool.helper.UpdateConditionsOfChildren;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateContractsToProve;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateMethodCallsToProve;
import de.tu_bs.cs.isf.cbc.tool.helper.UpdateOriginalCallsToProve;
+import de.tu_bs.cs.isf.cbc.util.UpdateConditionsOfChildren;
/**
* Class for the Code-Reader-Tab of the Properties-View. Formats CorC-Code to
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/SettingsSection.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/SettingsSection.java
index 190fc2c1b..66606217b 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/SettingsSection.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/SettingsSection.java
@@ -30,7 +30,8 @@
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
import de.tu_bs.cs.isf.cbc.exceptions.SettingsException;
-import de.tu_bs.cs.isf.cbc.tool.helper.FileHandler;
+import de.tu_bs.cs.isf.cbc.util.FileHandler;
+import de.tu_bs.cs.isf.cbc.util.Settings;
/**
* Class for the Behavior-Tab of the Properties-View.
diff --git a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/TestSection.java b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/TestSection.java
index bc4739d69..40b028a89 100644
--- a/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/TestSection.java
+++ b/de.tu-bs.cs.isf.cbc.tool/src/de/tu_bs/cs/isf/cbc/tool/propertiesview/TestSection.java
@@ -3,14 +3,9 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
import org.eclipse.graphiti.ui.platform.GFPropertySection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.layout.GridData;
@@ -27,6 +22,7 @@
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
import de.tu_bs.cs.isf.cbc.exceptions.SettingsException;
+import de.tu_bs.cs.isf.cbc.util.TestValues;
public class TestSection extends GFPropertySection implements ITabbedPropertyConstants {
final List