@Override protected void processSpecificReplacement(PolicyTemplate replacingNode, PolicyTemplate replacedTopologyNode, Set<String> topologyNotMergedProps) { replacingNode.setTargets(replacedTopologyNode.getTargets()); replacingNode.setTriggers(replacedTopologyNode.getTriggers()); } }
@Override protected void process(Csar csar, Topology topology, UpdatePolicyTargetsOperation operation, PolicyTemplate policyTemplate) { for (String target : operation.getTargets()) { AlienUtils.getOrFail(topology.getNodeTemplates(), target, "The node with name [ {} ] and assigned as policy [ {} ] target cannot be found in the topology.", target, policyTemplate.getName()); // FIXME if the policy type defines some restriction on the policy targets then it should be checked here } policyTemplate.setTargets(operation.getTargets()); } }