service framework refactored (made xtext independent)

This commit is contained in:
sefftinge 2008-07-15 14:38:55 +00:00 committed by sefftinge
parent e3e0efa955
commit fc46480cd4
4 changed files with 19 additions and 19 deletions

View file

@ -10,9 +10,9 @@ import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.xtext.resource.IResourceFactory;
import org.eclipse.xtext.service.ILanguageDescriptor;
import org.eclipse.xtext.service.LanguageDescriptorFactory;
import org.eclipse.xtext.service.IServiceScope;
import org.eclipse.xtext.service.ServiceRegistry;
import org.eclipse.xtext.service.ServiceScopeFactory;
import org.eclipse.xtext.testlanguages.ITestLanguage;
import org.eclipse.xtext.tests.AbstractGeneratorTest;
import org.eclipse.xtext.xtext2ecore.EcoreModelComparator;
@ -21,8 +21,8 @@ public class ResourceTest extends AbstractGeneratorTest {
public void testResource() throws Exception {
new Object(); // workaround for Java bug on MacOSX
ILanguageDescriptor languageDescriptor = LanguageDescriptorFactory.get(ITestLanguage.ID);
IResourceFactory resourceFactory = ServiceRegistry.getService(languageDescriptor, IResourceFactory.class);
IServiceScope serviceScope = ServiceScopeFactory.get(ITestLanguage.ID);
IResourceFactory resourceFactory = ServiceRegistry.getService(serviceScope, IResourceFactory.class);
File modelFile = File.createTempFile("testfile", "." + resourceFactory.getModelFileExtensions()[0]);
modelFile.deleteOnExit();

View file

@ -7,7 +7,7 @@ import org.eclipse.xtext.tests.AbstractGeneratorTest;
public class InheritanceTest extends AbstractGeneratorTest {
static {
ServiceRegistry.registerService(AbstractTestLanguageStandaloneSetup.getLanguageDescriptor(),
ServiceRegistry.registerService(AbstractTestLanguageStandaloneSetup.getServiceScope(),
IValueConverterService.class, AbstractTestLanguageValueConverters.class);
}

View file

@ -30,7 +30,7 @@ import org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor;
import org.eclipse.xtext.resource.IResourceFactory;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.eclipse.xtext.service.ILanguageDescriptor;
import org.eclipse.xtext.service.IServiceScope;
import org.eclipse.xtext.service.ServiceRegistry;
import org.eclipse.xtext.util.StringInputStream;
import org.openarchitectureware.expression.ExecutionContextImpl;
@ -58,10 +58,10 @@ public abstract class AbstractGeneratorTest extends TestCase {
}
private ILanguageDescriptor currentLanguageDescriptor;
private IServiceScope currentScope;
public ILanguageDescriptor getCurrentLanguageDescriptor() {
return currentLanguageDescriptor;
public IServiceScope getCurrentServiceScope() {
return currentScope;
}
@Override
@ -73,36 +73,36 @@ public abstract class AbstractGeneratorTest extends TestCase {
@Override
protected void tearDown() throws Exception {
super.tearDown();
currentLanguageDescriptor = null;
currentScope = null;
}
/**
* call this to set the language class to be used in the current test.
*/
protected void with(Class<?> standaloneSetup) throws Exception {
Method getLangDescMethod = standaloneSetup.getMethod("getLanguageDescriptor");
currentLanguageDescriptor = (ILanguageDescriptor) getLangDescMethod.invoke(null);
assert currentLanguageDescriptor != null;
Method getLangDescMethod = standaloneSetup.getMethod("getServiceScope");
currentScope = (IServiceScope) getLangDescMethod.invoke(null);
assert currentScope != null;
}
protected IParser getParser() {
return ServiceRegistry.getService(currentLanguageDescriptor, IParser.class);
return ServiceRegistry.getService(currentScope, IParser.class);
}
protected IAstFactory getASTFactory() {
return ServiceRegistry.getService(currentLanguageDescriptor, IAstFactory.class);
return ServiceRegistry.getService(currentScope, IAstFactory.class);
}
protected IParseTreeConstructor getParseTreeConstructor() {
return ServiceRegistry.getService(currentLanguageDescriptor, IParseTreeConstructor.class);
return ServiceRegistry.getService(currentScope, IParseTreeConstructor.class);
}
protected IResourceFactory getResourceFactory() {
return ServiceRegistry.getService(currentLanguageDescriptor, IResourceFactory.class);
return ServiceRegistry.getService(currentScope, IResourceFactory.class);
}
protected IValueConverterService getValueConverterService() {
return ServiceRegistry.getService(currentLanguageDescriptor, IValueConverterService.class);
return ServiceRegistry.getService(currentScope, IValueConverterService.class);
}
// parse methods

View file

@ -40,7 +40,7 @@ public class ActionTest extends AbstractGeneratorTest {
}
private EPackage getActionLangEPackage() {
IMetamodelAccess metaModelAccess = ServiceRegistry.getService(ActionTestLanguageStandaloneSetup.getLanguageDescriptor(), IMetamodelAccess.class);
IMetamodelAccess metaModelAccess = ServiceRegistry.getService(ActionTestLanguageStandaloneSetup.getServiceScope(), IMetamodelAccess.class);
EPackage actionLangEPackage = metaModelAccess.getGeneratedEPackages()[0];
return actionLangEPackage;
}