/** * Set the styles which should be cached on a layer * * @param info * @param defaultStyle * @param cachedStyles */ public static void setCachedStyles( GeoServerTileLayerInfo info, String defaultStyle, Set<String> cachedStyles) { StyleParameterFilter filter = (StyleParameterFilter) info.getParameterFilter("STYLES"); if (filter == null) filter = new StyleParameterFilter(); filter.setDefaultValue(defaultStyle); filter.setStyles(cachedStyles); info.addParameterFilter(filter); }
/** * Add a {@link FloatParameterFilter} set accept anything, replacing any existing filter for the * same parameter. * * @param tileLayerInfo layer to update the filter on * @param paramKey key for the parameter * @param createParam create a new filter if there is none to replace for the specified key */ public static void updateAcceptAllFloatParameterFilter( final GeoServerTileLayerInfo tileLayerInfo, final String paramKey, boolean createParam) { createParam |= tileLayerInfo.removeParameterFilter(paramKey); if (createParam) { FloatParameterFilter filter = new FloatParameterFilter(); filter.setKey(paramKey); filter.setDefaultValue(""); tileLayerInfo.addParameterFilter(filter); } }
/** * Add a {@link StringParameterFilter} to the layer, replacing any existing filter for the same * parameter. * * @param tileLayerInfo layer to update the filter on * @param paramKey key for the parameter * @param createParam create a new filter if there is none to replace for the specified key * @param defaultValue default value * @param allowedValues legal values for the parameter */ public static void updateStringParameterFilter( final GeoServerTileLayerInfo tileLayerInfo, final String paramKey, boolean createParam, final String defaultValue, final Set<String> allowedValues) { createParam |= tileLayerInfo.removeParameterFilter(paramKey); if (createParam && allowedValues != null && allowedValues.size() > 0) { // make sure default value is among the list of allowed values Set<String> values = new TreeSet<String>(allowedValues); StringParameterFilter stringListFilter = new StringParameterFilter(); stringListFilter.setKey(paramKey); stringListFilter.setDefaultValue(defaultValue == null ? "" : defaultValue); values.addAll(stringListFilter.getValues()); stringListFilter.setValues(new ArrayList<String>(values)); tileLayerInfo.addParameterFilter(stringListFilter); } }