Example usage for org.springframework.data.gemfire.support SpringContextBootstrappingInitializer applicationContext

List of usage examples for org.springframework.data.gemfire.support SpringContextBootstrappingInitializer applicationContext

Introduction

In this page you can find the example usage for org.springframework.data.gemfire.support SpringContextBootstrappingInitializer applicationContext.

Prototype

ConfigurableApplicationContext applicationContext

To view the source code for org.springframework.data.gemfire.support SpringContextBootstrappingInitializer applicationContext.

Click Source Link

Usage

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@After
public void tearDown() {
    SpringContextBootstrappingInitializer.applicationContext = null;
    SpringContextBootstrappingInitializer.contextRefreshedEvent = null;
    SpringContextBootstrappingInitializer.setBeanClassLoader(null);
    SpringContextBootstrappingInitializer.unregister(TestAppConfigOne.class);
    SpringContextBootstrappingInitializer.unregister(TestAppConfigTwo.class);
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testGetApplicationContext() {
    ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testGetApplicationContext");

    SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext;

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testSetBeanClassLoader() {
    assertNull(SpringContextBootstrappingInitializer.applicationContext);
    SpringContextBootstrappingInitializer.setBeanClassLoader(Thread.currentThread().getContextClassLoader());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testSetBeanClassLoaderWhenApplicationContextIsInactive() {
    ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testSetBeanClassLoaderWhenApplicationContextIsInactive.MockApplicationContext");

    when(mockApplicationContext.isActive()).thenReturn(false);

    SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext;
    SpringContextBootstrappingInitializer.setBeanClassLoader(Thread.currentThread().getContextClassLoader());

    verify(mockApplicationContext, times(1)).isActive();
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test(expected = IllegalStateException.class)
public void testSetBeanClassLoaderWhenApplicationContextIsActive() {
    ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testSetBeanClassLoaderWhenApplicationContextIsActive.MockApplicationContext");

    when(mockApplicationContext.isActive()).thenReturn(true);

    try {//  w w  w .j a  v  a2  s  .  c om
        SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext;
        SpringContextBootstrappingInitializer
                .setBeanClassLoader(Thread.currentThread().getContextClassLoader());
    } catch (IllegalStateException expected) {
        assertEquals("The Spring ApplicationContext has already been initialized!", expected.getMessage());
        throw expected;
    }
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWithAnnotatedClasses() {
    final AnnotationConfigApplicationContext mockApplicationContext = mock(
            AnnotationConfigApplicationContext.class, "testInitWithAnnotatedClasses");

    doNothing().when(mockApplicationContext).addApplicationListener(any(ApplicationListener.class));
    doNothing().when(mockApplicationContext).registerShutdownHook();
    doNothing().when(mockApplicationContext).refresh();
    doNothing().when(mockApplicationContext).register(Matchers.<Class<?>[]>anyVararg());
    //doNothing().when(mockApplicationContext).register(annotatedClasses(TestAppConfigOne.class, TestAppConfigTwo.class));

    when(mockApplicationContext.getId()).thenReturn("testInitWithAnnotatedClasses");
    when(mockApplicationContext.isRunning()).thenReturn(true);

    assertNull(SpringContextBootstrappingInitializer.applicationContext);

    SpringContextBootstrappingInitializer.register(TestAppConfigOne.class);
    SpringContextBootstrappingInitializer.register(TestAppConfigTwo.class);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override//w w  w.j a  v  a  2s  .c  o m
        protected ConfigurableApplicationContext createApplicationContext(String[] configLocations) {
            return mockApplicationContext;
        }
    };

    initializer.init(createParameters("test", "test"));

    verify(mockApplicationContext, times(1)).addApplicationListener(same(initializer));
    verify(mockApplicationContext, times(1)).registerShutdownHook();
    verify(mockApplicationContext, times(1)).register(TestAppConfigOne.class, TestAppConfigTwo.class);
    //verify(mockApplicationContext, times(1)).register(annotatedClasses(TestAppConfigOne.class, TestAppConfigTwo.class));
    //verify(mockApplicationContext, times(1)).register(Matchers.<Class<?>[]>anyVararg());
    verify(mockApplicationContext, never()).scan(any(String[].class));

    assertEquals(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWithExistingApplicationContext() {
    ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWithExistingApplicationContext");

    when(mockApplicationContext.isActive()).thenReturn(true);
    when(mockApplicationContext.getId()).thenReturn("testInitWithExistingApplicationContext");

    SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext;

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer();

    initializer.init(createParameters("test", "test"));

    verify(mockApplicationContext, never())
            .addApplicationListener(any(SpringContextBootstrappingInitializer.class));
    verify(mockApplicationContext, never()).registerShutdownHook();
    verify(mockApplicationContext, never()).refresh();

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWhenApplicationContextIsNull() {
    assertNull(SpringContextBootstrappingInitializer.applicationContext);

    final ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsNull");

    when(mockApplicationContext.getId()).thenReturn("testInitWhenApplicationContextIsNull");
    when(mockApplicationContext.isRunning()).thenReturn(true);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override//from   w w  w. j a  v  a2  s .c  o m
        protected ConfigurableApplicationContext createApplicationContext(final String[] basePackages,
                final String[] configLocations) {
            return mockApplicationContext;
        }
    };

    initializer.init(createParameters(SpringContextBootstrappingInitializer.CONTEXT_CONFIG_LOCATIONS_PARAMETER,
            "/path/to/spring/application/context.xml"));

    verify(mockApplicationContext, times(1)).addApplicationListener(same(initializer));
    verify(mockApplicationContext, times(1)).registerShutdownHook();
    verify(mockApplicationContext, times(1)).refresh();

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWhenApplicationContextIsInactive() {
    ConfigurableApplicationContext mockInactiveApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsInactive.Inactive");

    when(mockInactiveApplicationContext.isActive()).thenReturn(false);

    SpringContextBootstrappingInitializer.applicationContext = mockInactiveApplicationContext;

    assertSame(mockInactiveApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());

    final ConfigurableApplicationContext mockNewApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsInactive.New");

    when(mockNewApplicationContext.getId()).thenReturn("testInitWhenApplicationContextIsInactive.New");
    when(mockNewApplicationContext.isRunning()).thenReturn(true);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override//  ww  w  .  j av  a  2  s. c o  m
        protected ConfigurableApplicationContext createApplicationContext(final String[] basePackages,
                final String[] configLocations) {
            return mockNewApplicationContext;
        }
    };

    initializer.init(
            createParameters(SpringContextBootstrappingInitializer.BASE_PACKAGES_PARAMETER, "org.example.app"));

    verify(mockNewApplicationContext, times(1)).addApplicationListener(same(initializer));
    verify(mockNewApplicationContext, times(1)).registerShutdownHook();
    verify(mockNewApplicationContext, times(1)).refresh();

    assertSame(mockNewApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test(expected = IllegalArgumentException.class)
public void testInitWhenBasePackagesAndContextConfigLocationsParametersAreUnspecified() throws Throwable {
    assertNull(SpringContextBootstrappingInitializer.applicationContext);

    try {/*from w w w .ja v a2  s.c  om*/
        new SpringContextBootstrappingInitializer().init(createParameters(
                createParameters(SpringContextBootstrappingInitializer.CONTEXT_CONFIG_LOCATIONS_PARAMETER, ""),
                SpringContextBootstrappingInitializer.BASE_PACKAGES_PARAMETER, "  "));
    } catch (ApplicationContextException expected) {
        assertTrue(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext!"));
        assertTrue(expected.getCause() instanceof IllegalArgumentException);
        assertEquals("'basePackages', 'configLocations' or 'AnnotatedClasses' must be specified"
                + " in order to construct and configure an instance of the ConfigurableApplicationContext",
                expected.getCause().getMessage());
        throw expected.getCause();
    }
}