diff options
author | Horacio Hoyos Rodriguez | 2019-05-29 09:50:00 +0000 |
---|---|---|
committer | Horacio Hoyos Rodriguez | 2019-05-29 09:50:00 +0000 |
commit | d3a99d56a374d1ce3489934c235466f5a862a4d1 (patch) | |
tree | d7e6963b505fcf42d59979f551817418bc08e0ed | |
parent | 7fb36e4d86c6941a062b5d93081968fd0c9705e9 (diff) | |
parent | 7e2260ed263c5e86d008b6faba467e603a85b67e (diff) | |
download | org.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
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); } } |