4 package robots.missions.validation
6 import org.eclipse.xtext.validation.Check
7 import robots.missions.taskDSL.Mission
9 //import org.eclipse.xtext.validation.Check
11 * This class contains custom validation rules.
13 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
15 class TaskDSLValidator extends AbstractTaskDSLValidator {
17 // public static val INVALID_NAME = 'invalidName'
20 // def checkGreetingStartsWithCapital(Greeting greeting) {
21 // if (!Character.isUpperCase(greeting.name.charAt(0))) {
22 // warning('Name should start with a capital',
23 // MyDslPackage.Literals.GREETING__NAME,
28 def checkStoppingExpressionShouldHaveOneBehaviourToCollectColor(Mission mission) {
29 var isCollectColorExist = false;
30 if (!mission.se.scond.colors.nullOrEmpty) {
31 var blist = mission.behaviours;
32 for (var j = 0; j < blist.size; j++) {
33 if (!blist.get(j).clcColor.nullOrEmpty) {
34 isCollectColorExist = true;
38 if (!isCollectColorExist) {
39 error("Must specify one behaviour to collect color", null)