public Object parse(String value) throws Exception { return new URL(fixURL(value)); }
public void testSldNamed() throws Exception { // style name matching one in the sld HashMap kvp = new HashMap(); URL url = GetMapKvpRequestReader.class.getResource("BasicPolygonsLibraryNoDefault.sld"); String decoded = URLDecoder.decode(url.toExternalForm(), "UTF-8"); kvp.put("sld", decoded); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); kvp.put("styles", "TheLibraryModeStyle"); GetMapRequest request = (GetMapRequest) reader.createRequest(); request = (GetMapRequest) reader.read(request, parseKvp(kvp), kvp); assertNotNull(request.getSld()); assertEquals(URLKvpParser.fixURL(decoded), request.getSld().toExternalForm()); final Style style = (Style) request.getStyles().get(0); assertNotNull(style); assertEquals("TheLibraryModeStyle", style.getName()); }
public void testSldDefault() throws Exception { // no style name, but the sld has a default for that layer HashMap kvp = new HashMap(); URL url = GetMapKvpRequestReader.class.getResource("BasicPolygonsLibraryDefault.sld"); String decoded = URLDecoder.decode(url.toExternalForm(), "UTF-8"); kvp.put("sld", decoded); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); GetMapRequest request = (GetMapRequest) reader.createRequest(); request = (GetMapRequest) reader.read(request, parseKvp(kvp), kvp); assertNotNull(request.getSld()); assertEquals(URLKvpParser.fixURL(decoded), request.getSld().toExternalForm()); final Style style = (Style) request.getStyles().get(0); assertNotNull(style); assertEquals("TheLibraryModeStyle", style.getName()); }
public void testSldNoDefault() throws Exception { // no style name, no default, we should fall back on the server default HashMap kvp = new HashMap(); URL url = GetMapKvpRequestReader.class.getResource("BasicPolygonsLibraryNoDefault.sld"); // the kvp should be already in decoded form String decoded = URLDecoder.decode(url.toExternalForm(), "UTF-8"); kvp.put("sld", decoded); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); GetMapRequest request = (GetMapRequest) reader.createRequest(); reader.setLaxStyleMatchAllowed(false); request = (GetMapRequest) reader.read(request, parseKvp(kvp), caseInsensitiveKvp(kvp)); assertNotNull(request.getSld()); assertEquals(URLKvpParser.fixURL(decoded), request.getSld().toExternalForm()); final Style style = (Style) request.getStyles().get(0); assertNotNull(style); assertEquals("BasicPolygons", style.getName()); }
public void testSldLibraryFeatureTypeConstraints() throws Exception { // no styles, no layer, the full definition is in the sld HashMap kvp = new HashMap(); URL url = GetMapKvpRequestReader.class.getResource("BasicPolygonsFeatureTypeConstaint.sld"); String decoded = URLDecoder.decode(url.toExternalForm(), "UTF-8"); kvp.put("sld", decoded); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); kvp.put("styles", "TheLibraryModeStyle"); GetMapRequest request = (GetMapRequest) reader.createRequest(); request = (GetMapRequest) reader.read(request, parseKvp(kvp), kvp); assertNotNull(request.getSld()); assertEquals(URLKvpParser.fixURL(decoded), request.getSld().toExternalForm()); // check the style final Style style = (Style) request.getStyles().get(0); assertNotNull(style); assertEquals("TheLibraryModeStyle", style.getName()); // check the layer assertEquals(1, request.getLayers().size()); MapLayerInfo layer = request.getLayers().get(0); assertEquals(getLayerId(MockData.BASIC_POLYGONS), layer.getName()); // check the filter imposed in the feature type constraint FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); assertEquals(1, layer.getLayerFeatureConstraints().length); assertEquals( ff.equals(ff.property("ID"), ff.literal("xyz")), layer.getLayerFeatureConstraints()[0].getFilter()); }
public void testSldFeatureTypeConstraints() throws Exception { // no styles, no layer, the full definition is in the sld HashMap kvp = new HashMap(); URL url = GetMapKvpRequestReader.class.getResource("BasicPolygonsFeatureTypeConstaint.sld"); String decoded = URLDecoder.decode(url.toExternalForm(), "UTF-8"); kvp.put("sld", decoded); GetMapRequest request = (GetMapRequest) reader.createRequest(); request = (GetMapRequest) reader.read(request, parseKvp(kvp), kvp); assertNotNull(request.getSld()); assertEquals(URLKvpParser.fixURL(decoded), request.getSld().toExternalForm()); // check the style final Style style = (Style) request.getStyles().get(0); assertNotNull(style); assertEquals("TheLibraryModeStyle", style.getName()); // check the layer assertEquals(1, request.getLayers().size()); MapLayerInfo layer = request.getLayers().get(0); assertEquals(getLayerId(MockData.BASIC_POLYGONS), layer.getName()); // check the filter imposed in the feature type constraint FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); assertEquals(1, layer.getLayerFeatureConstraints().length); assertEquals( ff.equals(ff.property("ID"), ff.literal("xyz")), layer.getLayerFeatureConstraints()[0].getFilter()); }