Updated methods

git-svn-id: https://svn.research-infrastructures.eu/d4science/gcube/trunk/spatial-data/geo-utility@122465 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2016-01-22 15:54:09 +00:00
parent b966db1c19
commit bcb448aa34
3 changed files with 80 additions and 28 deletions

View File

@ -29,7 +29,7 @@ public class GeoGetStyles {
public static final String COLORSCALERANGE_DEFAULT_VALUE = "auto";
boolean isNcWms = false;
private String wmsRequest;
private List<String> geoStyles;
private HashMap<String, String> 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<String> 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<String> getGeoStyles() {
return geoStyles;
}
/**

View File

@ -19,7 +19,7 @@ import org.gcube.spatial.data.geoutility.bean.WmsParameters;
*/
public class WmsUrlValidator {
private HashMap<String, String> parameterValues = new HashMap<String, String>();
private HashMap<String, String> parametersMap = new HashMap<String, String>();
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<String, String> getParameterValues() {
return parameterValues;
public HashMap<String, String> 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.

View File

@ -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