From f22dcb43b3473bac3cc87b141ed63b819593a8eb Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Tue, 14 May 2019 09:41:52 +0200 Subject: [PATCH] implement new method createRiseClipseResource() --- .../iec61850/scl/util/SclResourceSetImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/util/SclResourceSetImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/util/SclResourceSetImpl.java index f2847b8..a255f14 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/util/SclResourceSetImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/util/SclResourceSetImpl.java @@ -22,20 +22,39 @@ package fr.centralesupelec.edf.riseclipse.iec61850.scl.util; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import java.util.Optional; +import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import fr.centralesupelec.edf.riseclipse.iec61850.scl.SCL; +import fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.scl.impl.SclPackageImpl; import fr.centralesupelec.edf.riseclipse.util.AbstractRiseClipseConsole; import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseResource; +import fr.centralesupelec.edf.riseclipse.util.RiseClipseMetamodel; import fr.centralesupelec.edf.riseclipse.util.AbstractRiseClipseResourceSet; @SuppressWarnings( "unused" ) public class SclResourceSetImpl extends AbstractRiseClipseResourceSet { + private SclResourceFactoryImpl resourceFactory; + public SclResourceSetImpl( boolean strictContent, IRiseClipseConsole console ) { super( strictContent, console ); + + resourceFactory = new SclResourceFactoryImpl(); + } + + @Override + protected SclResourceImpl createRiseClipseResource( URI uri, String contentType ) { + Optional< String > metamodel = RiseClipseMetamodel.findMetamodelFor( uri ); + if( metamodel.isPresent() && SclPackage.eNS_URI.equals( metamodel.get() )) { + return resourceFactory.createResource( uri ); + } + return null; } /* (non-Javadoc) -- GitLab