From 83f4f1b90ee29ecc3189efcba71487743ea926dd Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Fri, 24 May 2019 09:00:35 +0200 Subject: [PATCH] value of dataNs missing is an error --- .../DataObjectPresenceConditionValidator.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java index b86fece..2f2f049 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java @@ -591,21 +591,28 @@ public class DataObjectPresenceConditionValidator { .filter( d -> "dataNs".equals( d.getName() )) .findAny(); if( da.isPresent() ) { - String value = " without value"; if( da.get().getVal().size() > 0 ) { - value = " with value ["; + String value = ""; for( Val v : da.get().getVal() ) { value += " " + v.getValue(); } - value += " ]"; + diagnostics.add( new BasicDiagnostic( + Diagnostic.INFO, + RiseClipseValidatorSCL.DIAGNOSTIC_SOURCE, + 0, + "[NSD validation] DO " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() + + " is specific because it has DA \"dataNs\" with value [" + value + " ]", + new Object[] { do_ } )); + return true; } diagnostics.add( new BasicDiagnostic( - Diagnostic.INFO, + Diagnostic.ERROR, RiseClipseValidatorSCL.DIAGNOSTIC_SOURCE, 0, - "[NSD validation] DO " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() + " is specific and has DA \"dataNs\"" + value, + "[NSD validation] DO " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() + + " is specific because it has DA \"dataNs\" but value is missing", new Object[] { do_ } )); - return true; + return false; } } diagnostics.add( new BasicDiagnostic( -- GitLab