1 package org.onap.policy.tutorial.tutorial;
4 import java.util.Map.Entry;
6 import org.onap.policy.models.decisions.concepts.DecisionRequest;
8 import com.att.research.xacml.std.annotations.XACMLAction;
9 import com.att.research.xacml.std.annotations.XACMLRequest;
10 import com.att.research.xacml.std.annotations.XACMLResource;
11 import com.att.research.xacml.std.annotations.XACMLSubject;
15 import lombok.ToString;
20 @XACMLRequest(ReturnPolicyIdList = true)
21 public class TutorialRequest {
22 @XACMLSubject(includeInResults = true)
23 private String onapName;
25 @XACMLSubject(attributeId = "urn:org:onap:onap-component", includeInResults = true)
26 private String onapComponent;
28 @XACMLSubject(attributeId = "urn:org:onap:onap-instance", includeInResults = true)
29 private String onapInstance;
32 private String action;
34 @XACMLResource(attributeId = "urn:org:onap:tutorial-user", includeInResults = true)
37 @XACMLResource(attributeId = "urn:org:onap:tutorial-entity", includeInResults = true)
38 private String entity;
40 @XACMLResource(attributeId = "urn:org:onap:tutorial-permission", includeInResults = true)
41 private String permission;
43 public static TutorialRequest createRequest(DecisionRequest decisionRequest) {
47 TutorialRequest request = new TutorialRequest();
49 // Add the subject attributes
51 request.onapName = decisionRequest.getOnapName();
52 request.onapComponent = decisionRequest.getOnapComponent();
53 request.onapInstance = decisionRequest.getOnapInstance();
55 // Add the action attribute
57 request.action = decisionRequest.getAction();
59 // Add the resource attributes
61 Map<String, Object> resources = decisionRequest.getResource();
62 for (Entry<String, Object> entrySet : resources.entrySet()) {
63 if ("user".equals(entrySet.getKey())) {
64 request.user = entrySet.getValue().toString();
66 if ("entity".equals(entrySet.getKey())) {
67 request.entity = entrySet.getValue().toString();
69 if ("permission".equals(entrySet.getKey())) {
70 request.permission = entrySet.getValue().toString();