/** * */ package org.js.model.feature; import java.io.IOException; import java.net.URL; import java.util.Collections; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.Resource.Factory; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.js.model.feature.resource.eft.mopp.EftResourceFactory; /** * @author Julia * */ public class FeatureModelTest { private FeatureModel satfeatureModel; private FeatureModel unsatfeatureModel; public FeatureModelTest() { ResourceSet resourceSet = new ResourceSetImpl(); satfeatureModel = (FeatureModel) loadTestModel("simpleFM_sat.eft", "eft", new EftResourceFactory(), resourceSet); unsatfeatureModel = (FeatureModel) loadTestModel("simpleFM_unsat.eft", "eft", new EftResourceFactory(), resourceSet); } private EObject loadTestModel(String filename, String suffix, Factory resourceFactory, ResourceSet resourceSet) { resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(suffix, resourceFactory); URL fileresource = this.getClass().getClassLoader().getResource(filename); String path = fileresource.getPath(); URI uri = URI.createFileURI(path); Resource resource = resourceSet.getResource(uri, true); try { resource.load(Collections.EMPTY_MAP); System.out.println("Loaded " + uri); EList<EObject> contents = resource.getContents(); if (contents != null && !contents.isEmpty()) { return contents.get(0); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public FeatureModel getSatFeatureModel(){ return satfeatureModel; } public FeatureModel getUnsatFeatureModel(){ return unsatfeatureModel; } }