Example usage for org.springframework.data.gemfire.snapshot.event SnapshotApplicationEvent getSnapshotMetadata

List of usage examples for org.springframework.data.gemfire.snapshot.event SnapshotApplicationEvent getSnapshotMetadata

Introduction

In this page you can find the example usage for org.springframework.data.gemfire.snapshot.event SnapshotApplicationEvent getSnapshotMetadata.

Prototype

public SnapshotMetadata<K, V>[] getSnapshotMetadata() 

Source Link

Document

Gets the meta-data used to perform the Pivotal GemFire Cache Region data snapshots.

Usage

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

/**
 * Resolves the SnapshotMetadata used to perform the GemFire Cache or Region data snapshot import/export.
 * If the event contains specific SnapshotMetadata, then this is preferred over the factory's own
 * "import" or "export" SnapshotMetadata.
 *
 * @param event the SnapshotApplicationEvent from which to resolve the SnapshotMetadata.
 * @return the resolved SnapshotMetadata, either from the event or this factory's configured imports/exports.
 * @see SnapshotApplicationEvent#getSnapshotMetadata()
 * @see #getExports()/*w w  w .j a  va  2  s  . c  om*/
 * @see #getImports()
 */
protected SnapshotMetadata<K, V>[] resolveSnapshotMetadata(SnapshotApplicationEvent<K, V> event) {
    SnapshotMetadata<K, V>[] eventSnapshotMetadata = event.getSnapshotMetadata();

    return (!ObjectUtils.isEmpty(eventSnapshotMetadata) ? eventSnapshotMetadata
            : (event instanceof ExportSnapshotApplicationEvent ? getExports() : getImports()));
}

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  w  w w. j a va 2 s  .c  o 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//from w  w w . j av a2  s. c  om
        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 ww  w  .  j av a2s . 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/*www.j  a v  a  2  s  .  c  o m*/
        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));
}

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

@Test
public void resolveSnapshotMetadataFromEvent() {
    SnapshotMetadata eventSnapshotMetadata = newSnapshotMetadata(snapshotDat);
    SnapshotMetadata factoryExportSnapshotMetadata = newSnapshotMetadata();
    SnapshotMetadata factoryImportSnapshotMetadata = newSnapshotMetadata(FileSystemUtils.USER_HOME);

    SnapshotApplicationEvent mockSnapshotEvent = mock(SnapshotApplicationEvent.class,
            "MockSnapshotApplicationEvent");

    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(toArray(eventSnapshotMetadata));

    factoryBean.setExports(toArray(factoryExportSnapshotMetadata));
    factoryBean.setImports(toArray(factoryImportSnapshotMetadata));

    assertThat(factoryBean.getExports()[0], is(equalTo(factoryExportSnapshotMetadata)));
    assertThat(factoryBean.getImports()[0], is(equalTo(factoryImportSnapshotMetadata)));
    assertThat(factoryBean.resolveSnapshotMetadata(mockSnapshotEvent)[0], is(equalTo(eventSnapshotMetadata)));

    verify(mockSnapshotEvent, times(1)).getSnapshotMetadata();
}

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

@Test
public void resolveExportSnapshotMetadataFromFactory() {
    SnapshotMetadata factoryExportSnapshotMetadata = newSnapshotMetadata();
    SnapshotMetadata factoryImportSnapshotMetadata = newSnapshotMetadata(FileSystemUtils.USER_HOME);

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

    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(null);

    factoryBean.setExports(toArray(factoryExportSnapshotMetadata));
    factoryBean.setImports(toArray(factoryImportSnapshotMetadata));

    assertThat(factoryBean.getExports()[0], is(equalTo(factoryExportSnapshotMetadata)));
    assertThat(factoryBean.getImports()[0], is(equalTo(factoryImportSnapshotMetadata)));
    assertThat(factoryBean.resolveSnapshotMetadata(mockSnapshotEvent)[0],
            is(equalTo(factoryExportSnapshotMetadata)));

    verify(mockSnapshotEvent, times(1)).getSnapshotMetadata();
}

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

@Test
public void resolveImportSnapshotMetadataFromFactory() {
    SnapshotMetadata factoryExportSnapshotMetadata = newSnapshotMetadata();
    SnapshotMetadata factoryImportSnapshotMetadata = newSnapshotMetadata(FileSystemUtils.USER_HOME);

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

    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(toArray());

    factoryBean.setExports(toArray(factoryExportSnapshotMetadata));
    factoryBean.setImports(toArray(factoryImportSnapshotMetadata));

    assertThat(factoryBean.getExports()[0], is(equalTo(factoryExportSnapshotMetadata)));
    assertThat(factoryBean.getImports()[0], is(equalTo(factoryImportSnapshotMetadata)));
    assertThat(factoryBean.resolveSnapshotMetadata(mockSnapshotEvent)[0],
            is(equalTo(factoryImportSnapshotMetadata)));

    verify(mockSnapshotEvent, times(1)).getSnapshotMetadata();
}