public static void updateStringParameterFilter(final GeoServerTileLayerInfo tileLayerInfo, final String paramKey, boolean createParam, final String defaultValue, final Set<String> allowedValues) { removeParameterFilter(tileLayerInfo, 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); stringListFilter.getValues().addAll(values); tileLayerInfo.getParameterFilters().add(stringListFilter); } }