X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=dsl%2Fxtend%2Fsrc%2Frobots%2Fmissions%2Fvalidation%2FTaskDSLValidator.xtend;h=f3926b5257882326ddcc937e5757d85a5dcc7e33;hb=095cdf6fc0cbad75c6057a401cbab23c18931a3d;hp=ae4ba7a9115230c0eeb8f4ca0588eb3fd23f7f1b;hpb=d9e24efc7491c75496d20fbfd1e48954605ea301;p=des2015.git diff --git a/dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend b/dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend index ae4ba7a..f3926b5 100644 --- a/dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend +++ b/dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend @@ -3,9 +3,6 @@ */ package robots.missions.validation -import org.eclipse.xtext.validation.Check -import robots.missions.taskDSL.Mission - //import org.eclipse.xtext.validation.Check /** * This class contains custom validation rules. @@ -13,30 +10,23 @@ import robots.missions.taskDSL.Mission * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation */ class TaskDSLValidator extends AbstractTaskDSLValidator { - -// public static val INVALID_NAME = 'invalidName' -// // @Check -// def checkGreetingStartsWithCapital(Greeting greeting) { -// if (!Character.isUpperCase(greeting.name.charAt(0))) { -// warning('Name should start with a capital', -// MyDslPackage.Literals.GREETING__NAME, -// INVALID_NAME) +// def checkOnlyOneBehaviourPerMissionEmptyTakeControl(Mission m) { +// var List empty = new LinkedList(); +// var List all = new LinkedList(); +// for(Behaviour b : m.behaviours){ +// if(b.tc == null){ +// empty.add(b.name); +// } +// all.add(b.name); +// } +// if(empty.size > 1){ +// warning("Multiple behaviours without takeControl predicate. You might want to remove some of: " + empty.toString(), m.eContainingFeature); +// } +// if(all.toSet().size() < all.size()){ +// warning("You have duplicate behaviours.", m, TaskDSLPackage.Literals::MISSION__BEHAVIOURS); // } // } - @Check - def checkStoppingExpressionShouldHaveOneBehaviourToCollectColor(Mission mission) { - var isCollectColorExist = false; - if (!mission.se.scond.colors.nullOrEmpty) { - var blist = mission.behaviours; - for (var j = 0; j < blist.size; j++) { - if (!blist.get(j).clcColor.nullOrEmpty) { - isCollectColorExist = true; - } - } - } - if (!isCollectColorExist) { - error("Must specify one behaviour to collect color", null) - } - } + +//Validate if the random degrees are correct }