@Override public boolean executeOperation(BlobStore store, Object... objs) throws StorageException { if (objs == null || objs.length < 1 || !(objs[0] instanceof TileObject)) { return false; } return store.get((TileObject) objs[0]); } },
@Override public boolean executeOperation(BlobStore store, Object... objs) throws StorageException { if (objs == null || objs.length < 1 || !(objs[0] instanceof TileObject)) { return false; } store.put((TileObject) objs[0]); return true; } },
public void addBlobStoreListener(BlobStoreListener listener) { blobStore.addListener(listener); }
@Test public void testDeleteTile() throws Exception { BlobStoreListener listener = EasyMock.createMock(BlobStoreListener.class); store.addListener(listener); TileObject toCache = TileObject.createCompleteTileObject( store.put(toCache); EasyMock.verify(listener); long storedSize = 0; store.delete(remove); EasyMock.verify(listener); assertThat(store.get(fromCache), is(false)); assertThat(fromCache, hasProperty("blobSize", is(0)));
@Test public void testStoreTile() throws Exception { BlobStoreListener listener = EasyMock.createMock(BlobStoreListener.class); store.addListener(listener); TileObject toCache = TileObject.createCompleteTileObject( store.put(toCache); assertThat(store.get(fromCache), is(true));
@Test public void testDeleteGridset() throws Exception { BlobStoreListener listener = EasyMock.createMock(BlobStoreListener.class); store.addListener(listener); TileObject toCache1 = TileObject.createCompleteTileObject( store.put(toCache1); EasyMock.verify(listener); EasyMock.reset(listener); assertThat(store.deleteByGridsetId("testLayer", "testGridSet1"), is(true)); EasyMock.verify(listener); assertThat(store.get(fromCache1_2), is(false)); assertThat(fromCache1_2, hasProperty("blobSize", is(0)));
@Test public void testMetadataWithAmpInValue() throws Exception { assertThat(store.getLayerMetadata("testLayer", "testKey"), nullValue()); store.putLayerMetadata("testLayer", "testKey", "test&Value"); assertThat(store.getLayerMetadata("testLayer", "testKey"), equalTo("test&Value")); }
public void testTileDelete() throws Exception { fbs = setup(); Map<String, String> parameters = new HashMap<String, String>(); parameters.put("a", "x"); parameters.put("b", "ΓΈ"); Resource bytes = new ByteArrayResource("1 2 3 4 5 6 test".getBytes()); long[] xyz = {5L, 6L, 7L}; TileObject to = TileObject.createCompleteTileObject( "test:123123 112", xyz, "EPSG:4326", "image/jpeg", parameters, bytes); fbs.put(to); TileObject to2 = TileObject.createQueryTileObject( "test:123123 112", xyz, "EPSG:4326", "image/jpeg", parameters); fbs.get(to2); try (InputStream is = to2.getBlob().getInputStream(); InputStream is2 = bytes.getInputStream()) { assertTrue(IOUtils.contentEquals(is, is2)); } TileObject to3 = TileObject.createQueryTileObject( "test:123123 112", xyz, "EPSG:4326", "image/jpeg", parameters); fbs.delete(to3); TileObject to4 = TileObject.createQueryTileObject( "test:123123 112", xyz, "EPSG:4326", "image/jpeg", parameters); assertFalse(fbs.get(to4)); }
new ByteArrayResource("7,8,9,10 test".getBytes(StandardCharsets.UTF_8))); BlobStoreListener listener = EasyMock.createMock(BlobStoreListener.class); store.addListener(listener); final long size1 = toCache1.getBlobSize(); final long size2 = toCache2.getBlobSize(); store.put(toCache1); assertThat(store.get(fromCache2_1), is(false)); store.put(toCache2); EasyMock.verify(listener); assertThat(store.get(fromCache1_1), is(true)); assertThat(fromCache1_1, hasProperty("blobSize", is((int) size1))); assertThat( new ByteArrayResource( "1,2,4,5,6 test".getBytes(StandardCharsets.UTF_8))))); assertThat(store.get(fromCache2_2), is(true)); assertThat(fromCache2_2, hasProperty("blobSize", is((int) size2))); assertThat( store.deleteByParametersId("testLayer", paramID1); EasyMock.verify(listener); assertThat(store.get(fromCache1_2), is(false)); assertThat(fromCache1_2, hasProperty("blobSize", is(0)));
new ByteArrayResource("7,8,9,10 test".getBytes(StandardCharsets.UTF_8))); BlobStoreListener listener = EasyMock.createMock(BlobStoreListener.class); store.addListener(listener); final long size1 = toCache1.getBlobSize(); final long size2 = toCache2.getBlobSize(); store.put(toCache1); assertThat(store.get(fromCache2_1), is(false)); store.put(toCache2); EasyMock.verify(listener); assertThat(store.get(fromCache1_1), is(true)); assertThat(fromCache1_1, hasProperty("blobSize", is((int) size1))); assertThat( new ByteArrayResource( "1,2,4,5,6 test".getBytes(StandardCharsets.UTF_8))))); assertThat(store.get(fromCache2_2), is(true)); assertThat(fromCache2_2, hasProperty("blobSize", is((int) size2))); assertThat( store.purgeOrphans(layer); EasyMock.verify(listener); assertThat(store.get(fromCache1_2), is(false)); assertThat(fromCache1_2, hasProperty("blobSize", is(0)));
"testLayer", new long[] {0L, 0L, 0L}, "testGridSet2", "image/png", null); store.put(toCache1); assertThat(store.get(fromCache2_1), is(false)); store.put(toCache2); assertThat(store.get(fromCache1_1), is(true)); assertThat(fromCache1_1, hasProperty("blobSize", is((int) size1))); assertThat( new ByteArrayResource( "1,2,4,5,6 test".getBytes(StandardCharsets.UTF_8))))); assertThat(store.get(fromCache2_2), is(true)); assertThat(fromCache2_2, hasProperty("blobSize", is((int) size2))); assertThat( new ByteArrayResource( "7,8,9,10 test".getBytes(StandardCharsets.UTF_8))))); store.deleteByGridsetId("testLayer", "testGridSet1"); assertThat(store.get(fromCache1_2), is(false)); assertThat(fromCache1_2, hasProperty("blobSize", is(0))); assertThat(store.get(fromCache2_3), is(true)); assertThat(fromCache2_3, hasProperty("blobSize", is((int) size2))); assertThat(
TileObject.createCompleteTileObject( layerName, xyz, srs.toString(), mime.getFormat(), parameters, bytes); fbs.put(tos[i]); EasyMock.replay(listener); fbs.addListener(listener); boolean renamed = fbs.rename(layerName, newLayerName); assertTrue(renamed); fbs.rename(layerName, newLayerName); fail("Expected StorageException, target dir already exists"); } catch (StorageException e) {
"testLayer", new long[] {0L, 0L, 0L}, "testGridSet", "image/png", params2); store.put(toCache1); store.put(toCache2); store.deleteByParametersId("testLayer", paramID1); assertThat(store.get(fromCache2_3), is(true)); assertThat(fromCache2_3, hasProperty("blobSize", is((int) size2))); assertThat(
@Override public boolean executeOperation(BlobStore store, Object... objs) throws StorageException { if (objs == null || objs.length < 1 || !(objs[0] instanceof TileRange)) { return false; } return store.delete((TileRange) objs[0]); } },
public void testTile() throws Exception { fbs = setup(); Resource bytes = new ByteArrayResource("1 2 3 4 5 6 test".getBytes()); long[] xyz = {1L, 2L, 3L}; Map<String, String> parameters = new HashMap<String, String>(); parameters.put("a", "x"); parameters.put("b", "ΓΈ"); TileObject to = TileObject.createCompleteTileObject( "test:123123 112", xyz, "EPSG:4326", "image/jpeg", parameters, bytes); fbs.put(to); TileObject to2 = TileObject.createQueryTileObject( "test:123123 112", xyz, "EPSG:4326", "image/jpeg", parameters); fbs.get(to2); assertEquals(to.getBlobFormat(), to2.getBlobFormat()); try (InputStream is = to.getBlob().getInputStream(); InputStream is2 = to2.getBlob().getInputStream()) { assertTrue(IOUtils.contentEquals(is, is2)); } }
@SuppressWarnings("unchecked") @Test public void testParameterList() throws Exception { Map<String, String> params1 = Collections.singletonMap("testKey", "testValue1"); Map<String, String> params2 = Collections.singletonMap("testKey", "testValue2"); TileObject toCache1 = TileObject.createCompleteTileObject( "testLayer", new long[] {0L, 0L, 0L}, "testGridSet", "image/png", params1, new ByteArrayResource("1,2,4,5,6 test".getBytes(StandardCharsets.UTF_8))); TileObject toCache2 = TileObject.createCompleteTileObject( "testLayer", new long[] {0L, 0L, 0L}, "testGridSet", "image/png", params2, new ByteArrayResource("7,8,9,10 test".getBytes(StandardCharsets.UTF_8))); assertThat(store.getParameters("testLayer"), empty()); store.put(toCache1); assertThat(store.getParameters("testLayer"), containsInAnyOrder(params1)); store.put(toCache2); assertThat(store.getParameters("testLayer"), containsInAnyOrder(params1, params2)); }
@Test public void testParameterIDList() throws Exception { Map<String, String> params1 = Collections.singletonMap("testKey", "testValue1"); Map<String, String> params2 = Collections.singletonMap("testKey", "testValue2"); String params1Id = ParametersUtils.getId(params1); String params2Id = ParametersUtils.getId(params2); TileObject toCache1 = TileObject.createCompleteTileObject( "testLayer", new long[] {0L, 0L, 0L}, "testGridSet", "image/png", params1, new ByteArrayResource("1,2,4,5,6 test".getBytes(StandardCharsets.UTF_8))); TileObject toCache2 = TileObject.createCompleteTileObject( "testLayer", new long[] {0L, 0L, 0L}, "testGridSet", "image/png", params2, new ByteArrayResource("7,8,9,10 test".getBytes(StandardCharsets.UTF_8))); assertThat(store.getParameterIds("testLayer"), empty()); store.put(toCache1); assertThat(store.getParameterIds("testLayer"), containsInAnyOrder(params1Id)); store.put(toCache2); assertThat(store.getParameterIds("testLayer"), containsInAnyOrder(params1Id, params2Id)); }
@Override public boolean executeOperation(BlobStore store, Object... objs) throws StorageException { store.destroy(); return true; } },
delegate.removeListener(listener); delegate.addListener(listener);
public void putLayerMetadata(final String layerName, final String key, final String value) { this.blobStore.putLayerMetadata(layerName, key, value); }