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