final boolean enabled = source.isEnabled(); final int gutter = source.getGutter(); final Set<XMLGridSubset> cachedGridSubsets = source.getGridSubsets(); final int metaTilingX = source.getMetaTilingX(); final int metaTilingY = source.getMetaTilingY(); final Set<String> mimeFormats = source.getMimeFormats(); final Boolean autoCacheStyles = source.isAutoCacheStyles(); final Set<String> cachedStyles = source.cachedStyles(); final boolean inMemoryCached = source.isInMemoryCached();
checkNotNull(oldInfo.getName()); checkNotNull(newInfo.getName()); checkNotNull(oldInfo.getId()); checkNotNull(newInfo.getId()); checkArgument(equal(oldInfo.getId(), newInfo.getId())); final String oldLayerName = oldInfo.getName(); final String layerName = newInfo.getName(); Set<XMLGridSubset> oldGridSubsets = oldInfo.getGridSubsets(); Set<XMLGridSubset> newGridSubsets = newInfo.getGridSubsets(); Set<String> oldFormats = new HashSet<String>(oldInfo.getMimeFormats()); Set<String> newFormats = new HashSet<String>(newInfo.getMimeFormats()); if (!oldFormats.equals(newFormats)) { oldFormats.removeAll(newFormats); if (!newInfo.cachedStyles().equals(oldInfo.cachedStyles())) { Set<String> oldStyles = new HashSet<String>(oldInfo.cachedStyles()); Set<String> newStyles = new HashSet<String>(newInfo.cachedStyles()); oldStyles.removeAll(newStyles); for (String removedStyle : oldStyles) {
@Override public List<ParameterFilter> getParameterFilters() { return new ArrayList<ParameterFilter>(info.getParameterFilters()); }
/** @see org.geowebcache.layer.TileLayer#getMetaTilingFactors() */ @Override public int[] getMetaTilingFactors() { return new int[] {info.getMetaTilingX(), info.getMetaTilingY()}; }
@Override public void addGridSubset(GridSubset gridSubset) { XMLGridSubset gridSubsetInfo = new XMLGridSubset(gridSubset); Set<XMLGridSubset> gridSubsets = new HashSet<XMLGridSubset>(info.getGridSubsets()); gridSubsets.add(gridSubsetInfo); info.setGridSubsets(gridSubsets); this.subSets = null; }
public static void addAutoStyleParameterFilter( final LayerInfo layer, GeoServerTileLayerInfo layerInfo) { StyleParameterFilter filter = new StyleParameterFilter(); filter.setLayer(layer); layerInfo.removeParameterFilter("STYLES"); layerInfo.getParameterFilters().add(filter); }
GeoServerTileLayer tileLayer = (GeoServerTileLayer) mediator.getTileLayerByName(layerName); GeoServerTileLayerInfo info = tileLayer.getInfo(); assertEquals(20, info.getGutter()); assertEquals(2, tileLayer.getGridSubsets().size()); assertTrue(tileLayer.getGridSubsets().contains("GoogleCRS84Quad")); assertTrue(tileLayer.getGridSubsets().contains("EPSG:4326")); assertEquals(ImmutableSet.of("image/png8"), info.getMimeFormats()); assertEquals(9, info.getMetaTilingX()); assertEquals(6, info.getMetaTilingY()); List<ParameterFilter> filters = Lists.newArrayList(info.getParameterFilters()); assertEquals(2, filters.size());
private GeoServerTileLayerInfo getTileLayerInfoByName(final String layerName) { GeoServerTileLayerInfo tileLayerInfo = null; // check pending modifs first in case name changed if (!pendingModications.isEmpty()) { for (GeoServerTileLayerInfo info : pendingModications.values()) { String name = info.getName(); if (name.equals(layerName)) { tileLayerInfo = info; break; } } } if (null == tileLayerInfo) { tileLayerInfo = tileLayerCatalog.getLayerByName(layerName); if (null == tileLayerInfo) { return null; } if (pendingDeletes.contains(tileLayerInfo.getId())) { return null; } if (pendingModications.containsKey(tileLayerInfo.getId())) { // found in catalog but not in pending modifications, means name changed return null; } } return tileLayerInfo; }
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 testSave() { final GeoServerTileLayerInfo original; { final GeoServerTileLayerInfo info = new GeoServerTileLayerInfoImpl(); info.setId("id1"); info.setName("name1"); info.getMimeFormats().add("image/png"); info.getMimeFormats().add("image/jpeg"); assertNull(catalog.save(info)); original = catalog.getLayerById("id1"); assertEquals(info.getMimeFormats(), original.getMimeFormats()); } original.getMimeFormats().clear(); original.getMimeFormats().add("image/gif"); original.setName("name2"); final GeoServerTileLayerInfo oldValue = catalog.save(original); assertNotNull(oldValue); assertEquals(ImmutableSet.of("image/png", "image/jpeg"), oldValue.getMimeFormats()); assertEquals("name1", oldValue.getName()); assertNull(catalog.getLayerByName("name1")); assertNotNull(catalog.getLayerByName("name2")); GeoServerTileLayerInfo modified = catalog.getLayerById("id1"); assertEquals(ImmutableSet.of("image/gif"), modified.getMimeFormats()); }
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); }
checkNotNull(tileLayer.getInfo().getId(), "id is null"); checkNotNull(tileLayer.getInfo().getName(), "name is null"); final String layerId = info.getId(); info.setName(newName); checkArgument(exists, "No GeoServerTileLayer named '" + info.getName() + "' exists"); pendingModications.put(layerId, info); layerCache.invalidate(layerId);
@Override public String getName() { return info.getName(); }
if (tileLayerInfo.isAutoCacheStyles()) { Set<String> styles = new HashSet<String>(); for (StyleInfo s : li.getStyles()) { ImmutableSet<String> cachedStyles = tileLayerInfo.cachedStyles(); if (!styles.equals(cachedStyles)) { mediator.truncate(groupTileLayerInfo.getName());
GeoServerTileLayerInfoImpl oldValue = null; final String tileLayerId = newValue.getId(); Preconditions.checkNotNull(tileLayerId); final String duplicateNameId = layersByName.get(newValue.getName()); if (null != duplicateNameId) { throw new IllegalArgumentException( "TileLayer with same name already exists: " + newValue.getName() + ": <" + duplicateNameId layersByName.put(newValue.getName(), newValue.getId()); layersById.put(newValue.getId(), newValue.clone());
tileLayerCatalog.getLayerById(layer.getId()); if (tileLayerInfo != null && tileLayerInfo.isEnabled() && !tileLayerInfo.isInMemoryCached()) { cache.addUncachedLayer(tileLayerInfo.getName());
public void testSaveRename() { GeoServerTileLayerInfo originalState = layerInfo1; GeoServerTileLayerInfo forceState1 = TileLayerInfoUtil.loadOrCreate(layer1, defaults); when(tileLayerCatalog.save(same(forceState1))).thenReturn(originalState); forceState1.setName("newName"); config.modifyLayer(new GeoServerTileLayer(layer1, gridSetBroker, forceState1)); verify(mockMediator, never()).layerRemoved(anyString()); verify(mockMediator, never()).layerRenamed(anyString(), anyString()); config.save(); verify(tileLayerCatalog, times(1)).save(same(forceState1)); // and gwc has been instructed on the changes verify(mockMediator, times(1)).layerRenamed(eq(layerInfo1.getName()), eq("newName")); }
if (tileLayerInfo.isAutoCacheStyles()) { Set<String> styles = new HashSet<String>(); for (StyleInfo s : li.getStyles()) { styles.add(s.getName()); ImmutableSet<String> cachedStyles = tileLayerInfo.cachedStyles(); if (!styles.equals(cachedStyles)) {
/** @see org.geowebcache.layer.TileLayer#getMimeTypes() */ @Override public List<MimeType> getMimeTypes() { Set<String> mimeFormats = info.getMimeFormats(); List<MimeType> mimeTypes = new ArrayList<MimeType>(mimeFormats.size()); for (String format : mimeFormats) { try { mimeTypes.add(MimeType.createFromFormat(format)); } catch (MimeException e) { LOGGER.log(Level.WARNING, "Can't create MimeType from format " + format, e); } } return mimeTypes; }