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=51be42aaae2f7134e5aa00e67b39242507276626;hb=714fa4fa439de489c7ddec02a46ac8d2543ec7f2;hp=ca45e272bc9e1bf17272a804ccca3c0f1665dbbe;hpb=60e8bb72f91d6cc3c72b4e50124955561f73caad;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 ca45e27..51be42a 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,36 +19,28 @@ */ 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 { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private static final String EI_TYPES = "/eitypes"; private static final String EI_PRODUCERS = "/eiproducers"; private static final String EI_JOBS = "/eijobs"; private static final String STATUS = "/status"; 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) { @@ -60,16 +52,6 @@ public class EiProducerApiImpl implements EiProducerApi { this.webClient = webClient; } - @Override - public ResponseEntity getAllEiTypeIds() { - return getResponseArray(EI_TYPES); - } - - @Override - public ResponseEntity getEiType(String eiTypeId) { - return getResponseObject(EI_TYPES + "/" + eiTypeId); - } - @Override public ResponseEntity getAllEiProducerIds() { return getResponseArray(EI_PRODUCERS); @@ -98,7 +80,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); } } @@ -110,22 +92,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); } }