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 174504502766538404090285dfebcefa96be2349..17f4516d86c877336cc986b596cf9a1e4de50aa1 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 c1f74920ac223fc59f4941196d7d09a3c0d75632..3675b7c99637ff0028decd76e72051409ab97ed2 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 ); + } } }