private static ProjectStage getProjectStage() { if (projectStage == null) { synchronized (ConfigResolver.class) { projectStage = ProjectStageProducer.getInstance().getProjectStage(); } } return projectStage; }
void applyBeforeMethodConfig(Method testMethod) { this.previousProjectStage = ProjectStageProducer.getInstance().getProjectStage(); ProjectStageProducer.setProjectStage(this.projectStage); setCurrentTestMethod(testMethod); startScopes(CdiContainerLoader.getCdiContainer(), testMethod.getDeclaringClass(), testMethod); }
private static synchronized void lazyInit() { // switch into paranoia mode if (projectStageProducer != null) { return; } projectStageProducer = new ProjectStageProducer(); projectStageProducer.initProjectStage(); }
/** * <p>This factory method should only get used if there is absolutely no way * to get the current {@link ProjectStage} via @Inject.</p> * * <p></p> * * @return the ProjectStageProducer instance. */ public static ProjectStageProducer getInstance() { if (projectStageProducer == null) { lazyInit(); } if (projectStage == null) { projectStageProducer.initProjectStage(); } return projectStageProducer; }
void applyAfterMethodConfig() { try { stopStartedScopes(CdiContainerLoader.getCdiContainer()); } finally { setCurrentTestMethod(null); ProjectStageProducer.setProjectStage(previousProjectStage); previousProjectStage = null; currentTestRunner.set(null); currentTestRunner.remove(); } }
/** * triggers initialization in any case * @param afterDeploymentValidation observed event */ @SuppressWarnings("UnusedDeclaration") protected void initProjectStage(@Observes AfterDeploymentValidation afterDeploymentValidation) { ProjectStageProducer.getInstance(); }
/** * Can be used esp. for internal tests. * Usage: * <pre> * new ProjectStageProducer() { * @Override * protected void reset() { super.reset(); } * }.reset(); * </pre> */ protected void reset() { resetCache(); }
@Before public void init() { ProjectStageProducer.setProjectStage(ProjectStage.UnitTest); }
/** * triggers initialization in any case * @param afterDeploymentValidation observed event */ @SuppressWarnings("UnusedDeclaration") protected void initProjectStage(@Observes AfterDeploymentValidation afterDeploymentValidation) { ProjectStageProducer.getInstance(); }
/** * <p>This factory method should only get used if there is absolutely no way * to get the current {@link ProjectStage} via @Inject.</p> * * <p></p> * * @return the ProjectStageProducer instance. */ public static ProjectStageProducer getInstance() { if (projectStageProducer == null) { lazyInit(); } if (projectStage == null) { projectStageProducer.initProjectStage(); } return projectStageProducer; }
/** * Can be used esp. for internal tests. * Usage: * <pre> * new ProjectStageProducer() { * @Override * protected void reset() { super.reset(); } * }.reset(); * </pre> */ protected void reset() { resetCache(); }
private ProjectStage getProjectStage() { return ProjectStageProducer.getInstance().getProjectStage(); }
void applyBeforeFeatureConfig(Class testClass) { CdiContainer container = CdiContainerLoader.getCdiContainer(); if (!isContainerStarted()) { container.boot(CdiTestSuiteRunner.getTestContainerConfig()); containerStarted = true; bootExternalContainers(testClass); } List<Class<? extends Annotation>> restrictedScopes = new ArrayList<Class<? extends Annotation>>(); //controlled by the container and not supported by weld: restrictedScopes.add(ApplicationScoped.class); restrictedScopes.add(Singleton.class); if (this.parent == null && this.testControl.getClass().equals(TestControlLiteral.class)) { //skip scope-handling if @TestControl isn't used explicitly on the test-class -> TODO re-visit it restrictedScopes.add(RequestScoped.class); restrictedScopes.add(SessionScoped.class); } this.previousProjectStage = ProjectStageProducer.getInstance().getProjectStage(); ProjectStageProducer.setProjectStage(this.projectStage); startScopes(container, testClass, null, restrictedScopes.toArray(new Class[restrictedScopes.size()])); }
@Before public void init() { ProjectStageProducer.setProjectStage(ProjectStage.UnitTest); }
/** * We can only produce @Dependent scopes since an enum is final. * @return current ProjectStage */ @Produces @Dependent @Default public ProjectStage getProjectStage() { if (projectStage == null) { //triggers initialization getInstance(); } return projectStage; }
private static synchronized void lazyInit() { // switch into paranoia mode if (projectStageProducer != null) { return; } projectStageProducer = new ProjectStageProducer(); projectStageProducer.initProjectStage(); }
/** * <p>This factory method should only get used if there is absolutely no way * to get the current {@link ProjectStage} via @Inject.</p> * * <p></p> * * @return the ProjectStageProducer instance. */ public static ProjectStageProducer getInstance() { if (projectStageProducer == null) { lazyInit(); } if (projectStage == null) { projectStageProducer.initProjectStage(); } return projectStageProducer; }
/** * Can be used esp. for internal tests. * Usage: * <pre> * new ProjectStageProducer() { * @Override * protected void reset() { super.reset(); } * }.reset(); * </pre> */ protected void reset() { resetCache(); }
private void logConvertedBean(AnnotatedType annotatedType, Class<? extends Annotation> jsf2ScopeAnnotation) { ProjectStage projectStage = ProjectStageProducer.getInstance().getProjectStage(); if (projectStage == ProjectStage.Development) { logger.info("JSF2 bean was converted to a CDI bean. Type: " + annotatedType.getJavaClass().getName() + " original scope: " + jsf2ScopeAnnotation.getName()); } } }
ProjectStageProducer psp = ProjectStageProducer.getInstance(); Assert.assertNotNull(psp); ProjectStageProducer.setProjectStage(null); ProjectStage ps = psp.getProjectStage(); Assert.assertNotNull(ps); Assert.assertEquals(ps, ProjectStage.SystemTest); Assert.assertTrue(ps == ProjectStage.SystemTest); ProjectStageProducer.setProjectStage(null); System.setProperty(envName, "IntegrationTest"); ps = psp.getProjectStage(); Assert.assertNotNull(ps); Assert.assertEquals(ps, ProjectStage.IntegrationTest);