@Override public String apply(@Nullable String str) throws ParameterException { if (str == null || str.length() == 0) { return getDefaultValue(); } str = getNormalize().apply(str); if (getLegalValues().contains(str)) { return str; } throw new ParameterException(str + " violates filter for parameter " + getKey()); }
@Override public StringParameterFilter clone() { StringParameterFilter clone = new StringParameterFilter(); clone.setDefaultValue(getDefaultValue()); clone.setKey(getKey()); if (values != null) { clone.values = new ArrayList<String>(values); } clone.setNormalize(getNormalize().clone()); return clone; } }
public void testGetParameterFilters() { layerInfoTileLayer = new GeoServerTileLayer(layerInfo, defaults, gridSetBroker); List<ParameterFilter> parameterFilters = layerInfoTileLayer.getParameterFilters(); assertNotNull(parameterFilters); assertEquals(1, parameterFilters.size()); assertTrue(parameterFilters.get(0) instanceof StringParameterFilter); StringParameterFilter styleFilter = (StringParameterFilter) parameterFilters.get(0); assertEquals("STYLES", styleFilter.getKey()); assertEquals("default_style", styleFilter.getDefaultValue()); assertEquals(new HashSet<String>(Arrays.asList("alternateStyle-1", "alternateStyle-2")), new HashSet<String>(styleFilter.getLegalValues())); // layerInfoTileLayer.getInfo().getCachedStyles().add("alternateStyle-2"); }
@Test public void testCloneable() throws Exception { filter.setNormalize(new CaseNormalizer(Case.UPPER, Locale.ENGLISH)); StringParameterFilter clone = filter.clone(); assertThat(clone.getDefaultValue(), equalTo(filter.getDefaultValue())); assertThat(clone.getValues(), equalTo(filter.getValues())); assertThat( clone.getNormalize().getConfiguredLocale(), equalTo(filter.getNormalize().getConfiguredLocale())); assertThat(clone.getNormalize().getCase(), equalTo(filter.getNormalize().getCase())); } }
assertEquals("capitals", stringFilter.getDefaultValue()); assertEquals(ImmutableList.of("burg", "point"), stringFilter.getLegalValues());
assertEquals("capitals", stringFilter.getDefaultValue()); assertEquals(ImmutableList.of("burg", "point"), stringFilter.getLegalValues());