package org.onap.clamp.policy.microservice;
-import com.google.common.collect.Sets;
-
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-
import org.onap.clamp.loop.Loop;
import org.onap.clamp.policy.PolicyService;
import org.springframework.beans.factory.annotation.Autowired;
@Override
public Set<MicroServicePolicy> updatePolicies(Loop loop, List<MicroServicePolicy> newMicroservicePolicies) {
return newMicroservicePolicies.stream().map(policy -> getAndUpdateMicroServicePolicy(loop, policy))
- .collect(Collectors.toSet());
+ .collect(Collectors.toSet());
}
@Override
/**
* Get and update the MicroService policy properties.
*
- * @param loop
- * The loop
- * @param policy
- * The new MicroService policy
+ * @param loop The loop
+ * @param policy The new MicroService policy
* @return The updated MicroService policy
*/
public MicroServicePolicy getAndUpdateMicroServicePolicy(Loop loop, MicroServicePolicy policy) {
- return repository
- .save(repository.findById(policy.getName()).map(p -> updateMicroservicePolicyProperties(p, policy, loop))
- .orElse(new MicroServicePolicy(policy.getName(), policy.getModelType(), policy.getPolicyTosca(),
- policy.getShared(), policy.getJsonRepresentation(), Sets.newHashSet(loop))));
+ return repository.save(
+ repository.findById(policy.getName()).map(p -> updateMicroservicePolicyProperties(p, policy, loop))
+ .orElse(new MicroServicePolicy(policy.getName(), policy.getPolicyModel(),
+ policy.getShared(), policy.getJsonRepresentation(),null, policy.getPdpGroup(), policy.getPdpSubgroup())));
}
private MicroServicePolicy updateMicroservicePolicyProperties(MicroServicePolicy oldPolicy,
- MicroServicePolicy newPolicy, Loop loop) {
- oldPolicy.setProperties(newPolicy.getProperties());
+ MicroServicePolicy newPolicy, Loop loop) {
+ oldPolicy.setConfigurationsJson(newPolicy.getConfigurationsJson());
if (!oldPolicy.getUsedByLoops().contains(loop)) {
oldPolicy.getUsedByLoops().add(loop);
}
+ oldPolicy.setPdpGroup(newPolicy.getPdpGroup());
+ oldPolicy.setPdpSubgroup(newPolicy.getPdpSubgroup());
return oldPolicy;
}
+
+ /**
+ * Update the MicroService policy deployment related parameters.
+ *
+ * @param microServicePolicy The micro service policy
+ * @param deploymentId The deployment ID as returned by DCAE
+ * @param deploymentUrl The Deployment URL as returned by DCAE
+ */
+ public void updateDcaeDeploymentFields(MicroServicePolicy microServicePolicy, String deploymentId,
+ String deploymentUrl) {
+ microServicePolicy.setDcaeDeploymentId(deploymentId);
+ microServicePolicy.setDcaeDeploymentStatusUrl(deploymentUrl);
+ repository.save(microServicePolicy);
+ }
}