X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fportal%2Fnonrtric%2Fcontrolpanel%2Feiproducerapi%2FEiProducerApiImpl.java;h=381a35a86c1704f94c1306362e3263348b055d03;hb=2ab5761d22fa27fe90922331cb7019a156ed7e4f;hp=3ce3cc0b9bd2c7395d42b7fb86dfc5f32a2f8994;hpb=7c3b8301076b986c22dbec3287339f44b1c1a542;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java index 3ce3cc0..381a35a 100644 --- a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java +++ b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java @@ -19,23 +19,16 @@ */ package org.oransc.portal.nonrtric.controlpanel.eiproducerapi; -import com.google.gson.GsonBuilder; - import java.lang.invoke.MethodHandles; - -import javax.net.ssl.SSLException; - import org.json.JSONArray; import org.json.JSONObject; import org.oransc.portal.nonrtric.controlpanel.util.AsyncRestClient; +import org.oransc.portal.nonrtric.controlpanel.util.ErrorResponseHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; -import org.springframework.web.client.HttpClientErrorException; -import org.springframework.web.client.HttpServerErrorException; @Component("EiProducerApi") public class EiProducerApiImpl implements EiProducerApi { @@ -48,10 +41,6 @@ public class EiProducerApiImpl implements EiProducerApi { private final AsyncRestClient webClient; - private static com.google.gson.Gson gson = new GsonBuilder() // - .serializeNulls() // - .create(); // - @Autowired public EiProducerApiImpl( @org.springframework.beans.factory.annotation.Value("${enrichmentcontroller.url.prefix}") final String urlPrefix) { @@ -101,7 +90,7 @@ public class EiProducerApiImpl implements EiProducerApi { } return new ResponseEntity<>(new JSONArray(rsp.getBody()).toString(), rsp.getStatusCode()); } catch (Exception e) { - return handleException(e); + return ErrorResponseHandler.handleException(e); } } @@ -113,22 +102,7 @@ public class EiProducerApiImpl implements EiProducerApi { } return new ResponseEntity<>(new JSONObject(rsp.getBody()).toString(), rsp.getStatusCode()); } catch (Exception e) { - return handleException(e); - } - } - - private ResponseEntity handleException(Exception throwable) { - if (throwable instanceof HttpClientErrorException) { - HttpClientErrorException e = (HttpClientErrorException) throwable; - return new ResponseEntity<>(e.getMessage(), e.getStatusCode()); - } else if (throwable instanceof HttpServerErrorException) { - HttpServerErrorException e = (HttpServerErrorException) throwable; - return new ResponseEntity<>(e.getResponseBodyAsString(), e.getStatusCode()); - } else if (throwable instanceof SSLException) { - SSLException e = (SSLException) throwable; - return new ResponseEntity<>("Could not create WebClient " + e.getMessage(), - HttpStatus.INTERNAL_SERVER_ERROR); + return ErrorResponseHandler.handleException(e); } - return new ResponseEntity<>(throwable.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); } }