Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHoracio Hoyos Rodriguez2019-05-29 09:50:00 +0000
committerHoracio Hoyos Rodriguez2019-05-29 09:50:00 +0000
commitd3a99d56a374d1ce3489934c235466f5a862a4d1 (patch)
treed7e6963b505fcf42d59979f551817418bc08e0ed
parent7fb36e4d86c6941a062b5d93081968fd0c9705e9 (diff)
parent7e2260ed263c5e86d008b6faba467e603a85b67e (diff)
downloadorg.eclipse.epsilon-hhoyos/iEvlExperiments.tar.gz
org.eclipse.epsilon-hhoyos/iEvlExperiments.tar.xz
org.eclipse.epsilon-hhoyos/iEvlExperiments.zip
Merge branch 'hhoyos/executors' into hhoyos/iEvlExperimentshhoyos/iEvlExperiments
-rw-r--r--plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/EvlExecutor.java10
-rw-r--r--plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/SimpleEvlExecutor.java33
2 files changed, 30 insertions, 13 deletions
diff --git a/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/EvlExecutor.java b/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/EvlExecutor.java
index bca0bfae6..7f6a20e6b 100644
--- a/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/EvlExecutor.java
+++ b/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/EvlExecutor.java
@@ -9,6 +9,7 @@
**********************************************************************/
package org.eclipse.epsilon.executors.evl;
+import java.io.PrintWriter;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -24,9 +25,8 @@ import org.eclipse.epsilon.executors.EpsilonLanguageExecutor;
*/
public interface EvlExecutor extends EpsilonLanguageExecutor<Collection<UnsatisfiedConstraint>> {
-
/**
- * Send the unsatisfied constraints to the log
+ * Send the unsatisfied constraints to the log, using the implementation logger
*/
void logUnsatisfied(Collection<UnsatisfiedConstraint> unsatisfiedConstraints);
@@ -34,6 +34,12 @@ public interface EvlExecutor extends EpsilonLanguageExecutor<Collection<Unsatisf
* Pretty print the unsatisfied constraints
*/
void printUnsatisfied(Collection<UnsatisfiedConstraint> unsatisfiedConstraints);
+
+ /**
+ * Pretty print the unsatisfied constraints using the specified printer
+ */
+ void printUnsatisfied(Collection<UnsatisfiedConstraint> unsatisfiedConstraints, PrintWriter writer);
+
List<Constraint> getConstraints();
diff --git a/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/SimpleEvlExecutor.java b/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/SimpleEvlExecutor.java
index 59f889a3f..629845b72 100644
--- a/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/SimpleEvlExecutor.java
+++ b/plugins/org.eclipse.epsilon.executors/src/org/eclipse/epsilon/executors/evl/SimpleEvlExecutor.java
@@ -10,6 +10,7 @@
package org.eclipse.epsilon.executors.evl;
import java.io.File;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
@@ -59,12 +60,10 @@ public class SimpleEvlExecutor implements EvlExecutor {
this(false, 0, evlFixer);
}
-
public SimpleEvlExecutor(boolean useParallel) {
this(useParallel, 1, new CommandLineFixer());
}
-
public SimpleEvlExecutor(boolean useParallel, int parallelism, IEvlFixer evlFixer) {
this(useParallel ? new EvlModuleParallelElements(parallelism) : new EvlModule());
module.setUnsatisfiedConstraintFixer(evlFixer);
@@ -174,9 +173,14 @@ public class SimpleEvlExecutor implements EvlExecutor {
logger.info("All constraints have been satisfied.");
}
}
-
+
@Override
public void printUnsatisfied(Collection<UnsatisfiedConstraint> unsatisfiedConstraints) {
+ printUnsatisfied(unsatisfiedConstraints, new PrintWriter(System.out, true));
+ }
+
+ @Override
+ public void printUnsatisfied(Collection<UnsatisfiedConstraint> unsatisfiedConstraints, PrintWriter writer) {
int numUnsatisfied = unsatisfiedConstraints.size();
if (numUnsatisfied > 0) {
// Separate critiques from constraints
@@ -196,24 +200,31 @@ public class SimpleEvlExecutor implements EvlExecutor {
int tabDivision = maxWidth.orElse(" ").length();
String msg = "Unsatisfied Contraints";
String division = new String(new char[msg.length()]).replace("\0", "=");
- System.out.println(msg);
- System.out.println(division);
+ writer.println();
+ writer.println(division);
+ writer.println(msg);
+ writer.println(division);
for (UnsatisfiedConstraint uc : consraints) {
- System.out.format("\u16D6 %-"+tabDivision+"s %s%n", uc.getConstraint().getName(), uc.getMessage());
+ writer.format("\u16D6 %-"+tabDivision+"s %s%n", uc.getConstraint().getName(), uc.getMessage());
}
+ writer.println(division);
msg = "Unsatisfied Critiques";
division = new String(new char[msg.length()]).replace("\0", "=");
- System.out.println(msg);
- System.out.println(division);
+ writer.println();
+ writer.println(division);
+ writer.println(msg);
+ writer.println(division);
for (UnsatisfiedConstraint uc : consraints) {
- System.out.format("\u16B9 %-"+tabDivision+"s %s%n", uc.getConstraint().getName(), uc.getMessage());
+ writer.format("\u16B9 %-"+tabDivision+"s %s%n", uc.getConstraint().getName(), uc.getMessage());
}
}
else {
String msg = "All constraints have been satisfied";
String division = new String(new char[msg.length()]).replace("\0", "=");
- System.out.println(msg);
- System.out.println(division);
+ writer.println();
+ writer.println(division);
+ writer.println(msg);
+ writer.println(division);
}
}

Back to the top