public static void updateAcceptAllRegExParameterFilter( final GeoServerTileLayerInfo tileLayerInfo, final String paramKey, boolean createParam) { Set<ParameterFilter> parameterFilters = tileLayerInfo.getParameterFilters(); for (Iterator<? extends ParameterFilter> it = parameterFilters.iterator(); it.hasNext();) { ParameterFilter parameterFilter = it.next(); String key = parameterFilter.getKey(); if (paramKey.equalsIgnoreCase(key)) { it.remove(); break; } } if (createParam) { RegexParameterFilter filter = new RegexParameterFilter(); filter.setKey(paramKey); filter.setDefaultValue(""); filter.setRegex(".*"); tileLayerInfo.getParameterFilters().add(filter); } }
/** * Add a {@link RegexParameterFilter} 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 updateAcceptAllRegExParameterFilter( final GeoServerTileLayerInfo tileLayerInfo, final String paramKey, boolean createParam) { createParam |= tileLayerInfo.removeParameterFilter(paramKey); if (createParam) { RegexParameterFilter filter = new RegexParameterFilter(); filter.setKey(paramKey); filter.setDefaultValue(""); filter.setRegex(".*"); tileLayerInfo.addParameterFilter(filter); } }
if (entry.getKey() != "") { RegexParameterFilter f = new RegexParameterFilter(); f.setRegex(".*"); f.setKey(entry.getKey()); f.setDefaultValue(entry.getValue());
RegexParameterFilter filter = new RegexParameterFilter(); filter.setKey("time"); filter.setRegex("\\d{2}:\\d{2}"); parameterFilters.add(filter); TileLayer tileLayer =
@Test public void testNormalizeLocale() throws Exception { filter.setRegex("f\u0131o|B\u0131r|BIZ"); filter.setNormalize(new CaseNormalizer(Case.LOWER, Locale.forLanguageTag("tr"))); assertThat(filter.getLegalValues(), nullValue()); for (String test : Arrays.asList("f\u0131o", "B\u0131r", "BIZ")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toLowerCase(Locale.forLanguageTag("tr")))); } for (String test : Arrays.asList( "F\u0131o", "FIO", "B\u0131R", "b\u0131r", "BIR", "BIz", "b\u0131z")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toLowerCase(Locale.forLanguageTag("tr")))); } for (String test : Arrays.asList("f\u0131oo", "f\u0131", "B\u0131", "BB\u0131rr", "BI", "BBIZ")) { assertThat(filter.applies(test), is(false)); try { filter.apply(test); fail(); } catch (Exception ex) { assertThat(ex, instanceOf(ParameterException.class)); } } assertThat(filter.apply(null), equalTo("Default")); assertThat(filter.apply(""), equalTo("Default")); }
regExParam.setKey("CQL_FILTER"); regExParam.setDefaultValue("INCLUDE"); regExParam.setRegex(".*");
@Before public void setUp() { filter = new RegexParameterFilter(); filter.setKey("TEST"); filter.setRegex("foo|Bar|BAZ"); filter.setDefaultValue("Default"); xs = new GeoWebCacheXStream(); xs = XMLConfiguration.getConfiguredXStream(xs, new StaticWebApplicationContext()); }
parameterFilter.setKey(CQL_FILTER_PARAMETER_NAME); parameterFilter.setDefaultValue(""); parameterFilter.setRegex("value='.*'"); filters.add(parameterFilter);