From 97f8ffc0728165724a2505954e36e894caba4cdd Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Sat, 30 Mar 2019 18:13:33 +0100 Subject: [PATCH] build explicit links in NSD early enough --- .../iec61850/scl/validator/NsdValidator.java | 13 +++++++++++-- .../scl/validator/RiseClipseValidatorSCL.java | 7 +------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/NsdValidator.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/NsdValidator.java index 03548c4..f4ff3c3 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/NsdValidator.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/NsdValidator.java @@ -52,10 +52,19 @@ public class NsdValidator { console.info( "Loading nsd: " + nsdFile ); nsdLoader.load( nsdFile ); } - - public void validate( Resource resource, final AdapterFactory adapter, IRiseClipseConsole console ) { + + public void prepare( @NonNull ComposedEValidator validator, IRiseClipseConsole console ) { nsdLoader.getResourceSet().finalizeLoad( console ); + for( EValidator v : validator.getChildren() ) { + if( v.getClass() == NsdEObjectValidator.class ) { + NsdEObjectValidator nsdValidator = ( NsdEObjectValidator ) v; + nsdValidator.initializeValidationData(); + } + } + } + + public void validate( Resource resource, final AdapterFactory adapter, IRiseClipseConsole console ) { Map< Object, Object > context = new HashMap< Object, Object >(); SubstitutionLabelProvider substitutionLabelProvider = new EValidator.SubstitutionLabelProvider() { diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java index e0c46a8..20924c0 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl.tools/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java @@ -147,17 +147,12 @@ public class RiseClipseValidatorSCL { for( int i = 0; i < nsdFiles.size(); ++i ) { nsdValidator.addNsdDocument( nsdFiles.get( i ), console ); } + nsdValidator.prepare( validator, console ); } sclLoader = new SCLModelLoader( console ); sclAdapter = new SclItemProviderAdapterFactory(); - for( EValidator v : validator.getChildren() ) { - if( v.getClass() == NsdEObjectValidator.class ) { - NsdEObjectValidator nsdValidator = ( NsdEObjectValidator ) v; - nsdValidator.initializeValidationData(); - } - } } public static void run( IRiseClipseConsole console, boolean make_explicit_links, String sclFile ) { -- GitLab