summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2019-12-16 11:11:05 -0500
committerPamela Dragosh <pdragosh@research.att.com>2019-12-17 08:31:52 -0500
commita70dbf38827f6c3b50f35c947faa81985711e242 (patch)
tree338bd6038a1b6fc7e58e154c009547c48cd8d0ac
parente279f0ec53147f53d7a48041c7b433b7738ae37d (diff)
Modifications to decision request and policy fixes
Discovered while working on both the SDNC naming and optimization application work. Fixed the datatype for SDNC naming policy type Added a copy constructor for Decision request Added metadata for optimization Subscriber policy type Issue-ID: POLICY-2066 Change-Id: I83c99533f26747c856c591d05d22691714549cf2 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
-rw-r--r--models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java29
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.Naming.yaml4
-rw-r--r--models-examples/src/main/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml56
3 files changed, 60 insertions, 29 deletions
diff --git a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java
index 1ba7f4362..ca1e9e207 100644
--- a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java
+++ b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionRequest.java
@@ -21,10 +21,10 @@
package org.onap.policy.models.decisions.concepts;
import com.google.gson.annotations.SerializedName;
-
+import java.util.HashMap;
import java.util.Map;
-
import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* This class is for a Decision Request to a Decision PDP Engine.
@@ -33,6 +33,7 @@ import lombok.Data;
*
*/
@Data
+@NoArgsConstructor
public class DecisionRequest {
@SerializedName("ONAPName")
private String onapName;
@@ -46,9 +47,33 @@ public class DecisionRequest {
@SerializedName("requestId")
private String requestId;
+ @SerializedName("context")
+ private Map<String, Object> context;
+
@SerializedName("action")
private String action;
@SerializedName("resource")
private Map<String, Object> resource;
+
+ /**
+ * Copy constructor.
+ *
+ * @param request Incoming DecisionRequest
+ */
+ public DecisionRequest(DecisionRequest request) {
+ this.setOnapName(request.getOnapName());
+ this.setOnapComponent(request.getOnapComponent());
+ this.setOnapInstance(request.getOnapInstance());
+ this.setRequestId(request.getRequestId());
+ if (request.getContext() != null) {
+ this.setContext(new HashMap<>());
+ this.getContext().putAll(request.getContext());
+ }
+ this.setAction(request.getAction());
+ if (request.getResource() != null) {
+ this.setResource(new HashMap<>());
+ this.getResource().putAll(request.getResource());
+ }
+ }
}
diff --git a/models-examples/src/main/resources/policytypes/onap.policies.Naming.yaml b/models-examples/src/main/resources/policytypes/onap.policies.Naming.yaml
index f1b9c43d2..8636b7980 100644
--- a/models-examples/src/main/resources/policytypes/onap.policies.Naming.yaml
+++ b/models-examples/src/main/resources/policytypes/onap.policies.Naming.yaml
@@ -13,7 +13,7 @@ policy_types:
type: policy.data.naming-model-entity
data_types:
policy.data.naming-model-entity:
- derived_from: tosca.nodes.Root
+ derived_from: tosca.datatypes.Root
properties:
nfRole:
type: string
@@ -37,7 +37,7 @@ data_types:
entry_schema:
type: policy.data.naming-property
policy.data.naming-property:
- derived_from: tosca.nodes.Root
+ derived_from: tosca.datatypes.Root
properties:
property-name:
type: string
diff --git a/models-examples/src/main/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml b/models-examples/src/main/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
index b6327c87b..f45ee8162 100644
--- a/models-examples/src/main/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
+++ b/models-examples/src/main/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
@@ -1,28 +1,34 @@
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
- onap.policies.optimization.service.SubscriberPolicy:
- derived_from: onap.policies.optimization.Service
- version: 1.0.0
- properties:
- subscriberProperties:
- type: policy.data.subscriberProperties_properties
- required: true
+ onap.policies.optimization.service.SubscriberPolicy:
+ derived_from: onap.policies.optimization.Service
+ version: 1.0.0
+ properties:
+ subscriberProperties:
+ type: policy.data.subscriberProperties_properties
+ required: true
data_types:
- policy.data.subscriberProperties_properties:
- derived_from: tosca.nodes.Root
- properties:
- subscriberName:
- type: list
- required: true
- entry_schema:
- type: string
- subscriberRole:
- type: list
- required: true
- entry_schema:
- type: string
- provStatus:
- type: list
- required: true
- entry_schema:
- type: string \ No newline at end of file
+ policy.data.subscriberProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ subscriberName:
+ type: list
+ required: true
+ metadata:
+ contextProvider: true
+ entry_schema:
+ type: string
+ subscriberRole:
+ type: list
+ required: true
+ metadata:
+ contextMatchable: scope
+ entry_schema:
+ type: string
+ provStatus:
+ type: list
+ required: true
+ metadata:
+ contextAttribute: true
+ entry_schema:
+ type: string \ No newline at end of file