X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fsa%2Frest%2FDocumentApi.java;h=14d430ebe4ae6a86be4411af8ff9cd8bd1179ae5;hb=ecd35f117eb0118f9cbd96fe132a1c359214bfc7;hp=2d9eb1f05012637a4860c9706543f35f66c35334;hpb=15af66b115f3e8046b2d0f2634fb77b3d835f730;p=aai%2Fsearch-data-service.git diff --git a/src/main/java/org/onap/aai/sa/rest/DocumentApi.java b/src/main/java/org/onap/aai/sa/rest/DocumentApi.java index 2d9eb1f..14d430e 100644 --- a/src/main/java/org/onap/aai/sa/rest/DocumentApi.java +++ b/src/main/java/org/onap/aai/sa/rest/DocumentApi.java @@ -1,4 +1,4 @@ -/** +/** * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ @@ -43,6 +43,7 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; public class DocumentApi { + private static final String MSG_REQUEST_BODY = "Request Body: "; private static final String REQUEST_HEADER_RESOURCE_VERSION = "If-Match"; private static final String RESPONSE_HEADER_RESOURCE_VERSION = "ETag"; private static final String REQUEST_HEADER_ALLOW_IMPLICIT_INDEX_CREATION = "X-CreateIndex"; @@ -88,7 +89,7 @@ public class DocumentApi { DocumentOperationResult result = documentStore.createDocument(index, document, implicitlyCreateIndex(headers)); String output = null; - if (result.getResultCode() >= 200 && result.getResultCode() <= 299) { + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getDocument()); } else { output = result.getError() != null @@ -99,7 +100,7 @@ public class DocumentApi { if (httpResponse != null) { httpResponse.setHeader(RESPONSE_HEADER_RESOURCE_VERSION, result.getResultVersion()); } - ResponseEntity response = + ResponseEntity response = ResponseEntity.status(result.getResultCode()).contentType(MediaType.APPLICATION_JSON).body(output); logResult(request, HttpStatus.valueOf(response.getStatusCodeValue())); logResult(request, HttpStatus.valueOf(response.getStatusCodeValue())); @@ -155,7 +156,7 @@ public class DocumentApi { } String output = null; - if (result.getResultCode() >= 200 && result.getResultCode() <= 299) { + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getDocument()); } else { output = result.getError() != null @@ -165,7 +166,7 @@ public class DocumentApi { if (httpResponse != null) { httpResponse.setHeader(RESPONSE_HEADER_RESOURCE_VERSION, result.getResultVersion()); } - ResponseEntity response = + ResponseEntity response = ResponseEntity.status(result.getResultCode()).contentType(MediaType.APPLICATION_JSON).body(output); logResult(request, HttpStatus.valueOf(response.getStatusCodeValue())); @@ -212,7 +213,7 @@ public class DocumentApi { DocumentOperationResult result = documentStore.deleteDocument(index, document); String output = null; - if (!(result.getResultCode() >= 200 && result.getResultCode() <= 299)) { // + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = result.getError() != null ? mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getError()) : result.getFailureCause(); @@ -221,7 +222,7 @@ public class DocumentApi { if (httpResponse != null) { httpResponse.setHeader(RESPONSE_HEADER_RESOURCE_VERSION, result.getResultVersion()); } - ResponseEntity response; + ResponseEntity response; if (output == null) { response = ResponseEntity.status(result.getResultCode()).build(); } else { @@ -271,7 +272,7 @@ public class DocumentApi { DocumentOperationResult result = documentStore.getDocument(index, document); String output = null; - if (result.getResultCode() >= 200 && result.getResultCode() <= 299) { + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getDocument()); } else { output = result.getError() != null @@ -281,7 +282,7 @@ public class DocumentApi { if (httpResponse != null) { httpResponse.setHeader(RESPONSE_HEADER_RESOURCE_VERSION, result.getResultVersion()); } - ResponseEntity response = + ResponseEntity response = ResponseEntity.status(result.getResultCode()).contentType(MediaType.APPLICATION_JSON).body(output); logResult(request, HttpStatus.valueOf(response.getStatusCodeValue())); @@ -320,14 +321,14 @@ public class DocumentApi { SearchOperationResult result = documentStore.search(index, queryText); String output = null; - if (result.getResultCode() >= 200 && result.getResultCode() <= 299) { + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getSearchResult()); } else { output = result.getError() != null ? mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getError()) : result.getFailureCause(); } - ResponseEntity response = + ResponseEntity response = ResponseEntity.status(result.getResultCode()).contentType(MediaType.APPLICATION_JSON).body(output); // Clear the MDC context so that no other transaction inadvertently @@ -349,7 +350,7 @@ public class DocumentApi { logger.info(SearchDbMsgs.PROCESS_PAYLOAD_QUERY, "GET", (request != null) ? request.getRequestURL().toString() : ""); if (logger.isDebugEnabled()) { - logger.debug("Request Body: " + content); + logger.debug(MSG_REQUEST_BODY + content); } return processQuery(index, content, request, headers, documentStore); } @@ -363,7 +364,7 @@ public class DocumentApi { logger.info(SearchDbMsgs.PROCESS_PAYLOAD_QUERY, "POST", (request != null) ? request.getRequestURL().toString() : ""); if (logger.isDebugEnabled()) { - logger.debug("Request Body: " + content); + logger.debug(MSG_REQUEST_BODY + content); } return processQuery(index, content, request, headers, documentStore); @@ -379,7 +380,7 @@ public class DocumentApi { logger.info(SearchDbMsgs.PROCESS_PAYLOAD_QUERY, "POST", (request != null) ? request.getRequestURL().toString() : ""); if (logger.isDebugEnabled()) { - logger.debug("Request Body: " + content); + logger.debug(MSG_REQUEST_BODY + content); } return processSuggestQuery(index, content, request, headers, documentStore); @@ -395,8 +396,8 @@ public class DocumentApi { * @param headers - The HTTP headers. * @return - A standard HTTP response. */ - private ResponseEntity processQuery(String index, String content, HttpServletRequest request, HttpHeaders headers, - DocumentStoreInterface documentStore) { + private ResponseEntity processQuery(String index, String content, HttpServletRequest request, + HttpHeaders headers, DocumentStoreInterface documentStore) { try { ObjectMapper mapper = new ObjectMapper(); @@ -437,14 +438,14 @@ public class DocumentApi { // ElasticSearch syntax, to the document store DAO. SearchOperationResult result = documentStore.searchWithPayload(index, searchStatement.toElasticSearch()); String output = null; - if (result.getResultCode() >= 200 && result.getResultCode() <= 299) { + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = prepareOutput(mapper, result); } else { output = result.getError() != null ? mapper.writerWithDefaultPrettyPrinter().writeValueAsString(result.getError()) : result.getFailureCause(); } - ResponseEntity response = + ResponseEntity response = ResponseEntity.status(result.getResultCode()).contentType(MediaType.APPLICATION_JSON).body(output); // Clear the MDC context so that no other transaction inadvertently @@ -512,7 +513,7 @@ public class DocumentApi { SearchOperationResult result = documentStore.suggestionQueryWithPayload(index, suggestionStatement.toElasticSearch()); String output = null; - if (result.getResultCode() >= 200 && result.getResultCode() <= 299) { + if (ApiUtils.isSuccessStatusCode(result.getResultCode())) { output = prepareSuggestOutput(mapper, result); } else { output = result.getError() != null @@ -541,15 +542,8 @@ public class DocumentApi { * @return - true if the headers indicate that missing indices should be implicitly created, false otherwise. */ private boolean implicitlyCreateIndex(HttpHeaders headers) { - - boolean createIndexIfNotPresent = false; String implicitIndexCreationHeader = headers.getFirst(REQUEST_HEADER_ALLOW_IMPLICIT_INDEX_CREATION); - - if ((implicitIndexCreationHeader != null) && (implicitIndexCreationHeader.equals("true"))) { - createIndexIfNotPresent = true; - } - - return createIndexIfNotPresent; + return implicitIndexCreationHeader != null && "true".equals(implicitIndexCreationHeader); } private String prepareOutput(ObjectMapper mapper, SearchOperationResult result) throws JsonProcessingException { @@ -581,26 +575,25 @@ public class DocumentApi { return output.toString(); } - private ResponseEntity handleError(HttpServletRequest request, String message, HttpStatus status) { + private ResponseEntity handleError(HttpServletRequest request, String message, HttpStatus status) { logResult(request, status); return ResponseEntity.status(status).contentType(MediaType.APPLICATION_JSON).body(message); } void logResult(HttpServletRequest request, HttpStatus status) { - logger.info(SearchDbMsgs.PROCESS_REST_REQUEST, (request != null) ? request.getMethod().toString() : "", + logger.info(SearchDbMsgs.PROCESS_REST_REQUEST, (request != null) ? request.getMethod() : "", (request != null) ? request.getRequestURL().toString() : "", (request != null) ? request.getRemoteHost() : "", Integer.toString(status.value())); auditLogger.info(SearchDbMsgs.PROCESS_REST_REQUEST, new LogFields().setField(LogLine.DefinedFields.RESPONSE_CODE, status.value()) .setField(LogLine.DefinedFields.RESPONSE_DESCRIPTION, status.getReasonPhrase()), - (request != null) ? request.getMethod().toString() : "", + (request != null) ? request.getMethod() : "", (request != null) ? request.getRequestURL().toString() : "", (request != null) ? request.getRemoteHost() : "", Integer.toString(status.value())); - // Clear the MDC context so that no other transaction inadvertently - // uses our transaction id. + // Clear the MDC context so that no other transaction inadvertently uses our transaction id. ApiUtils.clearMdcContext(); } }