From bcb448aa343cff99d4e6319eb61ab62bbd06a536 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 22 Jan 2016 15:54:09 +0000 Subject: [PATCH] Updated methods git-svn-id: https://svn.research-infrastructures.eu/d4science/gcube/trunk/spatial-data/geo-utility@122465 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../spatial/data/geoutility/GeoGetStyles.java | 23 +++++--- .../data/geoutility/wms/WmsUrlValidator.java | 59 +++++++++++++------ .../spatial/data/geoutility/GeoJUnitTest.java | 26 +++++++- 3 files changed, 80 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/gcube/spatial/data/geoutility/GeoGetStyles.java b/src/main/java/org/gcube/spatial/data/geoutility/GeoGetStyles.java index f634a48..45144bf 100644 --- a/src/main/java/org/gcube/spatial/data/geoutility/GeoGetStyles.java +++ b/src/main/java/org/gcube/spatial/data/geoutility/GeoGetStyles.java @@ -29,7 +29,7 @@ public class GeoGetStyles { public static final String COLORSCALERANGE_DEFAULT_VALUE = "auto"; boolean isNcWms = false; private String wmsRequest; - + private List geoStyles; private HashMap mapWmsNotStandard; private WmsUrlValidator validator; @@ -37,28 +37,25 @@ public class GeoGetStyles { * Instantiates a new geo get styles. * * @param wmsRequest the wms request - * @throws Exception + * @throws Exception the exception */ public GeoGetStyles(String wmsRequest) throws Exception{ this.wmsRequest = wmsRequest; this.validator = new WmsUrlValidator(wmsRequest); validator.parseWmsRequest(true, false); + loadStyles(); } /** - * Gets the styles. - * - * @return the styles + * Load styles. */ - public List getStyles(){ + private void loadStyles(){ String uriWMSService = validator.getBaseWmsServiceUrl(); String layerName = validator.getValueOfParsedWMSParameter(WmsParameters.LAYERS); String versionWms = validator.getValueOfParsedWMSParameter(WmsParameters.VERSION); String crs = validator.getValueOfParsedWMSParameter(WmsParameters.CRS); - System.out.println(validator.getParameterValues().toString()); - try { if(validator.getMapWmsNotStandardParams()!=null){ @@ -160,7 +157,15 @@ public class GeoGetStyles { styles = validator.getStylesAsList(); } - return styles; + this.geoStyles = styles; + } + + /** + * @return the geoStyles + */ + public List getGeoStyles() { + + return geoStyles; } /** diff --git a/src/main/java/org/gcube/spatial/data/geoutility/wms/WmsUrlValidator.java b/src/main/java/org/gcube/spatial/data/geoutility/wms/WmsUrlValidator.java index 7c9677e..15927b1 100644 --- a/src/main/java/org/gcube/spatial/data/geoutility/wms/WmsUrlValidator.java +++ b/src/main/java/org/gcube/spatial/data/geoutility/wms/WmsUrlValidator.java @@ -19,7 +19,7 @@ import org.gcube.spatial.data.geoutility.bean.WmsParameters; */ public class WmsUrlValidator { - private HashMap parameterValues = new HashMap(); + private HashMap parametersMap = new HashMap(); private String wmsRequest; private String baseWmsServiceUrl; private String wmsParameters; @@ -65,57 +65,57 @@ public class WmsUrlValidator { if(wmsParam.equals(WmsParameters.BBOX)){ String value = validateValueOfParameter(WmsParameters.BBOX, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.FORMAT)){ String value = validateValueOfParameter(WmsParameters.FORMAT, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.HEIGHT)){ String value = validateValueOfParameter( WmsParameters.HEIGHT, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.CRS)){ String crs = validateValueOfParameter(WmsParameters.CRS, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), crs); + parametersMap.put(wmsParam.getParameter(), crs); } if(wmsParam.equals(WmsParameters.WIDTH)){ String value = validateValueOfParameter(WmsParameters.WIDTH, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.REQUEST)){ String value = validateValueOfParameter(WmsParameters.REQUEST, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.SERVICE)){ String value = validateValueOfParameter(WmsParameters.SERVICE, wmsParameters,fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.SRS)){ String value = validateValueOfParameter(WmsParameters.SRS, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), value); + parametersMap.put(wmsParam.getParameter(), value); } if(wmsParam.equals(WmsParameters.STYLES)){ String styles = validateValueOfParameter(WmsParameters.STYLES, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), styles); + parametersMap.put(wmsParam.getParameter(), styles); } if(wmsParam.equals(WmsParameters.VERSION)){ String version = validateValueOfParameter(WmsParameters.VERSION, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), version); + parametersMap.put(wmsParam.getParameter(), version); } if(wmsParam.equals(WmsParameters.LAYERS)){ String layers = validateValueOfParameter(WmsParameters.LAYERS, wmsParameters, fillEmptyParameterAsDefaultValue); - parameterValues.put(wmsParam.getParameter(), layers); + parametersMap.put(wmsParam.getParameter(), layers); } } @@ -133,9 +133,9 @@ public class WmsUrlValidator { } //CREATE WMS REQUEST - for (String key : parameterValues.keySet()) { + for (String key : parametersMap.keySet()) { - String value = parameterValues.get(key); + String value = parametersMap.get(key); if(returnEmptyParameter && value!=null && value.isEmpty()){ parsedWmsRequest+=key+"="+value; //not add the parameter @@ -172,10 +172,11 @@ public class WmsUrlValidator { } /** - * @return the parameterValues + * @return the parametersMap */ - public HashMap getParameterValues() { - return parameterValues; + public HashMap getParametersMap() { + + return parametersMap; } /** @@ -209,7 +210,7 @@ public class WmsUrlValidator { * @return the value of parsed wms parameter parsed from wms request. */ public String getValueOfParsedWMSParameter(WmsParameters parameter){ - return parameterValues.get(parameter.getParameter()); + return parametersMap.get(parameter.getParameter()); } @@ -324,6 +325,28 @@ public class WmsUrlValidator { return mapWmsNotStandardParams; } + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + + StringBuilder builder = new StringBuilder(); + builder.append("WmsUrlValidator [parametersMap="); + builder.append(parametersMap); + builder.append(", wmsRequest="); + builder.append(wmsRequest); + builder.append(", baseWmsServiceUrl="); + builder.append(baseWmsServiceUrl); + builder.append(", wmsParameters="); + builder.append(wmsParameters); + builder.append(", wmsNotStandardParameters="); + builder.append(wmsNotStandardParameters); + builder.append(", mapWmsNotStandardParams="); + builder.append(mapWmsNotStandardParams); + builder.append("]"); + return builder.toString(); + } /** * The main method. diff --git a/src/test/java/org/gcube/spatial/data/geoutility/GeoJUnitTest.java b/src/test/java/org/gcube/spatial/data/geoutility/GeoJUnitTest.java index 8762537..b431119 100644 --- a/src/test/java/org/gcube/spatial/data/geoutility/GeoJUnitTest.java +++ b/src/test/java/org/gcube/spatial/data/geoutility/GeoJUnitTest.java @@ -3,16 +3,22 @@ */ package org.gcube.spatial.data.geoutility; +import org.gcube.spatial.data.geoutility.wms.WmsUrlValidator; import org.junit.Test; + /** + * The Class GeoJUnitTest. * * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * Jan 22, 2016 */ public class GeoJUnitTest { + /** + * Test get styles. + */ @Test public void testGetStyles() { // String wmsRequest = "http://repoigg.services.iit.cnr.it:8080/geoserver/IGG/ows?service=wms&version=1.1.0&request=GetMap&layers==IGG:area_temp_1000&width=676&height=330&srs=EPSG:4326&crs=EPSG:4326&format=application/openlayers&bbox=-85.5,-180.0,90.0,180.0"; @@ -21,7 +27,25 @@ public class GeoJUnitTest { GeoGetStyles geo; try { geo = new GeoGetStyles(wmsRequest); - System.out.println("Returned styles: "+geo.getStyles().toString()); + System.out.println("Returned styles: "+geo.getGeoStyles().toString()); + } + catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + /** + * Test wms url validator. + */ + @Test + public void testWMSUrlValidator() { + String wmsRequest = "http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?service=wms&version=1.3.0&request=GetMap&layers=analyzed_field&styles=&width=640&height=480&srs=EPSG:4326&CRS=EPSG:4326&format=image/png&COLORSCALERANGE=auto&bbox=-85.0,-180.0,85.0,180.0"; + WmsUrlValidator wms; + try { + wms = new WmsUrlValidator(wmsRequest); + System.out.println("Returned wms: "+wms.toString()); } catch (Exception e) { // TODO Auto-generated catch block