mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 00:38:56 +00:00
service framework refactored (made xtext independent)
This commit is contained in:
parent
e3e0efa955
commit
fc46480cd4
4 changed files with 19 additions and 19 deletions
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue