From 4034449b6542c9c84070fd43a16703bca1c2539b Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Fri, 15 Feb 2019 17:54:26 +0100 Subject: [PATCH] take into account resourceSet with several kind of resources --- .../iec61850/nsd/util/NsdResourceSetFactory.java | 4 ++-- .../iec61850/nsd/util/NsdResourceSetImpl.java | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java index 1745045..17f4516 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java @@ -29,9 +29,9 @@ public class NsdResourceSetFactory extends RiseClipseResourceSetFactory { * @see fr.centralesupelec.edf.riseclipse.util.RiseClipseResourceSetFactory#createResourceSet() */ @Override - public IRiseClipseResourceSet createResourceSet( IRiseClipseConsole console ) { + public IRiseClipseResourceSet createResourceSet( boolean strictContent, IRiseClipseConsole console ) { // TODO Auto-generated method stub - return new NsdResourceSetImpl( console ); + return new NsdResourceSetImpl( strictContent, console ); } } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java index c1f7492..3675b7c 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java @@ -35,8 +35,8 @@ public class NsdResourceSetImpl extends RiseClipseResourceSet { private Map< String, NS > nsdResources; - public NsdResourceSetImpl( IRiseClipseConsole console ) { - super( console ); + public NsdResourceSetImpl( boolean strictContent, IRiseClipseConsole console ) { + super( strictContent, console ); nsdResources = new HashMap< String, NS >(); } @@ -46,8 +46,8 @@ public class NsdResourceSetImpl extends RiseClipseResourceSet { super.demandLoad( resource ); if( ! ( resource instanceof NsdResourceImpl )) { - AbstractRiseClipseConsole.getConsole().error( "The file " + resource.getURI() + " is not an NSD file" ); - this.getResources().remove( resource ); + // if strictContent is false, another king of resource is allowed. + // We just ignore it. return; } if( ! ( resource.getContents().get( 0 ) instanceof DocumentRoot )) { @@ -110,9 +110,11 @@ public class NsdResourceSetImpl extends RiseClipseResourceSet { */ private void buildExplicitLinks( IRiseClipseConsole console ) { for( Resource resource : getResources() ) { - DocumentRoot root = (DocumentRoot) resource.getContents().get( 0 ); - NS ns = ( NS ) root.getNS(); - ns.buildExplicitLinks( console, true ); + if( resource instanceof NsdResourceImpl ) { + DocumentRoot root = (DocumentRoot) resource.getContents().get( 0 ); + NS ns = ( NS ) root.getNS(); + ns.buildExplicitLinks( console, true ); + } } } -- GitLab