This is an automated email from the git hooks/post-receive script. New commit to branch feature/8379_connexion_serveur_distant_erreur_404_non_interceptee in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 5599081a1496b1af9ac1681e0e3be5053ef770fa Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Thu Jul 21 17:14:05 2016 +0200 Fix 404 error message display on connection test screen (when trying to connect to a distant server) Wrap 404 error message into an ObserveServiceRestNotAvailableException exception refs #8379 --- .../services/http/ObserveResponseBuilder.java | 36 +++++++++++++--------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/observe-services-rest/src/main/java/fr/ird/observe/services/http/ObserveResponseBuilder.java b/observe-services-rest/src/main/java/fr/ird/observe/services/http/ObserveResponseBuilder.java index 52af696..24ab9cc 100644 --- a/observe-services-rest/src/main/java/fr/ird/observe/services/http/ObserveResponseBuilder.java +++ b/observe-services-rest/src/main/java/fr/ird/observe/services/http/ObserveResponseBuilder.java @@ -67,6 +67,7 @@ import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; import java.net.ConnectException; +import java.net.URL; import java.net.UnknownHostException; import java.nio.charset.Charset; import java.util.List; @@ -119,33 +120,40 @@ public class ObserveResponseBuilder { ResponseContext responseContext = executeRequest(request); if (responseContext.statusCode != 200) { + if (log.isWarnEnabled()) { log.warn(String.format("Unexpected status code for url: %s\n%s", baseUrl, responseContext.responseAsString)); } - ObserveHttpError error; - - try { - error = convertJson(responseContext.responseAsString, ObserveHttpError.class); - } catch (Exception e) { - // si le reponse n'est pas un Json on envoie la reponse tel quel; - throw new ObserveServiceRestErrorException(responseContext.statusCode + " : \n" + responseContext.responseAsString); - } + if (responseContext.statusCode == 404) { - if (error == null) { - - throw new ObserveServiceRestErrorException("" + responseContext.statusCode); + throw new ObserveServiceRestNotAvailableException(new URL(baseUrl)); } else { + ObserveHttpError error; - if (error.getException() != null) { + try { + error = convertJson(responseContext.responseAsString, ObserveHttpError.class); + } catch (Exception e) { + // si le reponse n'est pas un Json on envoie la reponse tel quel; + throw new ObserveServiceRestErrorException(responseContext.statusCode + " : \n" + responseContext.responseAsString); + } - throw error.getException(); + if (error == null) { + + throw new ObserveServiceRestErrorException("" + responseContext.statusCode); } else { - throw new ObserveServiceRestErrorException(error.getHttpCode() + " : " + error.getMessage()); + if (error.getException() != null) { + + throw error.getException(); + + } else { + + throw new ObserveServiceRestErrorException(error.getHttpCode() + " : " + error.getMessage()); + } } } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.