Skip to content
Snippets Groups Projects
Commit 44d012d5 authored by Dominique Marcadet's avatar Dominique Marcadet
Browse files

update to changes in main

add new classes CimResourceSet and CimResourceSetFactory
parent b0e0dfee
Branches
No related tags found
1 merge request!21Resolve "update to changes in RiseClipseMain"
......@@ -22,17 +22,18 @@ import java.util.HashMap;
import java.util.Map;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.impl.XMLMapImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
import fr.centralesupelec.edf.riseclipse.util.IRiseClipseResourceFactory;
/**
*/
public abstract class CimResourceFactoryImpl extends ResourceFactoryImpl {
public abstract class CimResourceFactoryImpl extends ResourceFactoryImpl implements IRiseClipseResourceFactory {
private Map< Object, Object > nameToFeatureCache;
......@@ -53,7 +54,7 @@ public abstract class CimResourceFactoryImpl extends ResourceFactoryImpl {
protected abstract CimResourceHandler createCimResourceHandler();
@Override
public Resource createResource( URI uri ) {
public CimResourceImpl createResource( URI uri ) {
CimResourceImpl result = createCimResource( uri );
result.getDefaultSaveOptions().put( XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE );
......
......@@ -29,7 +29,6 @@ import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
import fr.centralesupelec.edf.riseclipse.util.AbstractRiseClipseConsole;
import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole;
import fr.centralesupelec.edf.riseclipse.util.IRiseClipseResource;
......@@ -107,11 +106,12 @@ public abstract class CimResourceImpl extends XMLResourceImpl implements IRiseCl
}
@Override
public void finalizeLoad( boolean ignore_unresolved_reference ) {
public void finalizeLoad( IRiseClipseConsole console ) {
// Avoid NPE when XML parser fails and endDocument is not called
if( cimXMLHandler != null ) {
loadFinalization = true;
if( ignore_unresolved_reference ) cimXMLHandler.set_ignore_unresolved_reference();
// TODO: find why this was needed and adapt accordingly
// if( ignore_unresolved_reference ) cimXMLHandler.set_ignore_unresolved_reference();
cimXMLHandler.handleCrossResourceReferences();
// put it back to false, because if another resource is finalizing and ask us for
// an object, we must not search in another resource
......@@ -131,7 +131,7 @@ public abstract class CimResourceImpl extends XMLResourceImpl implements IRiseCl
this.getContents().remove( object );
}
else {
AbstractRiseClipseConsole.getConsole().error(
console.error(
"cannot find foreign object with ID " + this.getID( object ) + " in "
+ this.uri.lastSegment() );
}
......
/**
* Copyright (c) 2019 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
* EDF R&D
* Contacts:
* dominique.marcadet@centralesupelec.fr
* aurelie.dehouck-neveu@edf.fr
* Web site:
* http://wdi.supelec.fr/software/RiseClipse/
*
*/
package fr.centralesupelec.edf.riseclipse.cim.util.cimxml;
import fr.centralesupelec.edf.riseclipse.util.IRiseClipseResourceSetFactory;
public abstract class CimResourceSetFactory implements IRiseClipseResourceSetFactory {
public CimResourceSetFactory() {
super();
}
}
/**
* Copyright (c) 2019 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
* EDF R&D
* Contacts:
* dominique.marcadet@centralesupelec.fr
* aurelie.dehouck-neveu@edf.fr
* Web site:
* http://wdi.supelec.fr/software/RiseClipse/
*
*/
package fr.centralesupelec.edf.riseclipse.cim.util.cimxml;
import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole;
import fr.centralesupelec.edf.riseclipse.util.IRiseClipseResource;
import fr.centralesupelec.edf.riseclipse.util.AbstractRiseClipseResourceSet;
public abstract class CimResourceSetImpl extends AbstractRiseClipseResourceSet {
protected CimResourceFactoryImpl resourceFactory;
public CimResourceSetImpl( boolean strictContent ) {
super( strictContent );
}
/* (non-Javadoc)
* @see fr.centralesupelec.edf.riseclipse.util.AbstractRiseClipseResourceSet#finalizeLoad(fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole)
*/
@Override
public void finalizeLoad( IRiseClipseConsole console ) {
for( IRiseClipseResource resource : getRiseClipseResources() ) {
resource.finalizeLoad( console );
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment