Make XtextInjectorProvider accessible for all test projects

Signed-off-by: Moritz Eysholdt <moritz.eysholdt@itemis.de>
This commit is contained in:
Moritz Eysholdt 2015-10-01 14:08:36 +02:00
parent 4d064aa885
commit 2b95508568
3 changed files with 15 additions and 16 deletions

View file

@ -8,7 +8,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.xtext.junit4,
org.eclipse.xtext.junit4.build,
org.eclipse.xtext.junit4.formatter;x-friends:="org.eclipse.xtext.xbase.tests",
org.eclipse.xtext.junit4.internal;x-internal:=true,
org.eclipse.xtext.junit4.internal;x-friends:="org.eclipse.xtext.tests,org.eclipse.xtext.junit4.tests",
org.eclipse.xtext.junit4.logging;x-internal:=true,
org.eclipse.xtext.junit4.serializer;x-internal:=true,
org.eclipse.xtext.junit4.smoketest,

View file

@ -1,4 +1,4 @@
package org.eclipse.xtext.junit4;
package org.eclipse.xtext.junit4.internal;
import org.eclipse.xtext.XtextStandaloneSetup;
import org.eclipse.xtext.junit4.GlobalRegistries;
@ -8,22 +8,22 @@ import org.eclipse.xtext.junit4.IRegistryConfigurator;
import com.google.inject.Injector;
public class XtextInjectorProvider implements IInjectorProvider, IRegistryConfigurator
{
/**
* @since 2.9
*/
public class XtextInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
protected GlobalStateMemento stateBeforeInjectorCreation;
protected GlobalStateMemento stateAfterInjectorCreation;
protected Injector injector;
static
{
static {
GlobalRegistries.initializeDefaults();
}
public Injector getInjector()
{
if (injector == null)
{
@Override
public Injector getInjector() {
if (injector == null) {
stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
this.injector = new XtextStandaloneSetup().createInjectorAndDoEMFRegistration();
stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
@ -31,13 +31,13 @@ public class XtextInjectorProvider implements IInjectorProvider, IRegistryConfig
return injector;
}
public void restoreRegistry()
{
@Override
public void restoreRegistry() {
stateBeforeInjectorCreation.restoreGlobalState();
}
public void setupRegistry()
{
@Override
public void setupRegistry() {
getInjector();
stateAfterInjectorCreation.restoreGlobalState();
}

View file

@ -9,8 +9,7 @@ package org.eclipse.xtext.junit4;
import org.eclipse.emf.ecore.EValidator;
import org.eclipse.xtext.XtextPackage;
import org.eclipse.xtext.junit4.InjectWith;
import org.eclipse.xtext.junit4.XtextRunner;
import org.eclipse.xtext.junit4.internal.XtextInjectorProvider;
import org.eclipse.xtext.validation.CompositeEValidator;
import org.junit.Assert;
import org.junit.Test;