Example usage for org.springframework.data.gemfire.snapshot SnapshotServiceFactoryBean onApplicationEvent

List of usage examples for org.springframework.data.gemfire.snapshot SnapshotServiceFactoryBean onApplicationEvent

Introduction

In this page you can find the example usage for org.springframework.data.gemfire.snapshot SnapshotServiceFactoryBean onApplicationEvent.

Prototype

@Override
@SuppressWarnings("all")
public void onApplicationEvent(SnapshotApplicationEvent<K, V> event) 

Source Link

Document

Listens for SnapshotApplicationEvents triggering a Pivotal GemFire Cache-wide or Region data snapshot import/export when details of the event match the criteria of this factory's constructed Pivotal GemFire SnapshotService.

Usage

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void onApplicationEventWhenMatchUsingEventSnapshotMetadataPerformsExport() throws Exception {
    Region mockRegion = mock(Region.class, "MockRegion");

    SnapshotApplicationEvent mockSnapshotEvent = mock(ExportSnapshotApplicationEvent.class,
            "MockExportSnapshotApplicationEvent");

    SnapshotMetadata eventSnapshotMetadata = newSnapshotMetadata(snapshotDat);

    final SnapshotServiceAdapter mockSnapshotService = mock(SnapshotServiceAdapter.class,
            "MockSnapshotServiceAdapter");

    when(mockSnapshotEvent.isCacheSnapshotEvent()).thenReturn(false);
    when(mockSnapshotEvent.matches(eq(mockRegion))).thenReturn(true);
    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(toArray(eventSnapshotMetadata));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override//from   ww  w .j  av  a 2s.  co m
        public SnapshotServiceAdapter getObject() throws Exception {
            return mockSnapshotService;
        }
    };

    factoryBean.setExports(toArray(newSnapshotMetadata()));
    factoryBean.setRegion(mockRegion);

    assertThat(factoryBean.getExports()[0], is(not(sameInstance(eventSnapshotMetadata))));
    assertThat(factoryBean.getRegion(), is(sameInstance(mockRegion)));

    factoryBean.onApplicationEvent(mockSnapshotEvent);

    verify(mockSnapshotEvent, times(1)).isCacheSnapshotEvent();
    verify(mockSnapshotEvent, times(1)).matches(eq(mockRegion));
    verify(mockSnapshotEvent, times(1)).getSnapshotMetadata();
    verify(mockSnapshotService, times(1)).doExport(eq(eventSnapshotMetadata));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void onApplicationEventWhenMatchUsingFactorySnapshotMetadataPerformsImport() throws Exception {
    SnapshotApplicationEvent mockSnapshotEvent = mock(ImportSnapshotApplicationEvent.class,
            "MockImportSnapshotApplicationEvent");

    SnapshotMetadata factorySnapshotMetadata = newSnapshotMetadata(snapshotDat);

    final SnapshotServiceAdapter mockSnapshotService = mock(SnapshotServiceAdapter.class,
            "MockSnapshotServiceAdapter");

    when(mockSnapshotEvent.isCacheSnapshotEvent()).thenReturn(true);
    when(mockSnapshotEvent.matches(any(Region.class))).thenReturn(false);
    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(null);

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override//  w  ww .  j  a  v  a2s  .c o m
        public SnapshotServiceAdapter getObject() throws Exception {
            return mockSnapshotService;
        }
    };

    factoryBean.setImports(toArray(factorySnapshotMetadata));

    assertThat(factoryBean.getImports()[0], is(equalTo(factorySnapshotMetadata)));
    assertThat(factoryBean.getRegion(), is(nullValue()));

    factoryBean.onApplicationEvent(mockSnapshotEvent);

    verify(mockSnapshotEvent, times(1)).isCacheSnapshotEvent();
    verify(mockSnapshotEvent, never()).matches(any(Region.class));
    verify(mockSnapshotEvent, times(1)).getSnapshotMetadata();
    verify(mockSnapshotService, times(1)).doImport(eq(factorySnapshotMetadata));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void onApplicationEventWhenNoMatchDoesNotPerformExport() throws Exception {
    SnapshotApplicationEvent mockSnapshotEvent = mock(ExportSnapshotApplicationEvent.class,
            "MockExportSnapshotApplicationEvent");

    when(mockSnapshotEvent.isCacheSnapshotEvent()).thenReturn(false);
    when(mockSnapshotEvent.matches(any(Region.class))).thenReturn(false);
    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(null);

    final SnapshotServiceAdapter mockSnapshotService = mock(SnapshotServiceAdapter.class,
            "MockSnapshotServiceAdapter");

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override/*from   w w w .  j a v a 2  s.  c o m*/
        public SnapshotServiceAdapter getObject() throws Exception {
            return mockSnapshotService;
        }
    };

    factoryBean.setExports(toArray(newSnapshotMetadata()));

    assertThat(factoryBean.getExports()[0], isA(SnapshotMetadata.class));
    assertThat(factoryBean.getRegion(), is(nullValue()));

    factoryBean.onApplicationEvent(mockSnapshotEvent);

    verify(mockSnapshotEvent, times(1)).isCacheSnapshotEvent();
    verify(mockSnapshotEvent, times(1)).matches(isNull(Region.class));
    verify(mockSnapshotEvent, never()).getSnapshotMetadata();
    verify(mockSnapshotService, never()).doExport(any(SnapshotMetadata.class));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void onApplicationEventWhenNoMatchDoesNotPerformImport() throws Exception {
    Region mockRegion = mock(Region.class, "MockRegion");

    SnapshotApplicationEvent mockSnapshotEvent = mock(ImportSnapshotApplicationEvent.class,
            "MockImportSnapshotApplicationEvent");

    final SnapshotServiceAdapter mockSnapshotService = mock(SnapshotServiceAdapter.class,
            "MockSnapshotServiceAdapter");

    when(mockSnapshotEvent.isCacheSnapshotEvent()).thenReturn(false);
    when(mockSnapshotEvent.matches(any(Region.class))).thenReturn(false);
    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(null);

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override/*ww  w.j av a2  s. c om*/
        public SnapshotServiceAdapter getObject() throws Exception {
            return mockSnapshotService;
        }
    };

    factoryBean.setImports(toArray(newSnapshotMetadata()));
    factoryBean.setRegion(mockRegion);

    assertThat(factoryBean.getImports()[0], isA(SnapshotMetadata.class));
    assertThat(factoryBean.getRegion(), is(equalTo(mockRegion)));

    factoryBean.onApplicationEvent(mockSnapshotEvent);

    verify(mockSnapshotEvent, times(1)).isCacheSnapshotEvent();
    verify(mockSnapshotEvent, times(1)).matches(eq(mockRegion));
    verify(mockSnapshotEvent, never()).getSnapshotMetadata();
    verify(mockSnapshotService, never()).doImport(any(SnapshotMetadata.class));
}