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

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

Introduction

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

Prototype

public void setImports(SnapshotMetadata<K, V>[] imports) 

Source Link

Document

Sets the meta-data (location, filter and format) used to read a data snapshot into an entire Cache or individual Region.

Usage

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

@Test
public void afterPropertiesSetCreatesSnapshotServiceAdapterAndDoesImportWithConfiguredImports()
        throws Exception {
    SnapshotMetadata expectedSnapshotMetadata = newSnapshotMetadata();

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

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override//from w  w w  . j av a2s  . c  o  m
        protected SnapshotServiceAdapter create() {
            return mockSnapshotService;
        }
    };

    factoryBean.setImports(toArray(expectedSnapshotMetadata));
    factoryBean.afterPropertiesSet();

    assertThat(factoryBean.getImports()[0], is(equalTo(expectedSnapshotMetadata)));

    verify(mockSnapshotService, times(1)).doImport(eq(expectedSnapshotMetadata));
}

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.ja  v  a  2 s  . co  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 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  a va 2s .co  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 importCacheSnapshotOnInitialization() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    CacheSnapshotService mockCacheSnapshotService = mock(CacheSnapshotService.class,
            "MockCacheSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService()).thenReturn(mockCacheSnapshotService);
    when(mockCacheSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    SnapshotMetadata[] expectedImports = toArray(
            newSnapshotMetadata(FileSystemUtils.USER_HOME, mockSnapshotFilterOne),
            newSnapshotMetadata(mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);/*from ww  w .j  a  va 2s . c o m*/
    factoryBean.setImports(expectedImports);
    factoryBean.setRegion(null);

    assertThat(factoryBean.getObject(), is(nullValue()));
    assertThat((Class<SnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(SnapshotServiceAdapter.class)));

    factoryBean.afterPropertiesSet();

    assertThat(factoryBean.getObject(), is(instanceOf(CacheSnapshotServiceAdapter.class)));
    assertThat((Class<CacheSnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(CacheSnapshotServiceAdapter.class)));

    verify(mockCache, times(1)).getSnapshotService();
    verify(mockCacheSnapshotService, times(2)).createOptions();
    verify(mockCacheSnapshotService, times(1)).load(
            eq(FileSystemUtils.safeListFiles(FileSystemUtils.USER_HOME,
                    FileSystemUtils.FileOnlyFilter.INSTANCE)),
            eq(SnapshotFormat.GEMFIRE), eq(mockSnapshotOptionsOne));
    verify(mockCacheSnapshotService, times(1)).load(
            eq(FileSystemUtils.safeListFiles(FileSystemUtils.WORKING_DIRECTORY,
                    FileSystemUtils.FileOnlyFilter.INSTANCE)),
            eq(SnapshotFormat.GEMFIRE), eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}

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

@Test
@SuppressWarnings("unchecked")
public void importRegionSnapshotOnInitialization() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    Region mockRegion = mock(Region.class, "MockRegion");

    RegionSnapshotService mockRegionSnapshotService = mock(RegionSnapshotService.class,
            "MockRegionSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService())
            .thenThrow(new UnsupportedOperationException("operation not supported"));
    when(mockRegion.getSnapshotService()).thenReturn(mockRegionSnapshotService);
    when(mockRegionSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    File snapshotDatTwo = mockFile("snapshot-2.dat");

    SnapshotMetadata[] expectedImports = toArray(newSnapshotMetadata(snapshotDat, mockSnapshotFilterOne),
            newSnapshotMetadata(snapshotDatTwo, mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);/*from   www . j  a va 2s .c  om*/
    factoryBean.setImports(expectedImports);
    factoryBean.setRegion(mockRegion);

    assertThat(factoryBean.getObject(), is(nullValue()));
    assertThat((Class<SnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(SnapshotServiceAdapter.class)));

    factoryBean.afterPropertiesSet();

    assertThat(factoryBean.getObject(), is(instanceOf(RegionSnapshotServiceAdapter.class)));
    assertThat((Class<RegionSnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(RegionSnapshotServiceAdapter.class)));

    verify(mockCache, never()).getSnapshotService();
    verify(mockRegion, times(1)).getSnapshotService();
    verify(mockRegionSnapshotService, times(2)).createOptions();
    verify(mockRegionSnapshotService, times(1)).load(eq(snapshotDat), eq(SnapshotFormat.GEMFIRE),
            eq(mockSnapshotOptionsOne));
    verify(mockRegionSnapshotService, times(1)).load(eq(snapshotDatTwo), eq(SnapshotFormat.GEMFIRE),
            eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}

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

@Test
public void exportCacheSnapshotOnDestroy() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    CacheSnapshotService mockCacheSnapshotService = mock(CacheSnapshotService.class,
            "MockCacheSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService()).thenReturn(mockCacheSnapshotService);
    when(mockCacheSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    SnapshotMetadata[] expectedExports = toArray(newSnapshotMetadata(mockSnapshotFilterOne),
            newSnapshotMetadata(mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);/* w ww.  j  a  v  a 2  s. co  m*/
    factoryBean.setExports(expectedExports);
    factoryBean.setImports(null);
    factoryBean.setRegion(null);
    factoryBean.afterPropertiesSet();
    factoryBean.destroy();

    assertThat(factoryBean.getObject(), is(instanceOf(CacheSnapshotServiceAdapter.class)));

    verify(mockCache, times(1)).getSnapshotService();
    verify(mockCacheSnapshotService, times(2)).createOptions();
    verify(mockCacheSnapshotService, times(1)).save(eq(expectedExports[0].getLocation()),
            eq(expectedExports[0].getFormat()), eq(mockSnapshotOptionsOne));
    verify(mockCacheSnapshotService, times(1)).save(eq(expectedExports[1].getLocation()),
            eq(expectedExports[1].getFormat()), eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}

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

@Test
public void exportRegionSnapshotOnDestroy() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    Region mockRegion = mock(Region.class, "MockRegion");

    RegionSnapshotService mockRegionSnapshotService = mock(RegionSnapshotService.class,
            "MockRegionSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService())
            .thenThrow(new UnsupportedOperationException("operation not supported"));
    when(mockRegion.getSnapshotService()).thenReturn(mockRegionSnapshotService);
    when(mockRegionSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    SnapshotMetadata[] expectedExports = toArray(newSnapshotMetadata(mockSnapshotFilterOne),
            newSnapshotMetadata(mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);//w  w w. j  av  a  2s .co m
    factoryBean.setExports(expectedExports);
    factoryBean.setImports(null);
    factoryBean.setRegion(mockRegion);
    factoryBean.afterPropertiesSet();
    factoryBean.destroy();

    assertThat(factoryBean.getObject(), is(instanceOf(RegionSnapshotServiceAdapter.class)));

    verify(mockCache, never()).getSnapshotService();
    verify(mockRegion, times(1)).getSnapshotService();
    verify(mockRegionSnapshotService, times(2)).createOptions();
    verify(mockRegionSnapshotService, times(1)).save(eq(expectedExports[0].getLocation()),
            eq(expectedExports[0].getFormat()), eq(mockSnapshotOptionsOne));
    verify(mockRegionSnapshotService, times(1)).save(eq(expectedExports[1].getLocation()),
            eq(expectedExports[1].getFormat()), eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}