public void testGetTileLayerNames() { Set<String> expected = ImmutableSet.of(tileLayerName(layer1), tileLayerName(layer2), tileLayerName(group1), tileLayerName(group2)); Set<String> actual = config.getTileLayerNames(); assertEquals(expected, actual); }
private void mockCatalog() { when(catalog.getLayers()).thenReturn(Arrays.asList(layer)); when(catalog.getLayerGroups()).thenReturn(Arrays.asList(layerGroup)); when(catalog.getLayer(eq(layer.getId()))).thenReturn(layer); when(catalog.getLayerGroup(layerGroup.getId())).thenReturn(layerGroup); when(catalog.getLayerByName(eq(layer.getResource().prefixedName()))).thenReturn(layer); when(catalog.getLayerGroupByName(tileLayerName(layerGroup))).thenReturn(layerGroup); }
public static GeoServerTileLayerInfoImpl loadOrCreate(final LayerGroupInfo groupInfo, final GWCConfig defaults) { GeoServerTileLayerInfoImpl info = LegacyTileLayerInfoLoader.load(groupInfo); if (info == null) { info = create(defaults); } info.setName(tileLayerName(groupInfo)); info.setId(groupInfo.getId()); return info; }
@SuppressWarnings("unchecked") public void testLayerGroupInfoImplicitOrExplicitStyleChanged() throws Exception { LayerGroupInfo mockGroup = mock(LayerGroupInfo.class); when(GWC.tileLayerName(mockGroup)).thenReturn("mockGroup"); when(mockMediator.getLayerInfosFor(same(mockStyle))).thenReturn(Collections.EMPTY_LIST); when(mockMediator.getLayerGroupsFor(same(mockStyle))).thenReturn( Collections.singleton(mockGroup)); CatalogPostModifyEventImpl postModifyEvent = new CatalogPostModifyEventImpl(); postModifyEvent.setSource(mockStyle); listener.handlePostModifyEvent(postModifyEvent); verify(mockMediator, times(1)).truncate(eq("mockGroup")); } }
public void testGetTileLayer() { String layerName = tileLayerName(layerWithNoTileLayer); assertNull(config.getTileLayer(layerName)); assertNull(config.getTileLayer(tileLayerName(groupWithNoTileLayer))); assertNotNull(config.getTileLayer(tileLayerName(layer1))); assertNotNull(config.getTileLayer(tileLayerName(layer2))); assertNotNull(config.getTileLayer(tileLayerName(group1))); assertNotNull(config.getTileLayer(tileLayerName(group2))); assertNull(config.getTileLayer("anythingElse")); }
public void testLayerGroupInfoRemoved() throws Exception { CatalogRemoveEventImpl event = new CatalogRemoveEventImpl(); event.setSource(mockLayerGroupInfo); when(mockMediator.hasTileLayer(same(mockLayerGroupInfo))).thenReturn(true); listener.handleRemoveEvent(event); verify(mockMediator).removeTileLayers( eq(Arrays.asList(GWC.tileLayerName(mockLayerGroupInfo)))); }
public static GeoServerTileLayerInfoImpl load(final LayerGroupInfo layerGroup) { MetadataMap metadataMap = layerGroup.getMetadata(); if (!hasTileLayerDef(metadataMap)) { return null; } GeoServerTileLayerInfoImpl tileLayerInfo = load(metadataMap); if (tileLayerInfo != null) { tileLayerInfo.setName(tileLayerName(layerGroup)); tileLayerInfo.setId(layerGroup.getId()); } return tileLayerInfo; }
/** * Creates a cached tile layer from the given Layer Group * * @param groupInfo the layer group to cache * @param defaults default configuration */ public static GeoServerTileLayerInfoImpl loadOrCreate( final LayerGroupInfo groupInfo, final GWCConfig defaults) { GeoServerTileLayerInfoImpl info = LegacyTileLayerInfoLoader.load(groupInfo); if (info == null) { info = create(defaults); checkAutomaticStyles(groupInfo, info); } info.setName(tileLayerName(groupInfo)); info.setId(groupInfo.getId()); return info; }
public static GeoServerTileLayerInfoImpl load(final LayerGroupInfo layerGroup) { MetadataMap metadataMap = layerGroup.getMetadata(); if (!hasTileLayerDef(metadataMap)) { return null; } GeoServerTileLayerInfoImpl tileLayerInfo = load(metadataMap); if (tileLayerInfo != null) { tileLayerInfo.setName(tileLayerName(layerGroup)); tileLayerInfo.setId(layerGroup.getId()); } TileLayerInfoUtil.checkAutomaticStyles(layerGroup, tileLayerInfo); return tileLayerInfo; }
public void testGetName() { layerInfoTileLayer = new GeoServerTileLayer(layerInfo, defaults, gridSetBroker); assertEquals(tileLayerName(layerInfo), layerInfoTileLayer.getName()); layerGroupInfoTileLayer = new GeoServerTileLayer(layerGroup, defaults, gridSetBroker); assertEquals(GWC.tileLayerName(layerGroup), layerGroupInfoTileLayer.getName()); }
public void testModifyLayer() { try { config.modifyLayer(null); fail("expected precondition exception"); } catch (RuntimeException e) { assertTrue(e.getMessage().contains("is null")); } try { config.modifyLayer(mock(TileLayer.class)); fail("expected precondition exception"); } catch (RuntimeException e) { assertTrue(e.getMessage().contains("Can't save TileLayer of type")); } GeoServerTileLayer tileLayer1 = config.getTileLayer(tileLayerName(layer1)); GeoServerTileLayer tileLayer2 = config.getTileLayer(tileLayerName(group1)); testModifyLayer(tileLayer1); testModifyLayer(tileLayer2); }
public void testCreateLayerGroupInfo() { LayerGroupInfoImpl group = mockGroup("testGroup", mockLayer("testLayer",new String[]{}, LayerInfoImpl.Type.RASTER)); defaults.getDefaultOtherCacheFormats().clear(); defaults.getDefaultOtherCacheFormats().add("image/png8"); defaults.getDefaultOtherCacheFormats().add("image/jpeg"); GeoServerTileLayerInfo expected = TileLayerInfoUtil.create(defaults); expected.setId(group.getId()); expected.setName(GWC.tileLayerName(group)); GeoServerTileLayerInfo info = TileLayerInfoUtil.loadOrCreate(group, defaults); assertNotNull(info); assertEquals(expected, info); }
public void testCreateLayerGroup() { LayerGroupInfoImpl lg = mockGroup("tesGroup", mockLayer("L1",new String[]{}, LayerInfoImpl.Type.RASTER), mockLayer("L2",new String[]{}, LayerInfoImpl.Type.RASTER)); GeoServerTileLayerInfo info = defaultVectorInfo; info.setId(lg.getId()); info.setName(GWC.tileLayerName(lg)); info.getMimeFormats().clear(); info.getMimeFormats().addAll(defaults.getDefaultOtherCacheFormats()); GeoServerTileLayerInfo actual; actual = TileLayerInfoUtil.loadOrCreate(lg, defaults); assertEquals(info, actual); }
public void testCreateLayerInfo() { LayerInfoImpl layer = mockLayer("testLayer",new String[]{}, LayerInfoImpl.Type.RASTER); GeoServerTileLayerInfo info = TileLayerInfoUtil.loadOrCreate(layer, defaults); defaultVectorInfo.setId(layer.getId()); defaultVectorInfo.setName(tileLayerName(layer)); assertNotNull(info); assertEquals(defaultVectorInfo, info); }
public static GeoServerTileLayerInfoImpl load(final LayerInfo layer) { MetadataMap metadataMap = layer.getMetadata(); if (!hasTileLayerDef(metadataMap)) { return null; } GeoServerTileLayerInfoImpl tileLayerInfo = load(metadataMap); if (metadataMap.containsKey(CONFIG_KEY_CACHED_STYLES)) { final String defaultStyle = layer.getDefaultStyle() == null ? "" : layer.getDefaultStyle().prefixedName(); String cachedStylesStr = metadataMap.get(CONFIG_KEY_CACHED_STYLES, String.class); Set<String> cachedStyles = unmarshalSet(cachedStylesStr); TileLayerInfoUtil.setCachedStyles(tileLayerInfo, defaultStyle, cachedStyles); } TileLayerInfoUtil.checkAutomaticStyles(layer, tileLayerInfo); tileLayerInfo.setName(tileLayerName(layer)); tileLayerInfo.setId(layer.getId()); return tileLayerInfo; }
public void testLoadLayerGroup() { LayerGroupInfoImpl lg = mockGroup("tesGroup", mockLayer("L1", new String[]{}, LayerInfoImpl.Type.RASTER), mockLayer("L2", new String[]{}, LayerInfoImpl.Type.RASTER)); assertNull(LegacyTileLayerInfoLoader.load(lg)); GeoServerTileLayerInfo info = defaultVectorInfo; info.getMimeFormats().clear(); info.getMimeFormats().addAll(defaults.getDefaultOtherCacheFormats()); LegacyTileLayerInfoLoader.save(info, lg.getMetadata()); GeoServerTileLayerInfo actual; actual = LegacyTileLayerInfoLoader.load(lg); info.setId(lg.getId()); info.setName(GWC.tileLayerName(lg)); assertEquals(info, actual); }
public void testLoadLayerInfoAutoCacheStyles() { GeoServerTileLayerInfo info = defaultVectorInfo; info.setAutoCacheStyles(true); LayerInfoImpl layer = mockLayer("testLayer", new String[]{"style1", "style2"}, LayerInfoImpl.Type.RASTER); assertNull(LegacyTileLayerInfoLoader.load(layer)); LegacyTileLayerInfoLoader.save(info, layer.getMetadata()); GeoServerTileLayerInfo actual; actual = LegacyTileLayerInfoLoader.load(layer); TileLayerInfoUtil.setCachedStyles(info, "default", ImmutableSet.of("style1", "style2")); info.setId(layer.getId()); info.setName(tileLayerName(layer)); assertEquals(info, actual); layer.setDefaultStyle(null); TileLayerInfoUtil.setCachedStyles(info, null, ImmutableSet.of("style1", "style2")); actual = LegacyTileLayerInfoLoader.load(layer); assertEquals(ImmutableSet.of("style1", "style2"), actual.cachedStyles()); }
public void testLoadLayerInfo() { LayerInfoImpl layer = mockLayer("testLayer", new String[]{}, LayerInfoImpl.Type.RASTER); assertNull(LegacyTileLayerInfoLoader.load(layer)); LegacyTileLayerInfoLoader.save(defaultVectorInfo, layer.getMetadata()); GeoServerTileLayerInfo info2 = LegacyTileLayerInfoLoader.load(layer); defaultVectorInfo.setId(layer.getId()); defaultVectorInfo.setName(tileLayerName(layer)); assertEquals(defaultVectorInfo, info2); }
public void testLoadLayerInfoExtraStyles() { GeoServerTileLayerInfo info = defaultVectorInfo; info.setAutoCacheStyles(false); TileLayerInfoUtil.setCachedStyles(info, "default", ImmutableSet.of("style1")); LayerInfoImpl layer = mockLayer("testLayer", new String[]{"style1", "style2"}, LayerInfoImpl.Type.RASTER); assertNull(LegacyTileLayerInfoLoader.load(layer)); LegacyTileLayerInfoLoader.save(info, layer.getMetadata()); GeoServerTileLayerInfo actual; actual = LegacyTileLayerInfoLoader.load(layer); info.setId(layer.getId()); info.setName(tileLayerName(layer)); assertEquals(info, actual); layer.setDefaultStyle(null); TileLayerInfoUtil.setCachedStyles(info, null, ImmutableSet.of("style1")); LegacyTileLayerInfoLoader.save(info, layer.getMetadata()); actual = LegacyTileLayerInfoLoader.load(layer); assertEquals(ImmutableSet.of("style1"), actual.cachedStyles()); }
public void testRemoveLayerAfterReload() throws Exception { Catalog cat = getCatalog(); TileLayerDispatcher tld = GeoWebCacheExtensions.bean(TileLayerDispatcher.class); LayerInfo li = cat.getLayerByName(super.getLayerId(MockData.MPOINTS)); String layerName = tileLayerName(li); assertNotNull(tld.getTileLayer(layerName)); // force reload getGeoServer().reload(); // now remove the layer and check it has been removed from GWC as well cat.remove(li); try { tld.getTileLayer(layerName); fail("Layer should not exist"); } catch (GeoWebCacheException gwce) { // fine } } }