Fix optimization supported types 76/104876/1
authorPamela Dragosh <pdragosh@research.att.com>
Wed, 1 Apr 2020 14:53:12 +0000 (10:53 -0400)
committerPamela Dragosh <pdragosh@research.att.com>
Wed, 1 Apr 2020 14:53:16 +0000 (10:53 -0400)
To support 5G slicing use cases, we will support any policy type
that derives from onap.policies.optimization

Similar in functionality to monitoring

Issue-ID: POLICY-2460
Change-Id: I48b071a64b917cea44eb64149539875ba33e2ef5
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
applications/optimization/src/main/java/org/onap/policy/xacml/pdp/application/optimization/OptimizationPdpApplication.java
applications/optimization/src/test/java/org/onap/policy/xacml/pdp/application/optimization/OptimizationPdpApplicationTest.java

index 5a8978f..8d337e4 100644 (file)
@@ -63,6 +63,7 @@ public class OptimizationPdpApplication extends StdXacmlApplicationServiceProvid
     public static final String POLICYTYPE_QUERY = "onap.policies.optimization.service.QueryPolicy";
     public static final String POLICYTYPE_VIMFIT = "onap.policies.optimization.resource.Vim_fit";
     public static final String POLICYTYPE_VNF = "onap.policies.optimization.resource.VnfPolicy";
+    public static final String ONAP_OPTIMIZATION_DERIVED_POLICY_TYPE = "onap.policies.optimization.";
 
     private OptimizationPdpApplicationTranslator translator = new OptimizationPdpApplicationTranslator();
     private List<ToscaPolicyTypeIdentifier> supportedPolicyTypes = new ArrayList<>();
@@ -114,10 +115,6 @@ public class OptimizationPdpApplication extends StdXacmlApplicationServiceProvid
 
     @Override
     public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
-        //
-        // For the time being, restrict this if the version isn't known.
-        // Could be too difficult to support changing of versions dynamically.
-        //
         //
         // For the time being, restrict this if the version isn't known.
         // Could be too difficult to support changing of versions dynamically.
@@ -128,7 +125,10 @@ public class OptimizationPdpApplication extends StdXacmlApplicationServiceProvid
                 return true;
             }
         }
-        return false;
+        //
+        // Support derived types
+        //
+        return policyTypeId.getName().startsWith(ONAP_OPTIMIZATION_DERIVED_POLICY_TYPE);
     }
 
     @Override
index 85541f1..031ef33 100644 (file)
@@ -187,6 +187,8 @@ public class OptimizationPdpApplicationTest {
                 "onap.policies.optimization.resource.AffinityPolicy", "1.0.0"))).isTrue();
         assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
                 "onap.policies.optimization.service.SubscriberPolicy", "1.0.0"))).isTrue();
+        assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
+                "onap.policies.optimization.service.CustomUseCase", "1.0.0"))).isTrue();
         assertThat(service.canSupportPolicyType(new ToscaPolicyTypeIdentifier(
                 "onap.foobar", "1.0.0"))).isFalse();
     }