From f2565869bcd5f85655ddd1dc3cf378d7891c8469 Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Tue, 21 May 2019 09:02:57 +0200 Subject: [PATCH] add missing error messages for MONamPlt --- .../DataObjectPresenceConditionValidator.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 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 e31d669..54be618 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 @@ -485,7 +485,6 @@ public class DataObjectPresenceConditionValidator { // Element is mandatory if the name space of its logical node deviates from the name space of the containing // logical device, otherwise optional. See IEC 61850-7-1 for use of name space // TODO: same as "MOlnNs" ? - console.warning( "[NSD setup] NOT IMPLEMENTED: DataObject " + name + " declared as \"MONamPlt\" in PresenceCondition" ); if( mandatoryIfNameSpaceOfLogicalNodeDeviatesElseOptional2 == null ) mandatoryIfNameSpaceOfLogicalNodeDeviatesElseOptional2 = new HashSet<>(); mandatoryIfNameSpaceOfLogicalNodeDeviatesElseOptional2.add( name ); break; @@ -1565,7 +1564,12 @@ public class DataObjectPresenceConditionValidator { lnNs = da1.get().getVal().get( 0 ).getValue(); } else if( da1.get().getVal().size() > 1 ) { - // TODO: error + diagnostics.add( new BasicDiagnostic( + Diagnostic.WARNING, + RiseClipseValidatorSCL.DIAGNOSTIC_SOURCE, + 0, + "[NSD validation] PresenceCondition \"MONamPlt\" for DO for LNodeType (line " + lNodeType.getLineNumber() + "): multiple values for lnNs", + new Object[] { lNodeType } )); } } @@ -1595,7 +1599,12 @@ public class DataObjectPresenceConditionValidator { ldNs = da2.get().getVal().get( 0 ).getValue(); } else if( da2.get().getVal().size() > 1 ) { - // TODO: error + diagnostics.add( new BasicDiagnostic( + Diagnostic.WARNING, + RiseClipseValidatorSCL.DIAGNOSTIC_SOURCE, + 0, + "[NSD validation] PresenceCondition \"MONamPlt\" for DO for LNodeType (line " + lNodeType.getLineNumber() + "): multiple values for ldNs", + new Object[] { lNodeType } )); } } } @@ -1616,17 +1625,13 @@ public class DataObjectPresenceConditionValidator { } } else { - // TODO: error + diagnostics.add( new BasicDiagnostic( + Diagnostic.WARNING, + RiseClipseValidatorSCL.DIAGNOSTIC_SOURCE, + 0, + "[NSD validation] PresenceCondition \"MONamPlt\" for DO for LNodeType (line " + lNodeType.getLineNumber() + "): DOType not found", + new Object[] { lNodeType } )); } - -// if( presentDO.get( name ) != null ) { -// diagnostics.add( new BasicDiagnostic( -// Diagnostic.WARNING, -// RiseClipseValidatorSCL.DIAGNOSTIC_SOURCE, -// 0, -// "[NSD validation] verification of PresenceCondition \"MONamPlt\" for DO " + name + " is not implemented in LNodeType (line " + lNodeType.getLineNumber() + ") with LNClass " + anyLNClassName, -// new Object[] { lNodeType } )); -// } } // presCond: "OF" : -- GitLab