2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
 
   6  * Modifications Copyright (C) 2019 Nordix Foundation.
 
   7  * ================================================================================
 
   8  * Licensed under the Apache License, Version 2.0 (the "License");
 
   9  * you may not use this file except in compliance with the License.
 
  10  * You may obtain a copy of the License at
 
  12  *      http://www.apache.org/licenses/LICENSE-2.0
 
  14  * Unless required by applicable law or agreed to in writing, software
 
  15  * distributed under the License is distributed on an "AS IS" BASIS,
 
  16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  17  * See the License for the specific language governing permissions and
 
  18  * limitations under the License.
 
  19  * ============LICENSE_END=========================================================
 
  22 package org.onap.policy.simulators;
 
  24 import java.util.Collections;
 
  27 import javax.ws.rs.Consumes;
 
  28 import javax.ws.rs.POST;
 
  29 import javax.ws.rs.Path;
 
  30 import javax.ws.rs.Produces;
 
  31 import javax.ws.rs.core.MediaType;
 
  33 import org.onap.policy.models.decisions.concepts.DecisionRequest;
 
  34 import org.onap.policy.models.decisions.concepts.DecisionResponse;
 
  36 @Path("/policy/pdpx/v1")
 
  37 public class GuardSimulatorJaxRs {
 
  38     public static final String DENY_CLNAME = "denyGuard";
 
  41      * Get a guard decision.
 
  43      * @param req the request
 
  44      * @return the response
 
  48     @Consumes(MediaType.APPLICATION_JSON)
 
  49     @Produces("application/json")
 
  50     public DecisionResponse getGuardDecision(DecisionRequest req) {
 
  51         @SuppressWarnings("unchecked")
 
  52         Map<String, String> guard = (Map<String, String>) req.getResource().get("guard");
 
  53         String clName = guard.get("clname");
 
  54         DecisionResponse response = new DecisionResponse();
 
  55         if (DENY_CLNAME.equals(clName)) {
 
  56             response.setStatus("Deny");
 
  57             response.setAdvice(Collections.emptyMap());
 
  58             response.setObligations(Collections.emptyMap());
 
  59             response.setPolicies(Collections.emptyMap());
 
  62             response.setStatus("Permit");
 
  63             response.setAdvice(Collections.emptyMap());
 
  64             response.setObligations(Collections.emptyMap());
 
  65             response.setPolicies(Collections.emptyMap());