-/**
+/**
* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-
/**
* This class encapsulates the REST end points associated with manipulating indexes in the document store.
*/
public class IndexApi {
+ private static final String UNKNOWN_LOG_FIELD_STR = "Unknown";
+ private static final String MSG_UNEXPECTED_AUTHENTICATION_FAILURE_CAUSE =
+ "Unexpected authentication failure - cause: ";
+ private static final String MSG_AUTHENTICATION_FAILURE = "Authentication failure.";
private static final String HEADER_VALIDATION_SUCCESS = "SUCCESS";
protected SearchServiceApi searchService = null;
HttpHeaders headers, String index, DocumentStoreInterface documentStore) {
int resultCode = 500;
- String resultString = "Unexpected error";
// Initialize the MDC Context for logging purposes.
ApiUtils.initMdcContext(request, headers);
- // Validate that the request is correctly authenticated before going
- // any further.
+ // Validate that the request is correctly authenticated before going any further.
try {
-
if (!searchService.validateRequest(headers, request, ApiUtils.Action.POST,
ApiUtils.SEARCH_AUTH_POLICY_NAME)) {
- logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index, "Authentication failure.");
- return errorResponse(HttpStatus.FORBIDDEN, "Authentication failure.", request);
+ logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index, MSG_AUTHENTICATION_FAILURE);
+ return errorResponse(HttpStatus.FORBIDDEN, MSG_AUTHENTICATION_FAILURE, request);
}
} catch (Exception e) {
-
logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index,
- "Unexpected authentication failure - cause: " + e.getMessage());
- return errorResponse(HttpStatus.FORBIDDEN, "Authentication failure.", request);
+ MSG_UNEXPECTED_AUTHENTICATION_FAILURE_CAUSE + e.getMessage());
+ return errorResponse(HttpStatus.FORBIDDEN, MSG_AUTHENTICATION_FAILURE, request);
}
return errorResponse(HttpStatus.valueOf(resultCode), "Missing payload", request);
}
- try {
+ String resultString;
+ try {
// Marshal the supplied json string into a document schema object.
ObjectMapper mapper = new ObjectMapper();
DocumentSchema schema = mapper.readValue(documentSchema, DocumentSchema.class);
ResponseEntity<String> response =
ResponseEntity.status(resultCode).contentType(MediaType.APPLICATION_JSON).body(resultString);
-
- // Log the result.
- if ((response.getStatusCodeValue() >= 200) && (response.getStatusCodeValue() < 300)) {
+ if (ApiUtils.isSuccessStatusCode(response.getStatusCodeValue())) {
logger.info(SearchDbMsgs.CREATED_INDEX, index);
} else {
logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index, resultString);
auditLogger.info(SearchDbMsgs.PROCESS_REST_REQUEST,
new LogFields().setField(LogLine.DefinedFields.RESPONSE_CODE, resultCode).setField(
LogLine.DefinedFields.RESPONSE_DESCRIPTION, HttpStatus.valueOf(resultCode).toString()),
- (request != null) ? request.getMethod().toString() : "Unknown",
- (request != null) ? request.getRequestURL().toString() : "Unknown",
- (request != null) ? request.getRemoteHost() : "Unknown",
+ (request != null) ? request.getMethod() : UNKNOWN_LOG_FIELD_STR,
+ (request != null) ? request.getRequestURL().toString() : UNKNOWN_LOG_FIELD_STR,
+ (request != null) ? request.getRemoteHost() : UNKNOWN_LOG_FIELD_STR,
Integer.toString(response.getStatusCodeValue()));
// Initialize the MDC Context for logging purposes.
ApiUtils.initMdcContext(request, headers);
- // Set a default response in case something unexpected goes wrong.
- ResponseEntity<String> response = ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Unknown");
+ ResponseEntity<String> response;
// Validate that the request is correctly authenticated before going
// any further.
try {
-
if (!searchService.validateRequest(headers, request, ApiUtils.Action.POST,
ApiUtils.SEARCH_AUTH_POLICY_NAME)) {
- logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index, "Authentication failure.");
- return errorResponse(HttpStatus.FORBIDDEN, "Authentication failure.", request);
+ logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index, MSG_AUTHENTICATION_FAILURE);
+ return errorResponse(HttpStatus.FORBIDDEN, MSG_AUTHENTICATION_FAILURE, request);
}
} catch (Exception e) {
-
logger.warn(SearchDbMsgs.INDEX_CREATE_FAILURE, index,
- "Unexpected authentication failure - cause: " + e.getMessage());
- return errorResponse(HttpStatus.FORBIDDEN, "Authentication failure.", request);
+ MSG_UNEXPECTED_AUTHENTICATION_FAILURE_CAUSE + e.getMessage());
+ return errorResponse(HttpStatus.FORBIDDEN, MSG_AUTHENTICATION_FAILURE, request);
}
-
try {
// Send the request to the document store.
response = responseFromOperationResult(documentStore.deleteIndex(index));
-
} catch (DocumentStoreOperationException e) {
response = ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).contentType(MediaType.APPLICATION_JSON)
.body(e.getMessage());
}
- // Log the result.
- if ((response.getStatusCodeValue() >= 200) && (response.getStatusCodeValue() < 300)) {
+ if (ApiUtils.isSuccessStatusCode(response.getStatusCodeValue())) {
logger.info(SearchDbMsgs.DELETED_INDEX, index);
} else {
logger.warn(SearchDbMsgs.INDEX_DELETE_FAILURE, index, response.getBody());
}
- // Generate our audit log.
auditLogger.info(SearchDbMsgs.PROCESS_REST_REQUEST,
new LogFields().setField(LogLine.DefinedFields.RESPONSE_CODE, response.getStatusCodeValue()).setField(
LogLine.DefinedFields.RESPONSE_DESCRIPTION, response.getStatusCode().getReasonPhrase()),
- (request != null) ? request.getMethod().toString() : "Unknown",
- (request != null) ? request.getRequestURL().toString() : "Unknown",
- (request != null) ? request.getRemoteHost() : "Unknown",
+ (request != null) ? request.getMethod() : UNKNOWN_LOG_FIELD_STR,
+ (request != null) ? request.getRequestURL().toString() : UNKNOWN_LOG_FIELD_STR,
+ (request != null) ? request.getRemoteHost() : UNKNOWN_LOG_FIELD_STR,
Integer.toString(response.getStatusCodeValue()));
- // 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();
return response;
* @throws com.fasterxml.jackson.databind.JsonMappingException
* @throws IOException
*/
- public String generateDocumentMappings(String documentSchema) throws com.fasterxml.jackson.core.JsonParseException,
- com.fasterxml.jackson.databind.JsonMappingException, IOException {
+ public String generateDocumentMappings(String documentSchema) throws IOException {
// Unmarshal the json content into a document schema object.
ObjectMapper mapper = new ObjectMapper();
*/
public ResponseEntity<String> responseFromOperationResult(OperationResult result) {
- if ((result.getResultCode() >= 200) && (result.getResultCode() < 300)) {
+ if (ApiUtils.isSuccessStatusCode(result.getResultCode())) {
return ResponseEntity.status(result.getResultCode()).contentType(MediaType.APPLICATION_JSON)
.body(result.getResult());
} else {
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() : "Unknown",
- (request != null) ? request.getRequestURL().toString() : "Unknown",
- (request != null) ? request.getRemoteHost() : "Unknown", Integer.toString(status.value()));
+ (request != null) ? request.getMethod() : UNKNOWN_LOG_FIELD_STR,
+ (request != null) ? request.getRequestURL().toString() : UNKNOWN_LOG_FIELD_STR,
+ (request != null) ? request.getRemoteHost() : UNKNOWN_LOG_FIELD_STR, Integer.toString(status.value()));
// Clear the MDC context so that no other transaction inadvertently
// uses our transaction id.
try {
if (!searchService.validateRequest(headers, request, ApiUtils.Action.POST,
ApiUtils.SEARCH_AUTH_POLICY_NAME)) {
- logger.warn(failureMsgEnum, index, "Authentication failure.");
- return errorResponse(HttpStatus.FORBIDDEN, "Authentication failure.", request);
+ logger.warn(failureMsgEnum, index, MSG_AUTHENTICATION_FAILURE);
+ return errorResponse(HttpStatus.FORBIDDEN, MSG_AUTHENTICATION_FAILURE, request);
}
} catch (Exception e) {
- logger.warn(failureMsgEnum, index, "Unexpected authentication failure - cause: " + e.getMessage());
- return errorResponse(HttpStatus.FORBIDDEN, "Authentication failure.", request);
+ logger.warn(failureMsgEnum, index, MSG_UNEXPECTED_AUTHENTICATION_FAILURE_CAUSE + e.getMessage());
+ return errorResponse(HttpStatus.FORBIDDEN, MSG_AUTHENTICATION_FAILURE, request);
}
return ResponseEntity.status(HttpStatus.OK).body(HEADER_VALIDATION_SUCCESS);
}