From 168656c2c47b034aeec415990a4e2fb9171ed906 Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Tue, 21 May 2019 11:23:25 +0200 Subject: [PATCH] lnNs may be missing in MONamPlt --- .../nsd/DataObjectPresenceConditionValidator.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 54be618..cf7df6c 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 @@ -1543,7 +1543,8 @@ public class DataObjectPresenceConditionValidator { AbstractRiseClipseConsole.getConsole().verbose( "[NSD validation] validation of presence condition \"MONamPlt\" on LNodeType (id=" + lNodeType.getId() + ") at line " + lNodeType.getLineNumber() ); // The attribute lnNs shall be a DataAttribute of the name plate NamPlt of a logical node - String lnNs = ""; + // lnNs shall be available only if the logical node name space deviates from the name space referenced in the attribute ldNs of the LLN0 + String lnNs = null; Optional< DOType > doType = lNodeType .getDO() @@ -1575,7 +1576,7 @@ public class DataObjectPresenceConditionValidator { // The attribute ldNs shall be a DataAttribute of the name plate NamPlt of the LOGICAL- NODE-ZERO (LLN0). for( AnyLN anyLN : lNodeType.getReferredByAnyLN() ) { - String ldNs = ""; + String ldNs = null; doType = anyLN .getParentLDevice() @@ -1609,7 +1610,7 @@ public class DataObjectPresenceConditionValidator { } } - if( ! lnNs.equals( ldNs )) { + if(( lnNs != null ) && ( ! lnNs.equals( ldNs ))) { for( String name : mandatoryIfNameSpaceOfLogicalNodeDeviatesElseOptional2 ) { if( presentDO.get( name ) == null ) { diagnostics.add( new BasicDiagnostic( -- GitLab