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

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

Introduction

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

Prototype

public static synchronized ConfigurableApplicationContext getApplicationContext() 

Source Link

Document

Gets a reference to the Spring ApplicationContext constructed, configured and initialized inside the GemFire Server-based JVM process.

Usage

From source file:org.spring.data.gemfire.app.main.InitializerPeerCacheApp.java

@Override
protected ConfigurableApplicationContext initApplicationContext(final String... args) {
    new SpringContextBootstrappingInitializer().init(PropertyUtils.createProperties(
            Collections.singletonMap(SpringContextBootstrappingInitializer.CONTEXT_CONFIG_LOCATIONS_PARAMETER,
                    StringUtils.arrayToCommaDelimitedString(getConfigurationFile(args)))));

    return SpringContextBootstrappingInitializer.getApplicationContext();
}

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(expected = IllegalStateException.class)
public void testGetApplicationContextUninitialized() {
    try {//www .jav  a 2 s .com
        SpringContextBootstrappingInitializer.getApplicationContext();
    } catch (IllegalStateException expected) {
        assertEquals("The Spring ApplicationContext was not configured and initialized properly!",
                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 ww .ja v a 2  s.  co 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 a  2  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//from  ww  w  . j a  v  a 2s  .  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 = IllegalStateException.class)
public void testInitWhenApplicationContextIsNotRunning() {
    assertNull(SpringContextBootstrappingInitializer.applicationContext);

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

    when(mockApplicationContext.getId()).thenReturn("testInitWhenApplicationContextIsNotRunning");
    when(mockApplicationContext.isRunning()).thenReturn(false);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override/*from  w w  w  . j  a va 2s . co m*/
        protected ConfigurableApplicationContext createApplicationContext(final String[] basePackages,
                final String[] configLocations) {
            return mockApplicationContext;
        }
    };

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

        SpringContextBootstrappingInitializer.getApplicationContext();
    } catch (ApplicationContextException expected) {
        assertTrue(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext!"));
        assertTrue(expected.getCause() instanceof IllegalStateException);
        assertEquals(
                "The Spring ApplicationContext (testInitWhenApplicationContextIsNotRunning) failed to be properly initialized with the context config files ([]) or base packages ([org.example.app, org.example.plugins])!",
                expected.getCause().getMessage());
        throw (IllegalStateException) expected.getCause();
    } finally {
        verify(mockApplicationContext, times(1)).addApplicationListener(same(initializer));
        verify(mockApplicationContext, times(1)).registerShutdownHook();
        verify(mockApplicationContext, times(1)).refresh();

        assertNull(SpringContextBootstrappingInitializer.applicationContext);
    }
}