Skip to content

Commit

Permalink
Make XtextInjectorProvider accessible for all test projects
Browse files Browse the repository at this point in the history
Signed-off-by: Moritz Eysholdt <moritz.eysholdt@itemis.de>
  • Loading branch information
Moritz Eysholdt committed Oct 5, 2015
1 parent 67de196 commit 3b16c3d
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 16 deletions.
2 changes: 1 addition & 1 deletion plugins/org.eclipse.xtext.junit4/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -8,36 +8,36 @@

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();
}
return injector;
}

public void restoreRegistry()
{
@Override
public void restoreRegistry() {
stateBeforeInjectorCreation.restoreGlobalState();
}

public void setupRegistry()
{
@Override
public void setupRegistry() {
getInjector();
stateAfterInjectorCreation.restoreGlobalState();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@

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;
Expand Down

0 comments on commit 3b16c3d

Please sign in to comment.