diff options
author | Betzer, Rony (rb844h) <rb844h@intl.att.com> | 2018-09-25 16:03:09 +0300 |
---|---|---|
committer | Betzer, Rony (rb844h) <rb844h@intl.att.com> | 2018-09-25 16:03:09 +0300 |
commit | 083ee56fa85a9217dc8bdffe98764d33c5851016 (patch) | |
tree | 537f0de07f1487413fc882f3186ee45ec055c6a1 /dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java | |
parent | 79ca174176628a50b3178fd5dc527f15f3d63321 (diff) |
update code to latest - ammend previous commit
update code to latest - ammend previous commit
Change-Id: Ia4f55789689b5f2ddd004a4fe89a63f72cecc27f
Issue-ID: DCAEGEN2-819
Signed-off-by: Betzer, Rony (rb844h) <rb844h@intl.att.com>
Diffstat (limited to 'dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java')
-rw-r--r-- | dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java b/dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java index 1e93cf5..f929c30 100644 --- a/dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java +++ b/dcaedt_be/src/main/java/org/onap/sdc/dcae/composition/controller/RuleEditorController.java @@ -1,8 +1,13 @@ package org.onap.sdc.dcae.composition.controller; +import com.google.gson.JsonParseException; import org.onap.sdc.common.onaplog.Enums.LogLevel; import org.onap.sdc.dcae.composition.impl.RuleEditorBusinessLogic; +import org.onap.sdc.dcae.composition.restmodels.ruleeditor.MappingRulesResponse; import org.onap.sdc.dcae.composition.restmodels.ruleeditor.TranslateRequest; +import org.onap.sdc.dcae.errormng.ActionStatus; +import org.onap.sdc.dcae.errormng.ErrConfMgr; +import org.onap.sdc.dcae.rule.editor.utils.RulesPayloadUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.http.MediaType; @@ -61,6 +66,19 @@ public class RuleEditorController extends BaseController { } + @RequestMapping(value = "/applyFilter", method = {RequestMethod.POST}, produces = "application/json") + public ResponseEntity applyFilter(@RequestBody String json, @ModelAttribute("requestId") String requestId, @RequestHeader("USER_ID") String userId) { + debugLogger.log(LogLevel.DEBUG, this.getClass().getName(), "Starting applyFilter", json); + return ruleEditorBusinessLogic.applyFilter(json, requestId, userId); + } + + @RequestMapping(value = "/deleteFilter", method = {RequestMethod.POST}, produces = "application/json") + public ResponseEntity deleteFilter(@RequestBody String json, @ModelAttribute("requestId") String requestId, @RequestHeader("USER_ID") String userId) { + debugLogger.log(LogLevel.DEBUG, this.getClass().getName(), "Starting deleteFilter", json); + return ruleEditorBusinessLogic.deleteFilter(json, requestId, userId); + } + + /** * This endpoint functions as a 'fetch' service for the rule editor UI * @@ -94,17 +112,35 @@ public class RuleEditorController extends BaseController { return ruleEditorBusinessLogic.downloadRules(vfcmtUuid, dcaeCompLabel, nid, configParam, requestId); } - @RequestMapping(value = "/import/{vfcmtUuid}/{dcaeCompLabel}/{nid}/{configParam:.*}", method = {RequestMethod.POST}, produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/import/{vfcmtUuid}/{dcaeCompLabel}/{nid}/{configParam}/{supportGroups}", method = {RequestMethod.POST}, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity importRules( @RequestBody String json, @ModelAttribute("requestId") String requestId, @RequestHeader("USER_ID") String userId, @PathVariable("vfcmtUuid") String vfcmtUuid, @PathVariable("dcaeCompLabel") String dcaeCompLabel, @PathVariable("nid") String nid, - @PathVariable("configParam") String configParam) { + @PathVariable("configParam") String configParam, + @PathVariable boolean supportGroups) { debugLogger.log(LogLevel.DEBUG, this.getClass().getName(), "Starting importRules", json); - return ruleEditorBusinessLogic.importRules(json, requestId, userId, vfcmtUuid, dcaeCompLabel, nid, configParam); + MappingRulesResponse mappingRules; + try { + mappingRules = RulesPayloadUtils.parsePayloadToMappingRules(json); + if(!ruleEditorBusinessLogic.validateEditorVersion(mappingRules, supportGroups)) { + return ErrConfMgr.INSTANCE.buildErrorResponse(ActionStatus.INVALID_RULE_FORMAT, "", "The imported rules artifact version is not compatible with the current rule engine"); + } + } catch (JsonParseException je) { + errLogger.log(LogLevel.ERROR, this.getClass().getName(), "Error: Rule format is invalid: {}", je); + return ErrConfMgr.INSTANCE.buildErrorResponse(ActionStatus.INVALID_RULE_FORMAT, "", je.getMessage()); + } + return ruleEditorBusinessLogic.importRules(mappingRules, requestId, userId, vfcmtUuid, dcaeCompLabel, nid, configParam); + } + + @RequestMapping(value = "/importPhase", method = {RequestMethod.POST}, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity importPhase(@RequestBody String json, @ModelAttribute("requestId") String requestId, @RequestHeader("USER_ID") String userId) { + + debugLogger.log(LogLevel.DEBUG, this.getClass().getName(), "Starting importPhase", json); + return ruleEditorBusinessLogic.importPhase(json, requestId, userId); } /** |