public DownloadMapProcess(GeoServer geoServer) { // TODO: make these configurable this.wms = new WMS(geoServer) { @Override public int getMaxRenderingTime() { return -1; } @Override public int getMaxRenderingErrors() { return -1; } @Override public Long getMaxRenderingSize() { return null; // } }; this.getMapReader = new GetMapKvpRequestReader(wms); }
GetMapRequest getMap = getMapReader.read(getMapReader.createRequest(), kvp, rawKvp); DefaultWebMapService.autoSetBoundsAndSize(getMap);
@Override protected List<?> parseLayers( List<String> requestedLayerNames, URL remoteOwsUrl, String remoteOwsType) { try { return super.parseLayers(requestedLayerNames, remoteOwsUrl, remoteOwsType); } catch (Exception e) { throw new RuntimeException("Error parsing layers list", e); } } }
public void testSldFailLookup() throws Exception { // nothing matches the required style name HashMap kvp = new HashMap(); URL url = GetMapKvpRequestReader.class.getResource("BasicPolygonsLibraryNoDefault.sld"); kvp.put("sld", URLDecoder.decode(url.toExternalForm(), "UTF-8")); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); kvp.put("styles", "ThisStyleDoesNotExists"); GetMapRequest request = (GetMapRequest) reader.createRequest(); try { reader.setLaxStyleMatchAllowed(false); request = (GetMapRequest) reader.read(request, parseKvp(kvp), caseInsensitiveKvp(kvp)); fail("The style looked up, 'ThisStyleDoesNotExists', should not have been found"); } catch (ServiceException e) { // System.out.println(e); } }
if (layerParam != null) { List<String> layerNames = KvpUtils.readFlat(layerParam); requestedLayerInfos.addAll(parseLayers(layerNames, remoteOwsUrl, remoteOwsType)); for (int i = 0; i < requestedLayerInfos.size(); ) { Object o = requestedLayerInfos.get(i); if (skipResource(o)) { getMap.setInterpolations(parseInterpolations(requestedLayerInfos, interpolationList)); List<Filter> filters = parseFilters(getMap, rawFilters, cqlFilters); List<List<SortBy>> sortBy = rawSortBy.isEmpty() ? null : rawSortBy; List errors = validateStyle(reader, getMap); StyledLayerDescriptor sld = parseStyle(getMap, input); processSld(getMap, requestedLayerInfos, sld, styleNameList); errors = validateStyle(input, getMap); } finally { input.close(); StyledLayerDescriptor sld = parseStyle(getMap, input); processSld(getMap, requestedLayerInfos, sld, styleNameList); } catch (Exception ex) { final Level l = Level.WARNING; List<Style> parseStyles = parseStyles(styleNameList); getMap.setStyles(parseStyles);
@Test public void testStyleGroup() throws Exception { WMS wms = new WMS(getGeoServer()); GetMapKvpRequestReader reader = new GetMapKvpRequestReader(wms); // asserts the a layerGroup can be created with null layer and a styleGroup sld HashMap kvp = new HashMap(); kvp.put("layers", "BasicStyleGroup"); kvp.put("styles", ""); GetMapRequest request = reader.createRequest(); request = reader.read(request, parseKvp(kvp), kvp); assertNotNull(request.getLayers()); assertNotNull(request.getStyles()); }
request = kvpRequestReader.read(new GetMapRequest(), kvp, rawKvp);
public void testCreateRequest() throws Exception { GetMapRequest request = (GetMapRequest) reader.createRequest(); assertNotNull(request); }
style = findStyle(wms, request, style.getName()); style = findStyle(wms, request, style.getName()); checkStyle(style, layer);
Style style = findStyleOf(request, currLayer, styleName, styledLayers); styles.add(style); } else if (o instanceof LayerGroupInfo) { currLayer = new MapLayerInfo(layer); layers.add(currLayer); Style style = findStyleOf(request, currLayer, styleName, styledLayers); styles.add(style);
if (layerStyles[t] instanceof NamedStyle) { layers.add(currLayer); s = findStyle(wms, request, (layerStyles[t]).getName());
final List<String> remoteTypeNames = new ArrayList<String>(); if ("WFS".equals(remoteOwsType) && remoteOwsUrl != null) { remoteWFS = connectRemoteWFS(remoteOwsUrl); remoteTypeNames.addAll(Arrays.asList(remoteWFS.getTypeNames())); Collections.sort(remoteTypeNames);
public void testSldConnectionFailure() throws Exception { // Connection for specified external SLD fails while retrieving SLD HashMap kvp = new HashMap(); URL url = new URL("http://hostthatdoesnotexist/"); kvp.put("sld", URLDecoder.decode(url.toExternalForm(), "UTF-8")); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); kvp.put("styles", "ThisStyleDoesNotExists"); GetMapRequest request = (GetMapRequest) reader.createRequest(); try { reader.setLaxStyleMatchAllowed(false); request = (GetMapRequest) reader.read(request, parseKvp(kvp), caseInsensitiveKvp(kvp)); fail("The style looked up, 'ThisStyleDoesNotExists', should not have been found"); } catch (ServiceException e) { assertTrue("Exception should not reveal its cause", e.getCause() == null); } }
public void testSldDisabled() throws Exception { 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()); WMS wms = new WMS(getGeoServer()); WMSInfo oldInfo = wms.getGeoServer().getService(WMSInfo.class); WMSInfo info = new WMSInfoImpl(); info.setDynamicStylingDisabled(Boolean.TRUE); getGeoServer().remove(oldInfo); getGeoServer().add(info); reader = new GetMapKvpRequestReader(wms); GetMapRequest request = (GetMapRequest) reader.createRequest(); boolean error = false; try { request = (GetMapRequest) reader.read(request, parseKvp(kvp), kvp); } catch (ServiceException e) { error = true; } getGeoServer().remove(info); getGeoServer().add(oldInfo); assertTrue(error); }
getMapPart = getMapReader.read(getMapPart, kvp, rawKvp); } catch (ServiceException se) { throw se;
public void testSortByLessThanRequired() throws Exception { HashMap<String, Serializable> kvp = new HashMap<>(); kvp.put("layers", getLayerId(MockData.BASIC_POLYGONS) + "," + getLayerId(MockData.LAKES)); kvp.put("sortBy", "FID D"); GetMapRequest request = (GetMapRequest) reader.createRequest(); try { reader.read(request, parseKvp(kvp), caseInsensitiveKvp(kvp)); } catch (Exception e) { assertThat(e.getMessage(), containsString("sortBy")); } }
public void testSldNotExist() throws Exception { // Specified external SLD does not exist HashMap kvp = new HashMap(); URL url = new URL(GetMapKvpRequestReaderTest.class.getResource(""), "does-not-exist"); kvp.put("sld", URLDecoder.decode(url.toExternalForm(), "UTF-8")); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); kvp.put("styles", "ThisStyleDoesNotExists"); GetMapRequest request = (GetMapRequest) reader.createRequest(); try { reader.setLaxStyleMatchAllowed(false); request = (GetMapRequest) reader.read(request, parseKvp(kvp), caseInsensitiveKvp(kvp)); fail("The style looked up, 'ThisStyleDoesNotExists', should not have been found"); } catch (ServiceException e) { assertTrue("Exception should not reveal its cause", e.getCause() == null); } }
public void testSldBodyDisabled() throws Exception { HashMap kvp = new HashMap(); kvp.put("sld_body", STATES_SLD); kvp.put( "layers", MockData.BASIC_POLYGONS.getPrefix() + ":" + MockData.BASIC_POLYGONS.getLocalPart()); WMS wms = new WMS(getGeoServer()); WMSInfo oldInfo = wms.getGeoServer().getService(WMSInfo.class); WMSInfo info = new WMSInfoImpl(); info.setDynamicStylingDisabled(Boolean.TRUE); getGeoServer().remove(oldInfo); getGeoServer().add(info); reader = new GetMapKvpRequestReader(wms); GetMapRequest request = (GetMapRequest) reader.createRequest(); boolean error = false; try { request = (GetMapRequest) reader.read(request, parseKvp(kvp), kvp); } catch (ServiceException e) { error = true; } getGeoServer().remove(info); getGeoServer().add(oldInfo); assertTrue(error); }
/** * Builds a new feature count processor given the legend graphic request. It can be used to * alter with feature counts many rule sets. * * @param request */ public FeatureCountProcessor(GetLegendGraphicRequest request) { this.request = request; this.getMapReader = new GetMapKvpRequestReader(request.getWms()); }
public List parseLayers( List<String> requestedLayerNames, URL remoteOwsUrl, String remoteOwsType) { try { return super.parseLayers(requestedLayerNames, remoteOwsUrl, remoteOwsType); } catch (Exception exception) { throw new ServiceException("Error parsing requested layers.", exception); } } }