1 package org.onap.policy.tutorial.tutorial;
4 import java.util.Map.Entry;
5 import org.onap.policy.models.decisions.concepts.DecisionRequest;
6 import com.att.research.xacml.std.annotations.XACMLAction;
7 import com.att.research.xacml.std.annotations.XACMLRequest;
8 import com.att.research.xacml.std.annotations.XACMLResource;
9 import com.att.research.xacml.std.annotations.XACMLSubject;
12 import lombok.ToString;
17 @XACMLRequest(ReturnPolicyIdList = true)
18 public class TutorialRequest {
19 @XACMLSubject(includeInResults = true)
20 private String onapName;
22 @XACMLSubject(attributeId = "urn:org:onap:onap-component", includeInResults = true)
23 private String onapComponent;
25 @XACMLSubject(attributeId = "urn:org:onap:onap-instance", includeInResults = true)
26 private String onapInstance;
29 private String action;
31 @XACMLResource(attributeId = "urn:org:onap:tutorial-user", includeInResults = true)
34 @XACMLResource(attributeId = "urn:org:onap:tutorial-entity", includeInResults = true)
35 private String entity;
37 @XACMLResource(attributeId = "urn:org:onap:tutorial-permission", includeInResults = true)
38 private String permission;
40 public static TutorialRequest createRequest(DecisionRequest decisionRequest) {
44 TutorialRequest request = new TutorialRequest();
46 // Add the subject attributes
48 request.onapName = decisionRequest.getOnapName();
49 request.onapComponent = decisionRequest.getOnapComponent();
50 request.onapInstance = decisionRequest.getOnapInstance();
52 // Add the action attribute
54 request.action = decisionRequest.getAction();
56 // Add the resource attributes
58 Map<String, Object> resources = decisionRequest.getResource();
59 for (Entry<String, Object> entrySet : resources.entrySet()) {
60 if ("user".equals(entrySet.getKey())) {
61 request.user = entrySet.getValue().toString();
63 if ("entity".equals(entrySet.getKey())) {
64 request.entity = entrySet.getValue().toString();
66 if ("permission".equals(entrySet.getKey())) {
67 request.permission = entrySet.getValue().toString();