From 21d48438f8432f3d14b2839642f39f3a9ebed803 Mon Sep 17 00:00:00 2001
From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr>
Date: Thu, 23 May 2019 08:53:49 +0200
Subject: [PATCH] avoid NPE when LN not in LDevice

---
 .../validator/nsd/DataObjectPresenceConditionValidator.java   | 4 ++++
 1 file changed, 4 insertions(+)

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 cf7df6c..b86fece 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
@@ -1576,6 +1576,10 @@ 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() ) {
+                    if(( anyLN.getParentLDevice() == null ) || ( anyLN.getParentLDevice().getLN0() == null )) {
+                        // TODO: error message ?
+                        continue;
+                    }
                     String ldNs = null;
                     doType =
                             anyLN
-- 
GitLab