Added connection timeout to loadStyles

git-svn-id: https://svn.research-infrastructures.eu/d4science/gcube/trunk/spatial-data/geo-utility@124091 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2016-02-10 17:47:43 +00:00
parent a87db32ae8
commit 733d2dc1e0
2 changed files with 13 additions and 8 deletions

View File

@ -150,7 +150,7 @@ public class GeoNcWMSMetadataUtility {
layerName, layerName,
crs, crs,
validator.getValueOfParsedWMSParameter(WmsParameters.WIDTH), validator.getValueOfParsedWMSParameter(WmsParameters.WIDTH),
validator.getValueOfParsedWMSParameter(WmsParameters.HEIGHT)); validator.getValueOfParsedWMSParameter(WmsParameters.HEIGHT),connectionTimeout);
if(minmax!=null && minmax.length==2 && minmax[0]!=null && minmax[1]!=null){ if(minmax!=null && minmax.length==2 && minmax[0]!=null && minmax[1]!=null){
String valueMinMax = minmax[0]+","+minmax[1]; String valueMinMax = minmax[0]+","+minmax[1];
@ -169,7 +169,7 @@ public class GeoNcWMSMetadataUtility {
layerName, layerName,
crs, crs,
validator.getValueOfParsedWMSParameter(WmsParameters.WIDTH), validator.getValueOfParsedWMSParameter(WmsParameters.WIDTH),
validator.getValueOfParsedWMSParameter(WmsParameters.HEIGHT)); validator.getValueOfParsedWMSParameter(WmsParameters.HEIGHT),connectionTimeout);
if(minmax!=null && minmax.length==2 && minmax[0]!=null && minmax[1]!=null){ if(minmax!=null && minmax.length==2 && minmax[0]!=null && minmax[1]!=null){
isNcWms = true; isNcWms = true;

View File

@ -51,10 +51,11 @@ public class NcWmsGetMetadataRequest {
* @param crs the crs * @param crs the crs
* @param width the width * @param width the width
* @param height the height * @param height the height
* @param connectionTimeout the connection timeout
* @return the color scale range - an array of 2 elements that contains min and max value for the COLORSCALERANGE * @return the color scale range - an array of 2 elements that contains min and max value for the COLORSCALERANGE
* @throws Exception the exception * @throws Exception the exception
*/ */
public static String[] getColorScaleRange(String wmsServerUri, String wmsVersion, String bbox, String layerName, String crs, String width, String height) throws Exception { public static String[] getColorScaleRange(String wmsServerUri, String wmsVersion, String bbox, String layerName, String crs, String width, String height, int connectionTimeout) throws Exception {
logger.trace(NcWmsGetMetadataRequest.class.getName()+".getColorScaleRange working..."); logger.trace(NcWmsGetMetadataRequest.class.getName()+".getColorScaleRange working...");
String[] colorScaleMinMax = null; String[] colorScaleMinMax = null;
// http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?item=minmax&layers=analyzed_field&bbox=-180.0,-85.0,180.0,85.0&crs=EPSG%3A4326&request=GetMetadata&width=640&height=480 // http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?item=minmax&layers=analyzed_field&bbox=-180.0,-85.0,180.0,85.0&crs=EPSG%3A4326&request=GetMetadata&width=640&height=480
@ -83,7 +84,7 @@ public class NcWmsGetMetadataRequest {
try { try {
String query = UrlEncoderUtil.encodeQuery(parameters); String query = UrlEncoderUtil.encodeQuery(parameters);
colorScaleMinMax = openConnectionGetColorScaleRange(wmsServerUri, query); colorScaleMinMax = openConnectionGetColorScaleRange(wmsServerUri, query, connectionTimeout);
return colorScaleMinMax; return colorScaleMinMax;
}catch (Exception e) { }catch (Exception e) {
@ -97,9 +98,10 @@ public class NcWmsGetMetadataRequest {
* *
* @param urlConn the url conn * @param urlConn the url conn
* @param query the query * @param query the query
* @param connectionTimeout the connection timeout
* @return the string[] an array with 2 elements witch contains min, max value for the COLORSCALERANGE * @return the string[] an array with 2 elements witch contains min, max value for the COLORSCALERANGE
*/ */
private static String[] openConnectionGetColorScaleRange(String urlConn, String query) { private static String[] openConnectionGetColorScaleRange(String urlConn, String query, int connectionTimeout) {
URL url; URL url;
String[] colorScaleRange = null; String[] colorScaleRange = null;
@ -108,8 +110,11 @@ public class NcWmsGetMetadataRequest {
url = new URL(urlConn + "?" + query); url = new URL(urlConn + "?" + query);
URLConnection connection = url.openConnection(); URLConnection connection = url.openConnection();
connection.setConnectTimeout(CONNECTION_TIMEOUT); if(connectionTimeout<0)
connection.setReadTimeout(CONNECTION_TIMEOUT + CONNECTION_TIMEOUT); connectionTimeout = CONNECTION_TIMEOUT;
connection.setConnectTimeout(connectionTimeout);
connection.setReadTimeout(connectionTimeout*2);
logger.trace("openConnectionGetColorScaleRange on: " + url); logger.trace("openConnectionGetColorScaleRange on: " + url);
@ -207,7 +212,7 @@ public class NcWmsGetMetadataRequest {
// http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?item=minmax&layers=analyzed_field&bbox=-180.0,-85.0,180.0,85.0&crs=EPSG%3A4326&request=GetMetadata&width=640&height=480 // http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc?item=minmax&layers=analyzed_field&bbox=-180.0,-85.0,180.0,85.0&crs=EPSG%3A4326&request=GetMetadata&width=640&height=480
try { try {
NcWmsGetMetadataRequest.getColorScaleRange("http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc", "1.1.1", "-85.0,-180.0,85.0,180.0", "analyzed_field", "EPSG:4326", "640", "480"); NcWmsGetMetadataRequest.getColorScaleRange("http://thredds-d-d4s.d4science.org/thredds/wms/public/netcdf/test20.nc", "1.1.1", "-85.0,-180.0,85.0,180.0", "analyzed_field", "EPSG:4326", "640", "480", 2000);
} catch (Exception e) { } catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();