public void adjustLayerWmsNameAndUrl(LayerDefinition layerDefinition) throws IOException { String layerURL = null; String layersParam = null; String type = layerDefinition.getLayerType(); if (isMyPlacesType(layerDefinition)) { if (layerDefinition.getWmsurl() != null && layerDefinition.getWmsname() != null) { layerURL = ConfigValue.LAYER_URLTEMPLATE_MYPLACES.getConfigProperty(props).split("\\?")[0] + "?" + layerDefinition.getWmsurl().split("\\?")[1]; layersParam = URLEncoder.encode( ConfigValue.LAYER_URLTEMPLATE_MYPLACES_LAYERS.getConfigProperty(props), "UTF-8"); } else { String[] splitter = layerDefinition.getLayerid().split("_"); layerURL = String.format( ConfigValue.LAYER_URLTEMPLATE_MYPLACES.getConfigProperty(props), splitter[1]); layersParam = URLEncoder.encode( ConfigValue.LAYER_URLTEMPLATE_MYPLACES_LAYERS.getConfigProperty(props), "UTF-8"); } } else if ("wmslayer".equals(type)) { layerURL = layerDefinition.getWmsurl(); layersParam = URLEncoder.encode(layerDefinition.getWmsname(), "UTF-8"); } else if ("base".equals(type) || "groupMap".equals(type)) { layerURL = layerDefinition.getWmsurl(); if (layerDefinition.getWmsname() != null) { layersParam = URLEncoder.encode(layerDefinition.getWmsname(), "UTF-8"); } } else if ("wfslayer".equals(type)) { layerURL = String.format( ConfigValue.LAYER_URLTEMPLATE_WFSLAYER.getConfigProperty(props), layerDefinition.getLayerid()); layersParam = URLEncoder.encode(layerDefinition.getLayerid(), "UTF-8"); } else if ("statslayer".equals(type)) { layerURL = String.format( ConfigValue.LAYER_URLTEMPLATE_STATSLAYER.getConfigProperty(props), layerDefinition.getLayerid()); layersParam = URLEncoder.encode(layerDefinition.getLayerid(), "UTF-8"); } else if ("geojson".equals(type)) { } else if ("wmtslayer".equals(type)) { layerURL = layerDefinition.getWmsurl(); layersParam = URLEncoder.encode(layerDefinition.getWmsname(), "UTF-8"); if (layerURL != null) { if (layerURL.indexOf('?') != -1) { layerURL = layerURL.substring(0, layerURL.indexOf('?')); } } } else { throw new IOException("Unknown layertype " + type); } layerDefinition.setWmsname(layersParam); layerDefinition.setWmsurl(layerURL); }
public boolean isMyPlacesType(LayerDefinition layerDefinition) { return layerDefinition.getLayerType() != null && "myplaces".equals(layerDefinition.getLayerType()) || layerDefinition.getLayerid().indexOf("myplaces") != -1; }