/**
*
*/
package com.sap.furcas.modeladaptation.emf;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import com.sap.furcas.modeladaptation.emf.adaptation.EMFModelAdapter;
import com.sap.furcas.modeladaptation.emf.lookup.QueryBasedEcoreMetaModelLookUp;
import com.sap.furcas.runtime.common.exceptions.ModelAdapterException;
import com.sap.furcas.runtime.common.util.TCSSpecificOCLEvaluator;
import com.sap.furcas.runtime.parser.PartitionAssignmentHandlerBaseImpl;
import com.sap.ocl.oppositefinder.query2.Query2OppositeEndFinder;
import de.hpi.sam.bp2009.solution.queryContextScopeProvider.impl.ProjectDependencyQueryContextProvider;
/**
* Helper class. Makes it easier to call several model adapter methods.
*/
public class TestableEMFModelAdapter extends EMFModelAdapter {
public TestableEMFModelAdapter(ResourceSet resourceSet, Resource transientResource, EPackage metamodelPackage) {
super(resourceSet, new PartitionAssignmentHandlerBaseImpl(transientResource),
new QueryBasedEcoreMetaModelLookUp(resourceSet, Collections.singleton(URI.createURI(metamodelPackage.getNsURI()))),
new HashSet<URI>(), new TCSSpecificOCLEvaluator(), new Query2OppositeEndFinder(new ProjectDependencyQueryContextProvider(resourceSet)));
}
public Object createElement(String string) throws ModelAdapterException {
List<String> typeName = Arrays.asList(string.split("::"));
return super.createElement(typeName);
}
public Object getMetaType(String typeString) throws ModelAdapterException {
List<String> typeName = Arrays.asList(typeString.split("::"));
return super.getMetaType(typeName);
}
public Object createEnumLiteral(String string, String string2) throws ModelAdapterException {
List<String> typeName = Arrays.asList(string.split("::"));
return super.createEnumLiteral(typeName, string2);
}
}