Java 类org.eclipse.xtext.testing.IInjectorProvider 实例源码

项目:n4js    文件:XtextParametrizedRunner.java   
/**
 * Implements behavior from: org.junit.runners.Parameterized$TestClassRunnerForParameters
 * org.eclipse.xtext.testing.XtextRunner
 */
@Override
public Object createTest() throws Exception {
    Object object;
    // Functionality of
    // org.junit.runners.Parameterized$TestClassRunnerForParameters
    if (fieldsAreAnnotated()) {
        object = createTestUsingFieldInjection();
    } else {
        object = createTestUsingConstructorInjection();
    }

    // Functionality of org.eclipse.xtext.testing.XtextRunner
    IInjectorProvider injectorProvider = getOrCreateInjectorProvider();
    if (injectorProvider != null) {
        Injector injector = injectorProvider.getInjector();
        if (injector != null)
            injector.injectMembers(object);
    }
    return object;
}
项目:solidity-ide    文件:InjectorProviders.java   
public static IInjectorProvider getOrCreateInjectorProvider(ExtensionContext context) {
    InjectWith injectWith = context.getRequiredTestClass().getAnnotation(InjectWith.class);
    if (injectWith != null) {
        Class<? extends IInjectorProvider> klass = injectWith.value();
        IInjectorProvider injectorProvider = injectorProviderClassCache.get(klass);
        if (injectorProvider == null) {
            try {
                injectorProvider = klass.newInstance();
                injectorProviderClassCache.put(klass, injectorProvider);
            } catch (Exception e) {
                throwUncheckedException(e);
            }
        }
        return injectorProvider;
    }
    return null;
}
项目:xtext-core    文件:AbstractScenarioRunner.java   
protected void process(String data) throws Exception {
    IInjectorProvider delegate = getOrCreateInjectorProvider().getDelegate();
    if (delegate instanceof IRegistryConfigurator) {
        IRegistryConfigurator registryConfigurator = (IRegistryConfigurator) delegate;
        registryConfigurator.setupRegistry();
        try {
            ScenarioProcessor processor = delegate.getInjector().getInstance(processorClass);
            String preProcessed = processor.preProcess(data);
            if (preProcessed == null) {
                throw new AssumptionViolatedException("Input is filtered by the pre processing step: " + data);
            }
            doProcess(preProcessed, processor);
        } finally {
            registryConfigurator.restoreRegistry();
        }
    }
}
项目:xtext-core    文件:InjectorProviders.java   
public static IInjectorProvider getOrCreateInjectorProvider(TestClass testClass) {
    InjectWith injectWith = testClass.getJavaClass().getAnnotation(InjectWith.class);
    if (injectWith != null) {
        Class<? extends IInjectorProvider> klass = injectWith.value();
        IInjectorProvider injectorProvider = injectorProviderClassCache.get(klass);
        if (injectorProvider == null) {
            try {
                injectorProvider = klass.newInstance();
                injectorProviderClassCache.put(klass, injectorProvider);
            } catch (Exception e) {
                throwUncheckedException(e);
            }
        }
        return injectorProvider;
    }
    return null;
}
项目:solidity-ide    文件:InjectorProviders.java   
public static IInjectorProvider getInjectorProvider(ExtensionContext context) {
    InjectWith injectWith = context.getRequiredTestClass().getAnnotation(InjectWith.class);
    if (injectWith != null) {
        return injectorProviderClassCache.get(injectWith.value());
    }
    return null;
}
项目:solidity-ide    文件:InjectorProviders.java   
public static IInjectorProvider createInjectorProvider(ExtensionContext context) {
    InjectWith injectWith = context.getRequiredTestClass().getAnnotation(InjectWith.class);
    if (injectWith != null) {
        try {
            return injectWith.value().newInstance();
        } catch (Exception e) {
            throwUncheckedException(e);
        }
    }
    return null;
}
项目:solidity-ide    文件:InjectionExtension.java   
@Override
public void beforeTestExecution(ExtensionContext context) throws Exception {
    IInjectorProvider injectorProvider = getOrCreateInjectorProvider(context);
    if (injectorProvider instanceof IRegistryConfigurator) {
        final IRegistryConfigurator registryConfigurator = (IRegistryConfigurator) injectorProvider;
        registryConfigurator.setupRegistry();
    }
    if (injectorProvider != null) {
        Injector injector = injectorProvider.getInjector();
        if (injector != null)
            injector.injectMembers(context.getRequiredTestInstance());
    }
}
项目:solidity-ide    文件:InjectionExtension.java   
@Override
public void afterTestExecution(ExtensionContext context) throws Exception {
    IInjectorProvider injectorProvider = getOrCreateInjectorProvider(context);
    if (injectorProvider instanceof IRegistryConfigurator) {
        final IRegistryConfigurator registryConfigurator = (IRegistryConfigurator) injectorProvider;
        registryConfigurator.restoreRegistry();
    }
}
项目:xtext-core    文件:AbstractParallelScenarioRunner.java   
@Override
protected Statement childrenInvoker(final RunNotifier notifier) {
    return new Statement() {
        @Override
        public void evaluate() throws Throwable {
            WrappingInjectorProvider wrapped = getOrCreateInjectorProvider();
            wrapped.setupRegistry();
            try {
                prepareChildren(notifier);
            } finally {
                wrapped.restoreRegistry();
            }
            IInjectorProvider delegate = wrapped.getDelegate();
            if (delegate instanceof IRegistryConfigurator) {
                IRegistryConfigurator registryConfigurator = (IRegistryConfigurator) delegate;
                registryConfigurator.setupRegistry();
                try {
                    runChildren(notifier);
                } finally {
                    registryConfigurator.restoreRegistry();
                }
            } else {
                runChildren(notifier);
            }
        }
    };
}
项目:xtext-core    文件:AbstractParallelScenarioRunner.java   
@Override
protected void process(String data) throws Exception {
    IInjectorProvider delegate = getOrCreateInjectorProvider().getDelegate();
    ScenarioProcessor processor = delegate.getInjector().getInstance(getProcessorClass());
    String preProcessed = processor.preProcess(data);
    if (preProcessed == null) {
        throw new AssumptionViolatedException("Input is filtered by the pre processing step: " + data);
    }
    doProcess(preProcessed, processor);
}
项目:xtext-core    文件:WrappingInjectorProvider.java   
public WrappingInjectorProvider(IInjectorProvider delegate) {
    this.delegate = delegate;
    stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
    this.injector = createInjector();
    if (delegate instanceof IRegistryConfigurator) {
        ((IRegistryConfigurator) delegate).setupRegistry();
    }
    registerFactory(injector);
    stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
    if (delegate instanceof IRegistryConfigurator) {
        ((IRegistryConfigurator) delegate).restoreRegistry();
    }
}
项目:xtext-core    文件:InjectorCache.java   
public static WrappingInjectorProvider wrap(IInjectorProvider delegate) {
    WrappingInjectorProvider result = cachedInjectors.get(delegate);
    if (result == null) {
        result = new WrappingInjectorProvider(delegate);
        cachedInjectors.put(delegate, result);
    }
    return result;
}
项目:xtext-core    文件:InjectorProviders.java   
public static IInjectorProvider getInjectorProvider(TestClass testClass) {
    InjectWith injectWith = testClass.getJavaClass().getAnnotation(InjectWith.class);
    if (injectWith != null) {
        return injectorProviderClassCache.get(injectWith.value());
    }
    return null;
}
项目:xtext-core    文件:InjectorProviders.java   
public static IInjectorProvider createInjectorProvider(TestClass testClass) {
    InjectWith injectWith = testClass.getJavaClass().getAnnotation(InjectWith.class);
    if (injectWith != null) {
        try {
            return injectWith.value().newInstance();
        } catch (Exception e) {
            throwUncheckedException(e);
        }
    }
    return null;
}
项目:solidity-ide    文件:InjectionExtension.java   
protected IInjectorProvider getOrCreateInjectorProvider(ExtensionContext context) {
    return InjectorProviders.getOrCreateInjectorProvider(context);
}
项目:solidity-ide    文件:InjectionExtension.java   
protected IInjectorProvider getInjectorProvider(ExtensionContext context) {
    return InjectorProviders.getInjectorProvider(context);
}
项目:solidity-ide    文件:InjectionExtension.java   
protected IInjectorProvider createInjectorProvider(ExtensionContext context) {
    return InjectorProviders.createInjectorProvider(context);
}
项目:xtext-core    文件:WrappingInjectorProvider.java   
public IInjectorProvider getDelegate() {
    return delegate;
}