view flys-client/src/main/java/de/intevation/flys/client/shared/MapUtils.java @ 5818:a4ff4167be1e

Request feature info on all layers and show it as html if the server does not return valid gml. Non queryable layers produce an error message when the request fails. This is good enough
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 24 Apr 2013 17:33:27 +0200
parents f8409fbe3b88
children
line wrap: on
line source
package de.intevation.flys.client.shared;

import java.util.Date;


public class MapUtils {

    public static final String GET_LEGEND_GRAPHIC_TEMPLATE =
        "${SERVER}SERVICE=WMS&VERSION=1.1.1&layer=${LAYER}" +
        "&REQUEST=getLegendGraphic&FORMAT=image/png";


    private MapUtils() {
    }

    public static String getLegendGraphicUrl(String server, String layer) {
        return getLegendGraphicUrl(server, layer, -1);
    }

    public static String getLegendGraphicUrl(String server, String layer, int dpi) {
        if (server == null || layer == null) {
            return null;
        }

        if (server.contains("osm.intevation.de")) {
            // GetLegend is not implemented at osm.intevation.de
            // This avoids an error in the print log
            return null;
        }
        server = server.indexOf("?") >= 0 ? server : server + "?";

        String url = GET_LEGEND_GRAPHIC_TEMPLATE;
        url = url.replace("${SERVER}", server);
        url = url.replace("${LAYER}", layer);
        url = url + "&timestamp=" + new Date().getTime();
        if (dpi != -1) {
            url+="&legend_options=dpi:" + dpi;
        }

        return url;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org