diff options
author | Norm Traxler <normant@amdocs.com> | 2019-01-23 16:46:03 +0000 |
---|---|---|
committer | Norm Traxler <normant@amdocs.com> | 2019-01-23 16:46:26 +0000 |
commit | 3e0f43bbe8c039857888daef3c32b2e66940cba8 (patch) | |
tree | 23eb28144db861f6fa9cafa87e4e0e44875c6f47 /src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java | |
parent | db29977a48f88e60944fbb139e542f3cacad603e (diff) |
Context Aggregator error handling
Issue-ID: LOG-937
Change-Id: I8e5b836902255264c58bdf913c54c7342a7932f6
Signed-off-by: Norm Traxler <normant@amdocs.com>
Diffstat (limited to 'src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java')
-rw-r--r-- | src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java b/src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java index 3881642..c4f1eef 100644 --- a/src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java +++ b/src/main/java/org/onap/pomba/contextaggregator/rest/RestRequest.java @@ -30,6 +30,7 @@ import org.onap.aai.restclient.client.RestClient; import org.onap.pomba.contextaggregator.builder.ContextBuilder; import org.onap.pomba.contextaggregator.datatypes.POAEvent; import org.onap.pomba.contextaggregator.exception.ContextAggregatorError; +import org.onap.pomba.contextaggregator.exception.ContextAggregatorException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.util.UriComponents; @@ -53,40 +54,38 @@ public class RestRequest { } /** - * Retrieves the model data from the given context builder + * Retrieves the model data from the given context builder. * - * @param builder - * @param event + * @param builder The context builder. + * @param event The audit event. * @return Returns the JSON response from the context builder */ - public static String getModelData(ContextBuilder builder, POAEvent event) { + public static String getModelData(ContextBuilder builder, POAEvent event) throws ContextAggregatorException { RestClient restClient = createRestClient(builder); - OperationResult result = null; - + OperationResult result; + try { - result = restClient.get(generateUri(builder, event), - generateHeaders(event.getxTransactionId(), builder), MediaType.APPLICATION_JSON_TYPE); - } catch(Exception e) { - log.error("Error getting result from " + builder.getContextName() + " context builder. Reason - " + e.getMessage()); - return null; + result = restClient.get(generateUri(builder, event), generateHeaders(event.getxTransactionId(), builder), + MediaType.APPLICATION_JSON_TYPE); + } catch (Exception e) { + log.error("Exception in Rest call", e); + throw new ContextAggregatorException(ContextAggregatorError.FAILED_TO_GET_MODEL_DATA, + builder.getContextName(), e.getMessage()); } - if(result != null) { - if(result.wasSuccessful()) { - log.debug("Retrieved model data for '" + builder.getContextName() + "': " + result.getResult()); - return result.getResult(); - } else { - // failed! return null - log.error(ContextAggregatorError.FAILED_TO_GET_MODEL_DATA.getMessage(builder.getContextName(), - result.getFailureCause())); - log.debug("Failed to retrieve model data for '" + builder.getContextName()); - return null; - } - } else { - log.debug("Failed to retrieve model data for '" + builder.getContextName()); - return null; + if (result == null) { + throw new ContextAggregatorException(ContextAggregatorError.FAILED_TO_GET_MODEL_DATA, + builder.getContextName(), "Null result"); + } + if (result.wasSuccessful()) { + log.info("Retrieved model data for '{}' context builder. Result: {}", builder.getContextName(), result.getResult()); + return result.getResult(); } + // failed! throw Exception: + throw new ContextAggregatorException(ContextAggregatorError.FAILED_TO_GET_MODEL_DATA, builder.getContextName(), + result.getFailureCause()); + } private static RestClient createRestClient(ContextBuilder builder) { @@ -112,8 +111,8 @@ public class RestRequest { } private static String getBasicAuthString(ContextBuilder builder) { - String encodedString = Base64.getEncoder().encodeToString(( builder.getUsername() + ":" + - Password.deobfuscate(builder.getPassword())).getBytes()); + String encodedString = Base64.getEncoder() + .encodeToString((builder.getUsername() + ":" + Password.deobfuscate(builder.getPassword())).getBytes()); return BASIC_AUTH + encodedString; } |