Update UI to define Pdp Group
[clamp.git] / src / main / java / org / onap / clamp / policy / operational / OperationalPolicyService.java
index b24a2db..357a96d 100644 (file)
@@ -27,40 +27,44 @@ import com.google.gson.JsonObject;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
-import org.onap.clamp.policy.PolicyService;
 import org.onap.clamp.loop.Loop;
+import org.onap.clamp.policy.PolicyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class OperationalPolicyService implements PolicyService<OperationalPolicy> {
 
-    private final OperationalPolicyRepository repository;
+    private final OperationalPolicyRepository operationalPolicyRepository;
 
     @Autowired
     public OperationalPolicyService(OperationalPolicyRepository repository) {
-        this.repository = repository;
+        this.operationalPolicyRepository = repository;
     }
 
     @Override
     public Set<OperationalPolicy> updatePolicies(Loop loop, List<OperationalPolicy> operationalPolicies) {
         return operationalPolicies
-            .stream()
-            .map(policy ->
-                repository
-                    .findById(policy.getName())
-                    .map(p -> setConfigurationJson(p, policy.getConfigurationsJson()))
-                    .orElse(new OperationalPolicy(policy.getName(), loop, policy.getConfigurationsJson())))
-            .collect(Collectors.toSet());
+                .parallelStream()
+                .map(policy ->
+                        operationalPolicyRepository
+                                .findById(policy.getName())
+                                .map(p -> setConfigurationJson(p, policy))
+                                .orElse(new OperationalPolicy(policy.getName(), loop,
+                                        policy.getConfigurationsJson(),
+                                        policy.getPolicyModel(), null, policy.getPdpGroup(), policy.getPdpSubgroup())))
+                .collect(Collectors.toSet());
     }
 
     @Override
     public boolean isExisting(String policyName) {
-        return repository.existsById(policyName);
+        return operationalPolicyRepository.existsById(policyName);
     }
 
-    private OperationalPolicy setConfigurationJson(OperationalPolicy policy, JsonObject configurationsJson) {
-        policy.setConfigurationsJson(configurationsJson);
+    private OperationalPolicy setConfigurationJson(OperationalPolicy policy, OperationalPolicy newPolicy) {
+        policy.setConfigurationsJson(newPolicy.getConfigurationsJson());
+        policy.setPdpGroup(newPolicy.getPdpGroup());
+        policy.setPdpSubgroup(newPolicy.getPdpSubgroup());
         return policy;
     }
 }