X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fsa%2Frest%2FAnalyzerApi.java;h=664124daecfb3fb48ebb413558aaf9452831421d;hb=f637a36c9df966c341727910e30241b63cc49c06;hp=de7ba59e7d0436c325db69c523b3afb2ef6479fb;hpb=ce701746049abfd94a87b46e43f296faf32d6213;p=aai%2Fsearch-data-service.git diff --git a/src/main/java/org/onap/aai/sa/rest/AnalyzerApi.java b/src/main/java/org/onap/aai/sa/rest/AnalyzerApi.java index de7ba59..664124d 100644 --- a/src/main/java/org/onap/aai/sa/rest/AnalyzerApi.java +++ b/src/main/java/org/onap/aai/sa/rest/AnalyzerApi.java @@ -1,4 +1,4 @@ -/** +/** * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ @@ -20,52 +20,48 @@ */ package org.onap.aai.sa.rest; -import org.onap.aai.sa.searchdbabstraction.elasticsearch.dao.ElasticSearchHttpController; -import org.onap.aai.sa.searchdbabstraction.logging.SearchDbMsgs; +import java.util.concurrent.atomic.AtomicBoolean; +import javax.servlet.http.HttpServletRequest; import org.onap.aai.cl.api.LogFields; import org.onap.aai.cl.api.LogLine; import org.onap.aai.cl.api.Logger; import org.onap.aai.cl.eelf.LoggerFactory; -import org.onap.aai.sa.rest.AnalyzerSchema; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.Context; - -import org.springframework.beans.factory.annotation.Autowired; +import org.onap.aai.sa.searchdbabstraction.elasticsearch.dao.ElasticSearchHttpController; +import org.onap.aai.sa.searchdbabstraction.logging.SearchDbMsgs; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.http.HttpStatus; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -//@Path("/analyzers") +@Component +@EnableWebSecurity @RestController -@RequestMapping("/services/search-db-service/v1/analyzers") +@RequestMapping("/services/search-data-service/v1/analyzers/search") public class AnalyzerApi { private SearchServiceApi searchService = null; // Set up the loggers. private static Logger logger = LoggerFactory.getInstance().getLogger(IndexApi.class.getName()); - private static Logger auditLogger = LoggerFactory.getInstance() - .getAuditLogger(IndexApi.class.getName()); + private static Logger auditLogger = LoggerFactory.getInstance().getAuditLogger(IndexApi.class.getName()); public AnalyzerApi( @Qualifier("searchServiceApi") SearchServiceApi searchService) { this.searchService = searchService; } - @GET - public ResponseEntity processGet(@Context HttpServletRequest request, - @Context HttpHeaders headers, - ApiUtils apiUtils) { + @RequestMapping(method = RequestMethod.GET, consumes = {"application/json"}, produces = {"application/json"}) + public ResponseEntity processGet(HttpServletRequest request, @RequestHeader HttpHeaders headers, + ApiUtils apiUtils) { HttpStatus responseCode = HttpStatus.INTERNAL_SERVER_ERROR; - String responseString = "Undefined error"; + String responseString; // Initialize the MDC Context for logging purposes. ApiUtils.initMdcContext(request, headers); @@ -74,40 +70,39 @@ public class AnalyzerApi { // any further. try { - if (!searchService.validateRequest(headers, request, - ApiUtils.Action.GET, ApiUtils.SEARCH_AUTH_POLICY_NAME)) { + if (!searchService.validateRequest(headers, request, ApiUtils.Action.GET, + ApiUtils.SEARCH_AUTH_POLICY_NAME)) { logger.warn(SearchDbMsgs.GET_ANALYZERS_FAILURE, "Authentication failure."); - return ResponseEntity.status(HttpStatus.FORBIDDEN).contentType ( MediaType.APPLICATION_JSON ).body("Authentication failure."); + return ResponseEntity.status(HttpStatus.FORBIDDEN).contentType(MediaType.APPLICATION_JSON) + .body("Authentication failure."); } } catch (Exception e) { logger.warn(SearchDbMsgs.GET_ANALYZERS_FAILURE, "Unexpected authentication failure - cause: " + e.getMessage()); - return ResponseEntity.status(HttpStatus.FORBIDDEN).contentType ( MediaType.APPLICATION_JSON ).body("Authentication failure."); + return ResponseEntity.status(HttpStatus.FORBIDDEN).contentType(MediaType.APPLICATION_JSON) + .body("Authentication failure."); } // Now, build the list of analyzers. try { - responseString = buildAnalyzerList(ElasticSearchHttpController.getInstance() - .getAnalysisConfig()); + responseString = buildAnalyzerList(ElasticSearchHttpController.getInstance().getAnalysisConfig()); responseCode = HttpStatus.OK; - } catch (Exception e) { - logger.warn(SearchDbMsgs.GET_ANALYZERS_FAILURE, "Unexpected failure retrieving analysis configuration - cause: " + e.getMessage()); responseString = "Failed to retrieve analysis configuration. Cause: " + e.getMessage(); } // Build the HTTP response. - ResponseEntity response = ResponseEntity.status(responseCode).contentType ( MediaType.APPLICATION_JSON ).body(responseString); + ResponseEntity response = + ResponseEntity.status(responseCode).contentType(MediaType.APPLICATION_JSON).body(responseString); // Generate our audit log. auditLogger.info(SearchDbMsgs.PROCESS_REST_REQUEST, - new LogFields() - .setField(LogLine.DefinedFields.RESPONSE_CODE, responseCode.value ()) + new LogFields().setField(LogLine.DefinedFields.RESPONSE_CODE, responseCode.value()) .setField(LogLine.DefinedFields.RESPONSE_DESCRIPTION, responseCode.value()), (request != null) ? request.getMethod() : "Unknown", (request != null) ? request.getRequestURL ().toString () : "Unknown", @@ -121,16 +116,13 @@ public class AnalyzerApi { return response; } - /** - * This method takes a list of analyzer objects and generates a simple json - * structure to enumerate them. + * This method takes a list of analyzer objects and generates a simple json structure to enumerate them. * - *

Note, this includes only the aspects of the analyzer object that we want - * to make public to an external client. + *

+ * Note, this includes only the aspects of the analyzer object that we want to make public to an external client. * - * @param analysisConfig - The analysis configuration object to extract the - * analyzers from. + * @param analysisConfig - The analysis configuration object to extract the analyzers from. * @return - A json string enumerating the defined analyzers. */ private String buildAnalyzerList(AnalysisConfiguration analysisConfig) {