summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/dcae/restapi/VesRestController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/dcae/restapi/VesRestController.java')
-rw-r--r--src/main/java/org/onap/dcae/restapi/VesRestController.java40
1 files changed, 28 insertions, 12 deletions
diff --git a/src/main/java/org/onap/dcae/restapi/VesRestController.java b/src/main/java/org/onap/dcae/restapi/VesRestController.java
index b18eb7bc..b07b58df 100644
--- a/src/main/java/org/onap/dcae/restapi/VesRestController.java
+++ b/src/main/java/org/onap/dcae/restapi/VesRestController.java
@@ -36,6 +36,8 @@ import org.onap.dcae.ApplicationSettings;
import org.onap.dcae.common.EventSender;
import org.onap.dcae.common.VESLogger;
import org.onap.dcae.common.EventUpdater;
+import org.onap.dcae.common.HeaderUtils;
+import org.onap.dcaegen2.services.sdk.standardization.header.CustomHeaderUtils;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -55,14 +57,16 @@ public class VesRestController {
private final ApplicationSettings settings;
private final Logger requestLogger;
private EventSender eventSender;
+ private final HeaderUtils headerUtils;
@Autowired
VesRestController(ApplicationSettings settings,
- @Qualifier("incomingRequestsLogger") Logger incomingRequestsLogger,
- @Qualifier("eventSender") EventSender eventSender) {
+ @Qualifier("incomingRequestsLogger") Logger incomingRequestsLogger,
+ @Qualifier("eventSender") EventSender eventSender, HeaderUtils headerUtils) {
this.settings = settings;
this.requestLogger = incomingRequestsLogger;
this.eventSender = eventSender;
+ this.headerUtils = headerUtils;
}
@PostMapping(value = {"/eventListener/{version}"}, consumes = "application/json")
@@ -83,19 +87,31 @@ public class VesRestController {
}
private ResponseEntity<String> process(String events, String version, HttpServletRequest request, String type) {
+ CustomHeaderUtils headerUtils = createHeaderUtils(version, request);
+ if(headerUtils.isOkCustomHeaders()){
+ JSONObject jsonObject = new JSONObject(events);
- JSONObject jsonObject = new JSONObject(events);
+ EventValidator eventValidator = new EventValidator(settings);
+ Optional<ResponseEntity<String>> validationResult = eventValidator.validate(jsonObject, type, version);
- EventValidator eventValidator = new EventValidator(settings);
- Optional<ResponseEntity<String>> validationResult = eventValidator.validate(jsonObject, type, version);
-
- if (validationResult.isPresent()){
- return validationResult.get();
+ if (validationResult.isPresent()){
+ return validationResult.get();
+ }
+ JSONArray arrayOfEvents = new EventUpdater(settings).convert(jsonObject,version, generateUUID(version, request.getRequestURI(), jsonObject), type);
+ eventSender.send(arrayOfEvents);
+ // TODO call service and return status, replace CambriaClient, split event to single object and list of them
+ return accepted().headers(this.headerUtils.fillHeaders(headerUtils.getRspCustomHeader()))
+ .contentType(MediaType.APPLICATION_JSON).body("Accepted");
}
- JSONArray arrayOfEvents = new EventUpdater(settings).convert(jsonObject,version, generateUUID(version, request.getRequestURI(), jsonObject), type);
- eventSender.send(arrayOfEvents);
- // TODO call service and return status, replace CambriaClient, split event to single object and list of them
- return accepted().contentType(MediaType.APPLICATION_JSON).body("Accepted");
+ return badRequest().body(String.format(ApiException.INVALID_CUSTOM_HEADER.toString()));
+ }
+
+ private CustomHeaderUtils createHeaderUtils(String version, HttpServletRequest request){
+ return new CustomHeaderUtils(version.toLowerCase().replace("v", ""),
+ headerUtils.extractHeaders(request),
+ headerUtils.getApiVerFilePath("api_version_config.json"),
+ headerUtils.getRestApiIdentify(request.getRequestURI()));
+
}
private UUID generateUUID(String version, String uri, JSONObject jsonObject) {