diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java index ff6436f80d04881a4ed915f9e8e3261a9fe4120f..dc6b60c0bde3de1fbfb88c400572a44e80f755b6 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java @@ -452,9 +452,9 @@ public class RiseClipseValidatorSCL { console.info( " dominique.marcadet@centralesupelec.fr" ); console.info( " aurelie.dehouck-neveu@edf.fr" ); console.info( "Web site:" ); - console.info( " http://wdi.supelec.fr/software/RiseClipse/" ); + console.info( " http://wdi.centralesupelec.fr/software/RiseClipse/" ); console.info( "" ); - console.info( "RiseClipseValidatorSCL version: 1.1.0 a18 (19 February 2020)" ); + console.info( "RiseClipseValidatorSCL version: 1.1.0 a19 (31 March 2020)" ); console.info( "" ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java index 639b358dd550b8a8be2bb9b8189a709b6879637b..bccbaa85dcb79a62a44a2785b510b10caa39fb58 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/nsd/DataObjectPresenceConditionValidator.java @@ -15,7 +15,7 @@ ** dominique.marcadet@centralesupelec.fr ** aurelie.dehouck-neveu@edf.fr ** Web site: -** http://wdi.supelec.fr/software/RiseClipse/ +** http://wdi.centralesupelec.fr/software/RiseClipse/ ************************************************************************* */ package fr.centralesupelec.edf.riseclipse.iec61850.scl.validator.nsd; @@ -626,16 +626,17 @@ public class DataObjectPresenceConditionValidator { private boolean addDO( DO do_, String anyLNClassName, DiagnosticChain diagnostics ) { // An instance number may be set as a suffix - String[] names; - if( do_.getName().matches( "[a-zA-Z]+\\d+" )) { + // but a number at the end of the name is not always an instance number ! + // Therefore, we first look for with the full name, then with the name without the suffix + + String[] names = new String[] { do_.getName() }; + if( ! presentDO.containsKey( names[0] )) { + // if( do_.getName().matches( "[a-zA-Z]+\\d+" )) { names = do_.getName().split( "(?=\\d)", 2 ); - } - else { - names = new String[] { do_.getName() }; - } - if( names.length == 0 ) { - console.error( "[NSD validation] Unexpected DO name " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() ); - return false; + if( names.length == 0 ) { + console.error( "[NSD validation] Unexpected DO name " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() ); + return false; + } } if( ! presentDO.containsKey( names[0] )) { if( base != null ) {