diff --git a/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimResourceImpl.java b/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimResourceImpl.java index 782d8b6fa8d637a960ec865d97ef3367ea2ca8ce..c9b8e5f3009a6b75730fe2c1a3421fa8cf361bce 100644 --- a/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimResourceImpl.java +++ b/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimResourceImpl.java @@ -17,6 +17,7 @@ package fr.centralesupelec.edf.riseclipse.cim.cim17.util; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.xmi.XMLHelper; +import org.eclipse.emf.ecore.xmi.XMLLoad; import org.eclipse.emf.ecore.xmi.XMLSave; /** @@ -39,6 +40,11 @@ public abstract class CimResourceImpl extends fr.centralesupelec.edf.riseclipse. super( uri ); } + @Override + protected XMLLoad createXMLLoad() { + return new CimXMLLoadImpl( createXMLHelper() ); + } + @Override protected XMLSave createXMLSave() { return new CimXMLSaveImpl( createXMLHelper() ); diff --git a/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLHandler.java b/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLHandler.java index 198a79cada693b0a3f32c4e6705f393bdf9b0ff5..acf5b23f6c2f150ffb653fc91c3d76faf4614433 100644 --- a/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLHandler.java +++ b/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLHandler.java @@ -22,12 +22,13 @@ import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.xmi.XMLHelper; import org.eclipse.emf.ecore.xmi.XMLResource; -public abstract class CimXMLHandler extends fr.centralesupelec.edf.riseclipse.cim.util.cimxml.CimXMLHandler { +public class CimXMLHandler extends fr.centralesupelec.edf.riseclipse.cim.util.cimxml.CimXMLHandler { public CimXMLHandler( XMLResource xmiResource, XMLHelper helper, Map< ?, ? > options ) { super( CimConstants.cimURI, xmiResource, helper, options ); } + // This method needs the specific URI @Override protected boolean setEnumValue( EObject object, EStructuralFeature feature, String resource ) { if( resource.startsWith( CimConstants.cimURISharp ) ) { diff --git a/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLLoadImpl.java b/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLLoadImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..e9fb6fbcafd98a355036f8c98e4cd8e5bd47c186 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.cim.cim17.util/src/fr/centralesupelec/edf/riseclipse/cim/cim17/util/CimXMLLoadImpl.java @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2016 CentraleSupélec & EDF. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * This file is part of the RiseClipse tool + * + * Contributors: + * Computer Science Department, CentraleSupélec : initial implementation + * Contacts: + * Dominique.Marcadet@centralesupelec.fr + * + */ +package fr.centralesupelec.edf.riseclipse.cim.cim17.util; + +import org.eclipse.emf.ecore.xmi.XMLHelper; +import org.xml.sax.helpers.DefaultHandler; + +public class CimXMLLoadImpl extends fr.centralesupelec.edf.riseclipse.cim.util.cimxml.CimXMLLoadImpl { + + public CimXMLLoadImpl( XMLHelper helper ) { + super( helper ); + } + + @Override + protected DefaultHandler makeDefaultHandler() { + return new CimXMLHandler( resource, helper, options ); + } + +}