From ca2f61793ab1d971414c25c68f9007c7c9abfaac Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 4 Jan 2021 15:58:25 +0000 Subject: Changed identifiers to concept identifiers The policy models tosca classes ToscaPolicyIdentifier and ToscaPolicyIdentifierOptVersion can be used to identify any TOSCA concept, not just TOSCA policies so they are renamed to ToscaConceptIdentifier and ToscaCinceptIdentifierOptVersion respectively. The class ToscaPolicyTypeIdentifier is redundant and is replaced by ToscaConceptIdentifier. Issue-ID: POLICY-2900 Change-Id: I677cc1f8730001b300ab2041f2d57c2485cbc4ed Signed-off-by: liamfallon --- .../onap/policy/drools/lifecycle/LifecycleFsm.java | 22 +++++++++--------- .../drools/lifecycle/LifecycleStateRunning.java | 5 ++-- .../drools/lifecycle/PolicyTypeController.java | 5 ++-- .../lifecycle/PolicyTypeDroolsController.java | 11 +++++---- .../PolicyTypeNativeArtifactController.java | 7 +++--- .../PolicyTypeNativeDroolsController.java | 7 +++--- .../server/restful/RestLifecycleManager.java | 10 ++++---- .../LifecycleStateActivePoliciesTest.java | 13 ++++++----- .../drools/lifecycle/LifecycleStateActiveTest.java | 9 ++++---- .../lifecycle/LifecycleStatePassiveTest.java | 7 +++--- .../PolicyTypeNativeArtifactControllerTest.java | 7 +++--- .../domain/models/DomainPolicyTypesTest.java | 9 ++++---- .../models/operational/OperationalPolicyTest.java | 9 ++++---- .../policy/drools/system/PolicyController.java | 5 ++-- .../internal/AggregatedPolicyController.java | 17 +++++++------- .../onap/policy/drools/policies/DomainMaker.java | 19 +++++++-------- .../policy/drools/policies/DomainMakerTest.java | 27 +++++++++++----------- 17 files changed, 102 insertions(+), 87 deletions(-) diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java index a45f2b4e..ef47e1d6 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,9 +60,8 @@ import org.onap.policy.models.pdp.concepts.PdpUpdate; import org.onap.policy.models.pdp.enums.PdpHealthStatus; import org.onap.policy.models.pdp.enums.PdpMessageType; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -84,11 +84,11 @@ public class LifecycleFsm implements Startable { protected static final long MIN_STATUS_INTERVAL_SECONDS = 5L; protected static final String PDP_MESSAGE_NAME = "messageName"; - protected static final ToscaPolicyTypeIdentifier POLICY_TYPE_DROOLS_NATIVE_RULES = - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Artifact", "1.0.0"); + protected static final ToscaConceptIdentifier POLICY_TYPE_DROOLS_NATIVE_RULES = + new ToscaConceptIdentifier("onap.policies.native.drools.Artifact", "1.0.0"); - protected static final ToscaPolicyTypeIdentifier POLICY_TYPE_DROOLS_NATIVE_CONTROLLER = - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Controller", "1.0.0"); + protected static final ToscaConceptIdentifier POLICY_TYPE_DROOLS_NATIVE_CONTROLLER = + new ToscaConceptIdentifier("onap.policies.native.drools.Controller", "1.0.0"); @Getter protected final Properties properties; @@ -135,10 +135,10 @@ public class LifecycleFsm implements Startable { protected Set mandatoryPolicyTypes = new HashSet<>(); @Getter - protected final Map policyTypesMap = new HashMap<>(); + protected final Map policyTypesMap = new HashMap<>(); @Getter - protected final Map policiesMap = new HashMap<>(); + protected final Map policiesMap = new HashMap<>(); /** * Constructor. @@ -200,7 +200,7 @@ public class LifecycleFsm implements Startable { return; } - for (ToscaPolicyTypeIdentifier id : controller.getPolicyTypes()) { + for (ToscaConceptIdentifier id : controller.getPolicyTypes()) { PolicyTypeDroolsController ptDc = (PolicyTypeDroolsController) policyTypesMap.get(id); //NOSONAR if (ptDc == null) { policyTypesMap.put(id, new PolicyTypeDroolsController(this, id, controller)); @@ -374,7 +374,7 @@ public class LifecycleFsm implements Startable { return (this.scheduler.submit(() -> state.updatePolicies(toscaPolicies)) != null); } - protected PolicyTypeController getController(ToscaPolicyTypeIdentifier policyType) { + protected PolicyTypeController getController(ToscaConceptIdentifier policyType) { return policyTypesMap.get(policyType); } @@ -387,7 +387,7 @@ public class LifecycleFsm implements Startable { protected Set getCurrentPolicyTypes() { return getPolicyTypesMap().keySet().stream() - .map(ToscaPolicyTypeIdentifier::getName).collect(Collectors.toSet()); + .map(ToscaConceptIdentifier::getName).collect(Collectors.toSet()); } /* ** Action Helpers ** */ diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleStateRunning.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleStateRunning.java index 860986d5..86540093 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleStateRunning.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleStateRunning.java @@ -4,6 +4,7 @@ * ================================================================================ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2019 Bell Canada. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,8 +31,8 @@ import org.onap.policy.models.pdp.concepts.PdpStateChange; import org.onap.policy.models.pdp.concepts.PdpUpdate; import org.onap.policy.models.pdp.enums.PdpResponseStatus; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -164,7 +165,7 @@ public abstract class LifecycleStateRunning extends LifecycleStateDefault { boolean success = true; DomainMaker domain = fsm.getDomainMaker(); for (ToscaPolicy policy : policies) { - ToscaPolicyTypeIdentifier policyType = policy.getTypeIdentifier(); + ToscaConceptIdentifier policyType = policy.getTypeIdentifier(); PolicyTypeController controller = fsm.getController(policyType); if (controller == null) { logger.warn("no controller found for {}", policyType); diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeController.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeController.java index a61088dc..a376506e 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeController.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeController.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,8 +21,8 @@ package org.onap.policy.drools.lifecycle; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Policy Type Controller. @@ -32,7 +33,7 @@ public interface PolicyTypeController { /** * Get Policy Type. */ - ToscaPolicyTypeIdentifier getPolicyType(); + ToscaConceptIdentifier getPolicyType(); /** * Deploy a Tosca Policy. diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java index 39930c4c..cdf9f147 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,8 +32,8 @@ import org.onap.policy.common.gson.annotation.GsonJsonIgnore; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.drools.domain.models.operational.OperationalPolicy; import org.onap.policy.drools.system.PolicyController; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,8 +44,8 @@ import org.slf4j.LoggerFactory; public class PolicyTypeDroolsController implements PolicyTypeController { - protected static final ToscaPolicyTypeIdentifier compliantType = - new ToscaPolicyTypeIdentifier("onap.policies.controlloop.operational.common.Drools", "1.0.0"); + protected static final ToscaConceptIdentifier compliantType = + new ToscaConceptIdentifier("onap.policies.controlloop.operational.common.Drools", "1.0.0"); private static final Logger logger = LoggerFactory.getLogger(PolicyTypeDroolsController.class); @@ -52,7 +53,7 @@ public class PolicyTypeDroolsController implements PolicyTypeController { protected final Map controllers = new ConcurrentHashMap<>(); @Getter - protected final ToscaPolicyTypeIdentifier policyType; + protected final ToscaConceptIdentifier policyType; @GsonJsonIgnore protected final LifecycleFsm fsm; @@ -61,7 +62,7 @@ public class PolicyTypeDroolsController implements PolicyTypeController { * Creates a Policy Type Drools Controller. */ public PolicyTypeDroolsController( - LifecycleFsm fsm, ToscaPolicyTypeIdentifier policyType, PolicyController controller) { + LifecycleFsm fsm, ToscaConceptIdentifier policyType, PolicyController controller) { this.policyType = policyType; this.controllers.put(controller.getName(), controller); this.fsm = fsm; diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactController.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactController.java index 53945f55..b97d9026 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactController.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactController.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,8 +31,8 @@ import org.onap.policy.drools.protocol.configuration.DroolsConfiguration; import org.onap.policy.drools.system.PolicyController; import org.onap.policy.drools.system.PolicyControllerConstants; import org.onap.policy.drools.system.PolicyEngineConstants; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,12 +40,12 @@ public class PolicyTypeNativeArtifactController implements PolicyTypeController private static final Logger logger = LoggerFactory.getLogger(PolicyTypeNativeArtifactController.class); @Getter - protected final ToscaPolicyTypeIdentifier policyType; + protected final ToscaConceptIdentifier policyType; @GsonJsonIgnore protected final LifecycleFsm fsm; - public PolicyTypeNativeArtifactController(LifecycleFsm fsm, ToscaPolicyTypeIdentifier policyType) { + public PolicyTypeNativeArtifactController(LifecycleFsm fsm, ToscaConceptIdentifier policyType) { this.policyType = policyType; this.fsm = fsm; } diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java index 48e0a49c..cb7da95e 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,8 +42,8 @@ import org.onap.policy.drools.properties.DroolsPropertyConstants; import org.onap.policy.drools.system.PolicyController; import org.onap.policy.drools.system.PolicyControllerConstants; import org.onap.policy.drools.system.PolicyEngineConstants; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,12 +51,12 @@ public class PolicyTypeNativeDroolsController implements PolicyTypeController { private static final Logger logger = LoggerFactory.getLogger(PolicyTypeNativeDroolsController.class); @Getter - protected final ToscaPolicyTypeIdentifier policyType; + protected final ToscaConceptIdentifier policyType; @GsonJsonIgnore protected final LifecycleFsm fsm; - public PolicyTypeNativeDroolsController(LifecycleFsm fsm, ToscaPolicyTypeIdentifier policyType) { + public PolicyTypeNativeDroolsController(LifecycleFsm fsm, ToscaConceptIdentifier policyType) { this.policyType = policyType; this.fsm = fsm; } diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java index b430533d..b28f06e1 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/server/restful/RestLifecycleManager.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,9 +47,8 @@ import org.onap.policy.drools.lifecycle.PolicyTypeController; import org.onap.policy.models.pdp.concepts.PdpStateChange; import org.onap.policy.models.pdp.concepts.PdpUpdate; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -239,7 +239,7 @@ public class RestLifecycleManager { @PathParam("policyTypeVersion") String policyTypeVersion) { PolicyTypeController typeController = LifecycleFeature.fsm.getPolicyTypesMap() - .get(new ToscaPolicyTypeIdentifier(policyType, policyTypeVersion)); + .get(new ToscaConceptIdentifier(policyType, policyTypeVersion)); if (typeController == null) { return Response.status(Response.Status.NOT_FOUND).build(); } @@ -307,7 +307,7 @@ public class RestLifecycleManager { ToscaPolicy policy; try { policy = - LifecycleFeature.fsm.getPoliciesMap().get(new ToscaPolicyIdentifier(policyName, policyVersion)); + LifecycleFeature.fsm.getPoliciesMap().get(new ToscaConceptIdentifier(policyName, policyVersion)); } catch (RuntimeException r) { logger.debug("policy {}:{} has not been found", policyName, policyVersion, r); return Response.status(Response.Status.NOT_FOUND).build(); @@ -334,7 +334,7 @@ public class RestLifecycleManager { ToscaPolicy policy; try { policy = - LifecycleFeature.fsm.getPoliciesMap().get(new ToscaPolicyIdentifier(policyName, policyVersion)); + LifecycleFeature.fsm.getPoliciesMap().get(new ToscaConceptIdentifier(policyName, policyVersion)); } catch (RuntimeException r) { logger.debug("policy {}:{} has not been found", policyName, policyVersion, r); return Response.status(Response.Status.NOT_FOUND).build(); diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActivePoliciesTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActivePoliciesTest.java index 2b0e65bf..d961dce3 100644 --- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActivePoliciesTest.java +++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActivePoliciesTest.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,8 +45,8 @@ import org.onap.policy.common.utils.network.NetworkUtil; import org.onap.policy.models.pdp.concepts.PdpStateChange; import org.onap.policy.models.pdp.concepts.PdpUpdate; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Lifecycle State Active Test. @@ -104,9 +105,9 @@ public class LifecycleStateActivePoliciesTest extends LifecycleStateRunningTest public void testUpdatePolicies() throws IOException, CoderException { assertEquals(2, fsm.policyTypesMap.size()); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Controller", "1.0.0"))); + new ToscaConceptIdentifier("onap.policies.native.drools.Controller", "1.0.0"))); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Artifact", "1.0.0"))); + new ToscaConceptIdentifier("onap.policies.native.drools.Artifact", "1.0.0"))); // // create controller using native policy @@ -177,11 +178,11 @@ public class LifecycleStateActivePoliciesTest extends LifecycleStateRunningTest assertEquals(3, fsm.policyTypesMap.size()); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Controller", "1.0.0"))); + new ToscaConceptIdentifier("onap.policies.native.drools.Controller", "1.0.0"))); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Artifact", "1.0.0"))); + new ToscaConceptIdentifier("onap.policies.native.drools.Artifact", "1.0.0"))); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.controlloop.operational.common.Drools", + new ToscaConceptIdentifier("onap.policies.controlloop.operational.common.Drools", "1.0.0"))); // invalid controller name diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java index 39a3a939..8a5ea6e4 100644 --- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java +++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,8 +47,8 @@ import org.onap.policy.models.pdp.concepts.PdpStateChange; import org.onap.policy.models.pdp.concepts.PdpStatus; import org.onap.policy.models.pdp.concepts.PdpUpdate; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Lifecycle State Active Test. @@ -215,11 +216,11 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { assertEquals(qlength + 1, fsm.client.getSink().getRecentEvents().length); assertEquals(3, fsm.policyTypesMap.size()); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Controller", "1.0.0"))); + new ToscaConceptIdentifier("onap.policies.native.drools.Controller", "1.0.0"))); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Artifact", "1.0.0"))); + new ToscaConceptIdentifier("onap.policies.native.drools.Artifact", "1.0.0"))); assertNotNull(fsm.getPolicyTypesMap().get( - new ToscaPolicyTypeIdentifier("onap.policies.controlloop.operational.common.Drools", + new ToscaConceptIdentifier("onap.policies.controlloop.operational.common.Drools", "1.0.0"))); PdpStatus cachedStatus = new StandardCoder() .decode(fsm.client.getSink().getRecentEvents()[qlength], PdpStatus.class); diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java index 23c6e201..9547aa47 100644 --- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java +++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStatePassiveTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,8 +44,8 @@ import org.onap.policy.models.pdp.concepts.PdpUpdate; import org.onap.policy.models.pdp.enums.PdpHealthStatus; import org.onap.policy.models.pdp.enums.PdpMessageType; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Lifecycle State Passive Tests. @@ -73,12 +74,12 @@ public class LifecycleStatePassiveTest extends LifecycleStateRunningTest { fsm.start(controllerSupport.getController()); assertSame(controllerSupport.getController(), ((PolicyTypeDroolsController) fsm.getController( - new ToscaPolicyTypeIdentifier( + new ToscaConceptIdentifier( ControllerSupport.POLICY_TYPE_COMPLIANT_OP, ControllerSupport.POLICY_TYPE_VERSION))) .controllers().get(0)); fsm.stop(controllerSupport.getController()); - assertNull(fsm.getController(new ToscaPolicyTypeIdentifier(ControllerSupport.POLICY_TYPE_COMPLIANT_OP, + assertNull(fsm.getController(new ToscaConceptIdentifier(ControllerSupport.POLICY_TYPE_COMPLIANT_OP, ControllerSupport.POLICY_TYPE_VERSION))); fsm.shutdown(); diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactControllerTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactControllerTest.java index cd17385d..3c8be31c 100644 --- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactControllerTest.java +++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeArtifactControllerTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,8 +36,8 @@ import org.onap.policy.drools.controller.internal.MavenDroolsController; import org.onap.policy.drools.controller.internal.NullDroolsController; import org.onap.policy.drools.domain.models.artifact.NativeArtifactPolicy; import org.onap.policy.drools.system.PolicyControllerConstants; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Rules Controller Test. @@ -61,7 +62,7 @@ public class PolicyTypeNativeArtifactControllerTest extends LifecycleStateRunnin nativePolicy = fsm.getDomainMaker().convertTo(policy, NativeArtifactPolicy.class); controller = new PolicyTypeNativeArtifactController(fsm, - new ToscaPolicyTypeIdentifier("onap.policies.native.drools.Artifact", "1.0.0")); + new ToscaConceptIdentifier("onap.policies.native.drools.Artifact", "1.0.0")); assertTrue(controllerSupport.getController().getDrools().isBrained()); assertFalse(controllerSupport.getController().isAlive()); @@ -147,4 +148,4 @@ public class PolicyTypeNativeArtifactControllerTest extends LifecycleStateRunnin assertTrue(controllerSupport.getController().getDrools() instanceof MavenDroolsController); } -} \ No newline at end of file +} diff --git a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java index f737766f..e9071a2b 100644 --- a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java +++ b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/DomainPolicyTypesTest.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,8 +41,8 @@ import org.onap.policy.drools.domain.models.artifact.NativeArtifactProperties; import org.onap.policy.drools.domain.models.artifact.NativeArtifactRulesArtifact; import org.onap.policy.drools.domain.models.controller.ControllerPolicy; import org.onap.policy.drools.policies.DomainMaker; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; public class DomainPolicyTypesTest { @@ -75,8 +76,8 @@ public class DomainPolicyTypesTest { ToscaPolicy toscaPolicy = getExamplesPolicy(EXAMPLE_NATIVE_DROOLS_POLICY_JSON, EXAMPLE_NATIVE_DROOLS_POLICY_NAME); - ToscaPolicyTypeIdentifier policyTypeId = - new ToscaPolicyTypeIdentifier(NATIVE_DROOLS_POLICY_TYPE, "1.0.0"); + ToscaConceptIdentifier policyTypeId = + new ToscaConceptIdentifier(NATIVE_DROOLS_POLICY_TYPE, "1.0.0"); domainMaker.isConformant(policyTypeId, rawNativeDroolsPolicy); assertTrue(domainMaker.isConformant(toscaPolicy)); @@ -116,7 +117,7 @@ public class DomainPolicyTypesTest { assertTrue(domainMaker .isDomainConformant( - new ToscaPolicyTypeIdentifier(domainDroolsPolicy2.getType(), domainDroolsPolicy2.getTypeVersion()), + new ToscaConceptIdentifier(domainDroolsPolicy2.getType(), domainDroolsPolicy2.getTypeVersion()), domainDroolsPolicy2)); } diff --git a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/operational/OperationalPolicyTest.java b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/operational/OperationalPolicyTest.java index 8f37b47c..91e8acc1 100644 --- a/policy-domains/src/test/java/org/onap/policy/drools/domain/models/operational/OperationalPolicyTest.java +++ b/policy-domains/src/test/java/org/onap/policy/drools/domain/models/operational/OperationalPolicyTest.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,8 +32,8 @@ import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.drools.domain.models.Metadata; import org.onap.policy.drools.policies.DomainMaker; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; public class OperationalPolicyTest { @@ -58,8 +59,8 @@ public class OperationalPolicyTest { String rawVcpeToscaPolicy = getExamplesPolicyString(VCPE_OPERATIONAL_DROOLS_POLICY_JSON, OP_POLICY_NAME_VCPE); // valid "known" policy type with implicit schema - ToscaPolicyTypeIdentifier operationalCompliantType = - new ToscaPolicyTypeIdentifier(OPERATIONAL_DROOLS_POLICY_TYPE, "1.0.0"); + ToscaConceptIdentifier operationalCompliantType = + new ToscaConceptIdentifier(OPERATIONAL_DROOLS_POLICY_TYPE, "1.0.0"); assertTrue(domainMaker.isConformant(operationalCompliantType, rawVcpeToscaPolicy)); assertNotNull(domainMaker.convertTo(operationalCompliantType, rawVcpeToscaPolicy, OperationalPolicy.class)); } @@ -112,4 +113,4 @@ public class OperationalPolicyTest { private String getExamplesPolicyString(String resourcePath, String policyName) throws CoderException { return nonValCoder.encode(getExamplesPolicy(resourcePath, policyName)); } -} \ No newline at end of file +} diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java index 82cd015e..7501aed5 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java +++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java @@ -3,6 +3,7 @@ * policy-management * ================================================================================ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,7 +30,7 @@ import org.onap.policy.common.endpoints.event.comm.TopicSink; import org.onap.policy.common.endpoints.event.comm.TopicSource; import org.onap.policy.drools.controller.DroolsController; import org.onap.policy.drools.protocol.configuration.DroolsConfiguration; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; /** * A Policy Controller is the higher level unit of control. It corresponds to the ncomp equivalent @@ -63,7 +64,7 @@ public interface PolicyController extends Startable, Lockable { /** * Get Policy Types supported by this controller. */ - List getPolicyTypes(); + List getPolicyTypes(); /** * Update maven configuration. diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java index 3f744024..e14b1620 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java +++ b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,7 +47,7 @@ import org.onap.policy.drools.properties.DroolsPropertyConstants; import org.onap.policy.drools.protocol.configuration.DroolsConfiguration; import org.onap.policy.drools.system.PolicyController; import org.onap.policy.drools.utils.PropertyUtil; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -110,7 +111,7 @@ public class AggregatedPolicyController implements PolicyController, TopicListen /** * Policy Types. */ - private List policyTypes; + private List policyTypes; /** * Constructor version mainly used for bootstrapping at initialization time a policy engine @@ -147,7 +148,7 @@ public class AggregatedPolicyController implements PolicyController, TopicListen } @Override - public List getPolicyTypes() { + public List getPolicyTypes() { if (!policyTypes.isEmpty()) { return policyTypes; } @@ -156,13 +157,13 @@ public class AggregatedPolicyController implements PolicyController, TopicListen .get() .getBaseDomainNames() .stream() - .map(d -> new ToscaPolicyTypeIdentifier(d, + .map(d -> new ToscaConceptIdentifier(d, DroolsPropertyConstants.DEFAULT_CONTROLLER_POLICY_TYPE_VERSION)) .collect(Collectors.toList()); } - protected List getPolicyTypesFromProperties() { - List policyTypeIds = new ArrayList<>(); + protected List getPolicyTypesFromProperties() { + List policyTypeIds = new ArrayList<>(); String ptiPropValue = properties.getProperty(DroolsPropertyConstants.PROPERTY_CONTROLLER_POLICY_TYPES); if (ptiPropValue == null) { @@ -173,10 +174,10 @@ public class AggregatedPolicyController implements PolicyController, TopicListen for (String pti : ptiPropList) { String[] ptv = pti.split(":"); if (ptv.length == 1) { - policyTypeIds.add(new ToscaPolicyTypeIdentifier(ptv[0], + policyTypeIds.add(new ToscaConceptIdentifier(ptv[0], DroolsPropertyConstants.DEFAULT_CONTROLLER_POLICY_TYPE_VERSION)); } else if (ptv.length == 2) { - policyTypeIds.add(new ToscaPolicyTypeIdentifier(ptv[0], ptv[1])); + policyTypeIds.add(new ToscaConceptIdentifier(ptv[0], ptv[1])); } } diff --git a/policy-utils/src/main/java/org/onap/policy/drools/policies/DomainMaker.java b/policy-utils/src/main/java/org/onap/policy/drools/policies/DomainMaker.java index 58d5052a..ae85d576 100644 --- a/policy-utils/src/main/java/org/onap/policy/drools/policies/DomainMaker.java +++ b/policy-utils/src/main/java/org/onap/policy/drools/policies/DomainMaker.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,9 +31,9 @@ import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.coder.StandardValCoder; import org.onap.policy.common.utils.resources.ResourceUtils; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,7 +57,7 @@ public class DomainMaker { /** * policy-type -> schema validator map. */ - private final Map validators = new ConcurrentHashMap<>(); + private final Map validators = new ConcurrentHashMap<>(); /** * non-validation serialization coder. @@ -66,7 +67,7 @@ public class DomainMaker { /** * Does this json conform to a registered policy type schema?. */ - public boolean isConformant(@NonNull ToscaPolicyTypeIdentifier policyType, @NonNull String json) { + public boolean isConformant(@NonNull ToscaConceptIdentifier policyType, @NonNull String json) { if (!isRegistered(policyType)) { return false; } @@ -89,7 +90,7 @@ public class DomainMaker { /** * Does this domain policy conforms to its schema definition?. */ - public boolean isDomainConformant(@NonNull ToscaPolicyTypeIdentifier policyType, @NonNull T domainPolicy) { + public boolean isDomainConformant(@NonNull ToscaConceptIdentifier policyType, @NonNull T domainPolicy) { if (!isRegistered(policyType)) { return false; } @@ -134,7 +135,7 @@ public class DomainMaker { * Checks a domain policy conformance to its specification providing a list of errors * in a ValidationFailedException. */ - public boolean conformance(@NonNull ToscaPolicyTypeIdentifier policyType, T domainPolicy) { + public boolean conformance(@NonNull ToscaConceptIdentifier policyType, T domainPolicy) { if (!isRegistered(policyType)) { return false; @@ -156,7 +157,7 @@ public class DomainMaker { /** * Registers a known schema resource for validation. */ - public boolean registerValidator(@NonNull ToscaPolicyTypeIdentifier policyType) { + public boolean registerValidator(@NonNull ToscaConceptIdentifier policyType) { // // A known schema is one that embedded in a .jar in the classpath as a resource // matching the following syntax: -.schema.json. @@ -175,7 +176,7 @@ public class DomainMaker { /** * Registers/Overrides a new/known schema for a policy type. */ - public boolean registerValidator(@NonNull ToscaPolicyTypeIdentifier policyType, @NonNull String schema) { + public boolean registerValidator(@NonNull ToscaConceptIdentifier policyType, @NonNull String schema) { try { validators.put(policyType, new StandardValCoder(schema, policyType.toString())); } catch (RuntimeException r) { @@ -195,7 +196,7 @@ public class DomainMaker { /** * Converts a JSON policy into a Domain Policy. */ - public T convertTo(@NonNull ToscaPolicyTypeIdentifier policyType, @NonNull String json, @NonNull Class clazz) + public T convertTo(@NonNull ToscaConceptIdentifier policyType, @NonNull String json, @NonNull Class clazz) throws CoderException { if (isRegistered(policyType)) { return validators.get(policyType).decode(json, clazz); @@ -215,7 +216,7 @@ public class DomainMaker { throw new UnsupportedOperationException("schema generation from policy type is not supported"); } - public boolean isRegistered(@NonNull ToscaPolicyTypeIdentifier policyType) { + public boolean isRegistered(@NonNull ToscaConceptIdentifier policyType) { return validators.containsKey(policyType) || registerValidator(policyType); } diff --git a/policy-utils/src/test/java/org/onap/policy/drools/policies/DomainMakerTest.java b/policy-utils/src/test/java/org/onap/policy/drools/policies/DomainMakerTest.java index 5bc767cd..2c883304 100644 --- a/policy-utils/src/test/java/org/onap/policy/drools/policies/DomainMakerTest.java +++ b/policy-utils/src/test/java/org/onap/policy/drools/policies/DomainMakerTest.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,9 +39,9 @@ import org.onap.policy.drools.models.domains.a.DomainAPolicy; import org.onap.policy.drools.models.domains.a.Metadata; import org.onap.policy.drools.models.domains.a.Nested; import org.onap.policy.drools.models.domains.a.Properties; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; public class DomainMakerTest { @@ -53,8 +54,8 @@ public class DomainMakerTest { @Test public void testIsConformantString() throws IOException { - ToscaPolicyTypeIdentifier policyTypeId = - new ToscaPolicyTypeIdentifier("policy.type.A", "1.0.0"); + ToscaConceptIdentifier policyTypeId = + new ToscaConceptIdentifier("policy.type.A", "1.0.0"); String rawJsonPolicyType = getJsonFromFile("src/test/resources/policyA.json"); @@ -75,8 +76,8 @@ public class DomainMakerTest { @Test public void testIsDomainConformant() { - ToscaPolicyTypeIdentifier policyTypeId = - new ToscaPolicyTypeIdentifier("policy.type.A", "1.0.0"); + ToscaConceptIdentifier policyTypeId = + new ToscaConceptIdentifier("policy.type.A", "1.0.0"); DomainAPolicy domainAPolicy = createDomainPolicy(); @@ -108,7 +109,7 @@ public class DomainMakerTest { assertDomainPolicy(domainAPolicy); domainAPolicy.getProperties().getNested().setNested1(""); - ToscaPolicyTypeIdentifier ident1 = policy1.getTypeIdentifier(); + ToscaConceptIdentifier ident1 = policy1.getTypeIdentifier(); assertThatThrownBy(() -> domainMaker.conformance(ident1, domainAPolicy)) .isInstanceOf(ValidationFailedException.class) .hasMessageContaining("Pattern ^(.+)$ is not contained in text"); @@ -116,8 +117,8 @@ public class DomainMakerTest { @Test public void testRegisterValidator() throws IOException, CoderException { - ToscaPolicyTypeIdentifier policyTypeId = - new ToscaPolicyTypeIdentifier("policy.type.external", "9.9.9"); + ToscaConceptIdentifier policyTypeId = + new ToscaConceptIdentifier("policy.type.external", "9.9.9"); assertTrue(domainMaker.registerValidator(policyTypeId, getJsonFromFile("src/test/resources/policy.type.external-9.9.9.schema.json"))); @@ -151,12 +152,12 @@ public class DomainMakerTest { @Test public void testIsRegistered() { - ToscaPolicyTypeIdentifier policyTypeId1 = - new ToscaPolicyTypeIdentifier("policy.type.A", "1.0.0"); + ToscaConceptIdentifier policyTypeId1 = + new ToscaConceptIdentifier("policy.type.A", "1.0.0"); assertTrue(domainMaker.isRegistered(policyTypeId1)); - ToscaPolicyTypeIdentifier policyTypeId2 = - new ToscaPolicyTypeIdentifier("policy.type.external", "7.7.9"); + ToscaConceptIdentifier policyTypeId2 = + new ToscaConceptIdentifier("policy.type.external", "7.7.9"); assertFalse(domainMaker.isRegistered(policyTypeId2)); } @@ -191,4 +192,4 @@ public class DomainMakerTest { assertEquals(true, domainAPolicy.getProperties().getNested().isNested2()); assertEquals(50, domainAPolicy.getProperties().getNested().getNested3()); } -} \ No newline at end of file +} -- cgit 1.2.3-korg