From 85b5178017e89c815af7792826f52a90814f5dba Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Fri, 30 Aug 2019 15:21:05 -0400 Subject: Integrate using Policy Type to find Matchable Utilize's Jim's helper class to pull from API policy types definitions so that Xacml PDP can determine which properties are "matchable". Override initialize to set translator parameters. Utilize the metadata section of ToscaProperties to store the matchable field. Updated Matchable Request to be dynamic with respect to the incoming resource attributes. Stored the policy types as JSON. Issue-ID: POLICY-1899 Change-Id: Icff3605495b0a34ebfcdfa54346095ce2d8468a4 Signed-off-by: Pamela Dragosh --- .../optimization/OptimizationPdpApplication.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'applications/optimization/src/main/java/org') diff --git a/applications/optimization/src/main/java/org/onap/policy/xacml/pdp/application/optimization/OptimizationPdpApplication.java b/applications/optimization/src/main/java/org/onap/policy/xacml/pdp/application/optimization/OptimizationPdpApplication.java index 91c46746..e2ab00c6 100644 --- a/applications/optimization/src/main/java/org/onap/policy/xacml/pdp/application/optimization/OptimizationPdpApplication.java +++ b/applications/optimization/src/main/java/org/onap/policy/xacml/pdp/application/optimization/OptimizationPdpApplication.java @@ -22,13 +22,15 @@ package org.onap.policy.xacml.pdp.application.optimization; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; - +import org.onap.policy.common.endpoints.parameters.RestServerParameters; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator; +import org.onap.policy.pdp.xacml.application.common.XacmlApplicationException; import org.onap.policy.pdp.xacml.application.common.std.StdMatchableTranslator; import org.onap.policy.pdp.xacml.application.common.std.StdXacmlApplicationServiceProvider; import org.slf4j.Logger; @@ -76,6 +78,21 @@ public class OptimizationPdpApplication extends StdXacmlApplicationServiceProvid return Arrays.asList("optimize"); } + @Override + public void initialize(Path pathForData, RestServerParameters policyApiParameters) + throws XacmlApplicationException { + // + // Store our API parameters and path for translator so it + // can go get Policy Types + // + this.translator.setPathForData(pathForData); + this.translator.setApiRestParameters(policyApiParameters); + // + // Let our super class do its thing + // + super.initialize(pathForData, policyApiParameters); + } + @Override public synchronized List supportedPolicyTypes() { return Collections.unmodifiableList(supportedPolicyTypes); @@ -102,6 +119,9 @@ public class OptimizationPdpApplication extends StdXacmlApplicationServiceProvid @Override protected ToscaPolicyTranslator getTranslator(String type) { + // + // Return translator + // return translator; } -- cgit 1.2.3-korg