From b27cd432c5a14ca10f786afb33394400ff6228c7 Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Tue, 31 Mar 2020 14:46:47 +0200 Subject: [PATCH] check with regex before finding instance number --- .../nsd/DataObjectPresenceConditionValidator.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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 bccbaa8..a28a431 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 @@ -631,11 +631,12 @@ public class DataObjectPresenceConditionValidator { 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 ); - if( names.length == 0 ) { - console.error( "[NSD validation] Unexpected DO name " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() ); - return false; + if( do_.getName().matches( "[a-zA-Z]+\\d+" )) { + names = do_.getName().split( "(?=\\d)", 2 ); + if( names.length != 2 ) { + console.error( "[NSD validation] Unexpected DO name " + do_.getName() + " in LNodeType (line " + do_.getParentLNodeType().getLineNumber() ); + return false; + } } } if( ! presentDO.containsKey( names[0] )) { -- GitLab