1 package org.openecomp.sdc.be.components.impl.instance;
3 import org.openecomp.sdc.be.components.impl.policy.PolicyTargetsUpdateHandler;
4 import org.openecomp.sdc.be.dao.api.ActionStatus;
5 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
6 import org.openecomp.sdc.be.model.Component;
7 import org.openecomp.sdc.be.model.ComponentInstance;
8 import org.openecomp.sdc.common.log.wrappers.Logger;
10 @org.springframework.stereotype.Component
11 public class PolicyTargetsUpdateOperation implements OnComponentInstanceChangeOperation {
13 private static final Logger log = Logger.getLogger(PolicyTargetsUpdateOperation.class);
14 private final PolicyTargetsUpdateHandler policyTargetsUpdateHandler;
16 public PolicyTargetsUpdateOperation(PolicyTargetsUpdateHandler policyTargetsUpdateHandler) {
17 this.policyTargetsUpdateHandler = policyTargetsUpdateHandler;
21 public ActionStatus onChangeVersion(Component container, ComponentInstance prevVersion, ComponentInstance newVersion) {
22 log.debug("#onChangeVersion - replacing all policy targets referencing component instance {} with component instance {}", prevVersion.getUniqueId(), newVersion.getUniqueId());
23 return policyTargetsUpdateHandler.replacePoliciesTargets(container, prevVersion.getUniqueId(), newVersion.getUniqueId(), PolicyTargetType.COMPONENT_INSTANCES);
27 public ActionStatus onDelete(Component container, String deletedEntityId) {
28 log.debug("#onDelete - removing all component {} policy targets referencing component instance {}", container.getUniqueId(), deletedEntityId);
29 return policyTargetsUpdateHandler.removePoliciesTargets(container, deletedEntityId, PolicyTargetType.COMPONENT_INSTANCES);