aboutsummaryrefslogtreecommitdiffstats
path: root/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/controller/PolicyEngineServices.java
diff options
context:
space:
mode:
Diffstat (limited to 'ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/controller/PolicyEngineServices.java')
-rw-r--r--ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/controller/PolicyEngineServices.java658
1 files changed, 0 insertions, 658 deletions
diff --git a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/controller/PolicyEngineServices.java b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/controller/PolicyEngineServices.java
deleted file mode 100644
index 48539ad83..000000000
--- a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/controller/PolicyEngineServices.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP-PDP-REST
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.openecomp.policy.pdp.rest.api.controller;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.concurrent.atomic.AtomicLong;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.policy.api.ConfigRequestParameters;
-import org.openecomp.policy.api.DecisionRequestParameters;
-import org.openecomp.policy.api.DecisionResponse;
-import org.openecomp.policy.api.DeletePolicyParameters;
-import org.openecomp.policy.api.DictionaryParameters;
-import org.openecomp.policy.api.DictionaryResponse;
-import org.openecomp.policy.api.EventRequestParameters;
-import org.openecomp.policy.api.MetricsResponse;
-import org.openecomp.policy.api.PolicyParameters;
-import org.openecomp.policy.api.PolicyResponse;
-import org.openecomp.policy.api.PushPolicyParameters;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-import org.openecomp.policy.pdp.rest.XACMLPdpServlet;
-import org.openecomp.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
-import org.openecomp.policy.pdp.rest.api.models.ConfigNameRequest;
-import org.openecomp.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
-import org.openecomp.policy.pdp.rest.api.models.PolicyConfig;
-import org.openecomp.policy.pdp.rest.api.services.CreateUpdateConfigPolicyService;
-import org.openecomp.policy.pdp.rest.api.services.CreateUpdateDictionaryService;
-import org.openecomp.policy.pdp.rest.api.services.CreateUpdateFirewallPolicyService;
-import org.openecomp.policy.pdp.rest.api.services.CreateUpdatePolicyService;
-import org.openecomp.policy.pdp.rest.api.services.DeletePolicyService;
-import org.openecomp.policy.pdp.rest.api.services.GetConfigService;
-import org.openecomp.policy.pdp.rest.api.services.GetDecisionService;
-import org.openecomp.policy.pdp.rest.api.services.GetDictionaryService;
-import org.openecomp.policy.pdp.rest.api.services.GetMetricsService;
-import org.openecomp.policy.pdp.rest.api.services.ListConfigService;
-import org.openecomp.policy.pdp.rest.api.services.NotificationService;
-import org.openecomp.policy.pdp.rest.api.services.NotificationService.NotificationServiceType;
-import org.openecomp.policy.pdp.rest.api.services.PolicyEngineImportService;
-import org.openecomp.policy.pdp.rest.api.services.PushPolicyService;
-import org.openecomp.policy.pdp.rest.api.services.SendEventService;
-import org.openecomp.policy.pdp.rest.config.PDPApiAuth;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.converter.HttpMessageNotReadableException;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.RequestBody;
-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.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import springfox.documentation.annotations.ApiIgnore;
-
-@RestController
-@Api(value = "Policy Engine Services")
-@RequestMapping("/")
-public class PolicyEngineServices {
- private static Logger logger = FlexLogger.getLogger(PolicyEngineServices.class.getName());
- private static final String NOTIFICATIONPERM = "notification";
-
- private final AtomicLong configCounter = new AtomicLong();
- private final AtomicLong configNameCounter = new AtomicLong();
- private final AtomicLong eventCounter = new AtomicLong();
- private final AtomicLong decisionCounter = new AtomicLong();
- private final AtomicLong pushCounter = new AtomicLong();
- private final AtomicLong deleteCounter = new AtomicLong();
- private final AtomicLong createPolicyCounter = new AtomicLong();
- private final AtomicLong updatePolicyCounter = new AtomicLong();
- private final AtomicLong createDictionaryCounter = new AtomicLong();
- private final AtomicLong updateDictionaryCounter = new AtomicLong();
- private final AtomicLong getDictionaryCounter = new AtomicLong();
- private final AtomicLong policyEngineImportCounter = new AtomicLong();
- private final AtomicLong deprecatedCounter = new AtomicLong();
- private final AtomicLong metricCounter = new AtomicLong();
- private final AtomicLong notificationCounter = new AtomicLong();
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the configuration from the PolicyDecisionPoint(PDP)")
- @RequestMapping(value = "/getConfig", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<Collection<PolicyConfig>> getConfig(
- @RequestBody ConfigRequestParameters configRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<PolicyConfig> policyConfig = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getConfig")) {
- GetConfigService getConfigService = new GetConfigService(
- configRequestParameters, requestID);
- policyConfig = getConfigService.getResult();
- status = getConfigService.getResponseCode();
- }
- configCounter.incrementAndGet();
- return new ResponseEntity<>(policyConfig, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the configuration from the PolicyDecisionPoint(PDP) using PolicyName")
- @RequestMapping(value = "/getConfigByPolicyName", method = RequestMethod.POST)
- @ResponseBody
- @Deprecated
- public ResponseEntity<Collection<PolicyConfig>> getConfigByPolicyName(
- @RequestBody ConfigNameRequest configNameRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<PolicyConfig> policyConfig = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,"getConfigByPolicyName")) {
- ConfigRequestParameters configRequestParameters = new ConfigRequestParameters();
- configRequestParameters.setPolicyName(configNameRequest
- .getPolicyName());
- GetConfigService getConfigService = new GetConfigService(
- configRequestParameters, requestID);
- policyConfig = getConfigService.getResult();
- status = getConfigService.getResponseCode();
- }
- configNameCounter.incrementAndGet();
- return new ResponseEntity<>(policyConfig, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the list of configuration policies from the PDP")
- @RequestMapping(value = "/listConfig", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<Collection<String>> listConfig(
- @RequestBody ConfigRequestParameters configRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<String> results = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth
- .checkPermissions(clientEncoding, requestID, "listConfig")) {
- ListConfigService listConfigService = new ListConfigService(
- configRequestParameters, requestID);
- results = listConfigService.getResult();
- status = listConfigService.getResponseCode();
- }
- configCounter.incrementAndGet();
- return new ResponseEntity<>(results, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name ="Environment", required = true, paramType = "Header")
- })
- @ApiOperation(value= "Gets the policy metrics from the PolicyAccessPoint(PAP)")
- @RequestMapping(value="/getMetrics", method=RequestMethod.GET)
- @ResponseBody
- public ResponseEntity<MetricsResponse> getMetrics(
- @RequestHeader(value="ClientAuth", required=true)String clientEncoding,
- @RequestHeader(value="X-ECOMP-RequestID", required=false)String requestID) {
- MetricsResponse response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if(PDPApiAuth.checkPermissions(clientEncoding, requestID, "getMetrics")){
- GetMetricsService getMetricsService = new GetMetricsService(requestID);
- response = getMetricsService.getResult();
- status = getMetricsService.getResponseCode();
- }
- metricCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Registers DMaaP Topic to recieve notification from Policy Engine")
- @RequestMapping(value = "/getNotification", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> getNotification(
- @RequestBody String notificationTopic,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String policyResponse = "Error Unauthorized to use Notification Service.";
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
- NotificationService notificationService = new NotificationService(notificationTopic, requestID, NotificationServiceType.ADD);
- policyResponse = notificationService.getResult();
- status = notificationService.getResponseCode();
- }
- notificationCounter.incrementAndGet();
- return new ResponseEntity<>(policyResponse, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "De-Registers DMaaP Topic to stop recieving notifications from Policy Engine")
- @RequestMapping(value = "/stopNotification", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> stopNotification(
- @RequestBody String notificationTopic,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String policyResponse = "Error Unauthorized to use Notification Service.";
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
- NotificationService notificationService = new NotificationService(notificationTopic, requestID, NotificationServiceType.REMOVE);
- policyResponse = notificationService.getResult();
- status = notificationService.getResponseCode();
- }
- notificationCounter.incrementAndGet();
- return new ResponseEntity<>(policyResponse, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Sends Heartbeat to DMaaP Topic Registry to continue recieving notifications from Policy Engine")
- @RequestMapping(value = "/sendHeartbeat", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> sendHeartbeat(
- @RequestBody String notificationTopic,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String policyResponse = "Error Unauthorized to use Heartbeat Service.";
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
- NotificationService notificationService = new NotificationService(notificationTopic, requestID, NotificationServiceType.HB);
- policyResponse = notificationService.getResult();
- status = notificationService.getResponseCode();
- }
- return new ResponseEntity<>(policyResponse, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Sends the Events specified to the Policy Engine")
- @RequestMapping(value = "/sendEvent", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<Collection<PolicyResponse>> sendEvent(
- @RequestBody EventRequestParameters eventRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<PolicyResponse> policyResponse = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "sendEvent")) {
- SendEventService sendEventService = new SendEventService(
- eventRequestParameters, requestID);
- policyResponse = sendEventService.getResult();
- status = sendEventService.getResponseCode();
- }
- eventCounter.incrementAndGet();
- return new ResponseEntity<>(policyResponse,
- status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the Decision using specified decision parameters")
- @RequestMapping(value = "/getDecision", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<DecisionResponse> getDecision(
- @RequestBody DecisionRequestParameters decisionRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- DecisionResponse decisionResponse = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "getDecision")) {
- GetDecisionService getDecisionService = new GetDecisionService(
- decisionRequestParameters, requestID);
- decisionResponse = getDecisionService.getResult();
- status = getDecisionService.getResponseCode();
- }
- decisionCounter.incrementAndGet();
- return new ResponseEntity<>(decisionResponse, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Pushes the specified policy to the PDP Group.")
- @RequestMapping(value = "/pushPolicy", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> pushPolicy(
- @RequestBody PushPolicyParameters pushPolicyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth
- .checkPermissions(clientEncoding, requestID, "pushPolicy")) {
- PushPolicyService pushPolicyService = new PushPolicyService(
- pushPolicyParameters, requestID);
- response = pushPolicyService.getResult();
- status = pushPolicyService.getResponseCode();
- }
- pushCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Deletes the specified policy from the PDP Group or PAP.")
- @RequestMapping(value = "/deletePolicy", method = RequestMethod.DELETE)
- @ResponseBody
- public ResponseEntity<String> deletePolicy(
- @RequestBody DeletePolicyParameters deletePolicyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "deletePolicy")) {
- DeletePolicyService deletePolicyService = new DeletePolicyService(
- deletePolicyParameters, requestID);
- response = deletePolicyService.getResult();
- status = deletePolicyService.getResponseCode();
- }
- deleteCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Creates a Policy based on given Policy Parameters.")
- @RequestMapping(value = "/createPolicy", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> createPolicy(
- @RequestBody PolicyParameters policyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createPolicy")) {
- CreateUpdatePolicyService createPolicyService;
- try {
- createPolicyService = (CreateUpdatePolicyService) XACMLPdpServlet.getCreateUpdatePolicyConstructor().newInstance(
- policyParameters, requestID, false);
- response = createPolicyService.getResult();
- status = createPolicyService.getResponseCode();
- } catch (InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- logger.error(e.getMessage(), e);
- response = "Problem with CreateUpdate Policy Service. ";
- status = HttpStatus.INTERNAL_SERVER_ERROR;
- }
- }
- createPolicyCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Updates a Policy based on given Policy Parameters.")
- @RequestMapping(value = "/updatePolicy", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> updatePolicy(
- @RequestBody PolicyParameters policyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updatePolicy")) {
- CreateUpdatePolicyService updatePolicyService;
- try {
- updatePolicyService = (CreateUpdatePolicyService) XACMLPdpServlet.getCreateUpdatePolicyConstructor().newInstance(
- policyParameters, requestID, true);
- response = updatePolicyService.getResult();
- status = updatePolicyService.getResponseCode();
- } catch (InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- logger.error(e.getMessage(), e);
- response = "Problem with CreateUpdate Policy Service. ";
- status = HttpStatus.INTERNAL_SERVER_ERROR;
- }
- }
- updatePolicyCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Creates a Dictionary Item for a specific dictionary based on given Parameters.")
- @RequestMapping(value = "/createDictionaryItem", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> createDictionaryItem(
- @RequestBody DictionaryParameters dictionaryParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createDictionary")) {
- CreateUpdateDictionaryService createDictionaryService = new CreateUpdateDictionaryService(
- dictionaryParameters, requestID, false);
- response = createDictionaryService.getResult();
- status = createDictionaryService.getResponseCode();
- }
- createDictionaryCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Updates a Dictionary Item for a specific dictionary based on given Parameters.")
- @RequestMapping(value = "/updateDictionaryItem", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> updateDictionaryItem(
- @RequestBody DictionaryParameters dictionaryParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updateDictionary")) {
- CreateUpdateDictionaryService updateDictionaryService = new CreateUpdateDictionaryService(
- dictionaryParameters, requestID, true);
- response = updateDictionaryService.getResult();
- status = updateDictionaryService.getResponseCode();
- }
- updateDictionaryCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the dictionary items from the PAP")
- @RequestMapping(value = "/getDictionaryItems", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<DictionaryResponse> getDictionaryItems(
- @RequestBody DictionaryParameters dictionaryParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- DictionaryResponse dictionaryResponse = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "getDictionary")) {
- GetDictionaryService getDictionaryService = new GetDictionaryService(
- dictionaryParameters, requestID);
- dictionaryResponse = getDictionaryService.getResult();
- status = getDictionaryService.getResponseCode();
- }
- getDictionaryCounter.incrementAndGet();
- return new ResponseEntity<>(dictionaryResponse,
- status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Imports Policy based on the parameters which represent the service used to create a policy Service.")
- @RequestMapping(value = "/policyEngineImport", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> policyEngineImport(
- @RequestParam("importParametersJson") String importParametersJson,
- @RequestParam("file") MultipartFile file,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "policyEngineImport")) {
- PolicyEngineImportService policyEngineImportService = new PolicyEngineImportService(
- importParametersJson, file, requestID);
- response = policyEngineImportService.getResult();
- status = policyEngineImportService.getResponseCode();
- }
- policyEngineImportCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Creates a Config Policy based on given Policy Parameters.")
- @RequestMapping(value = "/createConfig", method = RequestMethod.PUT)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> createConfig(
- @RequestBody ConfigPolicyAPIRequest configPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createPolicy")) {
- CreateUpdateConfigPolicyService createPolicyService = new CreateUpdateConfigPolicyService(
- configPolicyAPIRequest, requestID, false);
- response = createPolicyService.getResult();
- status = createPolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Updates a Config Policy based on given Policy Parameters.")
- @RequestMapping(value = "/updateConfig", method = RequestMethod.PUT)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> updateConfig(
- @RequestBody ConfigPolicyAPIRequest configPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updatePolicy")) {
- CreateUpdateConfigPolicyService updatePolicyService = new CreateUpdateConfigPolicyService(
- configPolicyAPIRequest, requestID, true);
- response = updatePolicyService.getResult();
- status = updatePolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Creates a Config Firewall Policy")
- @RequestMapping(value = "/createFirewallConfig", method = RequestMethod.PUT)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> createFirewallConfig(
- @RequestBody ConfigFirewallPolicyAPIRequest configFirewallPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createPolicy")) {
- CreateUpdateFirewallPolicyService createFirewallPolicyService = new CreateUpdateFirewallPolicyService(
- configFirewallPolicyAPIRequest, requestID, false);
- response = createFirewallPolicyService.getResult();
- status = createFirewallPolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Updates a Config Firewall Policy")
- @RequestMapping(value = "/updateFirewallConfig", method = RequestMethod.PUT)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> updateFirewallConfig(
- @RequestBody ConfigFirewallPolicyAPIRequest configFirewallPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updatePolicy")) {
- CreateUpdateFirewallPolicyService updateFirewallPolicyService = new CreateUpdateFirewallPolicyService(
- configFirewallPolicyAPIRequest, requestID, true);
- response = updateFirewallPolicyService.getResult();
- status = updateFirewallPolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiOperation(value = "Gets the API Services usage Information")
- @ApiIgnore
- @RequestMapping(value = "/count", method = RequestMethod.GET)
- public String getCount() {
- return "Total Config Calls : " + configCounter + "\n"
- + "Total Config calls made using Policy File Name: "
- + configNameCounter + "\n" + "Total Event Calls : "
- + eventCounter + "\nTotal Decision Calls: " + decisionCounter
- + "\nTotal Push policy Calls: " + pushCounter
- + "\nTotal Delete Policy Calls: " + deleteCounter
- + "\nTotal Create Policy Calls: " + createPolicyCounter
- + "\nTotal Update Policy Calls: " + updatePolicyCounter
- + "\nTotal Create Dictionary Calls: " + createDictionaryCounter
- + "\nTotal Update Dictionary Calls: " + updateDictionaryCounter
- + "\nTotal Get Dictionary Calls: " + getDictionaryCounter
- + "\nTotal PolicyEngine Import Calls: "
- + policyEngineImportCounter
- + "\nTotal Deprecated Policy Calls: " + deprecatedCounter
- + "\nTotal Metrics Calls:" + metricCounter
- + "\nTotal Notification Calls:" + notificationCounter;
- }
-
- @ExceptionHandler({ HttpMessageNotReadableException.class })
- public ResponseEntity<String> messageNotReadableExceptionHandler(
- HttpServletRequest req, HttpMessageNotReadableException exception) {
- logger.error("Request not readable: {}", exception);
- StringBuilder message = new StringBuilder();
- message.append(exception.getMessage());
- if (exception.getCause() != null) {
- message.append(" Reason Caused: "
- + exception.getCause().getMessage());
- }
- return new ResponseEntity<>(message.toString(), HttpStatus.BAD_REQUEST);
- }
-}