Re-format source code
[policy/engine.git] / PolicyEngineUtils / src / main / java / org / onap / policy / std / NotificationStore.java
index 6164418..40c640f 100644 (file)
@@ -2,15 +2,15 @@
  * ============LICENSE_START=======================================================
  * PolicyEngineUtils
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
  * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -25,27 +25,33 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
+
 import org.onap.policy.api.LoadedPolicy;
 import org.onap.policy.api.NotificationType;
 import org.onap.policy.api.PDPNotification;
 import org.onap.policy.api.RemovedPolicy;
 
-
 /*
- * This Should Compare and save the Notifications from the beginning of Time. 
- * If there is something new (missed) We notify the client. 
- * Works for PDP failures. 
- * 
+ * This Should Compare and save the Notifications from the beginning of Time.
+ * If there is something new (missed) We notify the client.
+ * Works for PDP failures.
+ *
  */
 public class NotificationStore {
 
     private static StdPDPNotification notificationRecord = new StdPDPNotification();
 
-    private NotificationStore () {
+    private NotificationStore() {
         // Sonar prefers that we have an empty public constructor
         // as opposed to an implicit public constructor.
     }
-    
+
+    /**
+     * getDeltaNotification.
+     *
+     * @param newNotification StdPDPNotification
+     * @return StdPDPNotification
+     */
     public static StdPDPNotification getDeltaNotification(StdPDPNotification newNotification) {
         StdPDPNotification notificationDelta = new StdPDPNotification();
         ArrayList<StdRemovedPolicy> removedDelta = new ArrayList<>();
@@ -72,13 +78,15 @@ public class NotificationStore {
         // check for old removed policies.
         if (!newNotification.getRemovedPolicies().isEmpty()) {
             for (RemovedPolicy newRemovedPolicy : newNotification.getRemovedPolicies()) {
-                remove = updateRemovedPolicies(removedDelta, oldUpdatedLostPolicies, oldRemovedPolicies, oldUpdatedPolicies, remove, newRemovedPolicy);
+                remove = updateRemovedPolicies(removedDelta, oldUpdatedLostPolicies, oldRemovedPolicies,
+                        oldUpdatedPolicies, remove, newRemovedPolicy);
             }
         }
         // Check for old Updated Policies.
         if (!newNotification.getLoadedPolicies().isEmpty()) {
             for (LoadedPolicy newUpdatedPolicy : newNotification.getLoadedPolicies()) {
-                update = modifyUpdatedPolicies(updatedDelta, oldUpdatedLostPolicies, oldRemovedPolicies, oldUpdatedPolicies, update, newUpdatedPolicy);
+                update = modifyUpdatedPolicies(updatedDelta, oldUpdatedLostPolicies, oldRemovedPolicies,
+                        oldUpdatedPolicies, update, newUpdatedPolicy);
             }
             // Conversion of Update to Remove if that occurred.
             if (!oldUpdatedLostPolicies.isEmpty()) {
@@ -118,14 +126,15 @@ public class NotificationStore {
         return notificationDelta;
     }
 
-    private static Boolean modifyUpdatedPolicies(ArrayList<StdLoadedPolicy> updatedDelta, Collection<LoadedPolicy> oldUpdatedLostPolicies, Collection<RemovedPolicy> oldRemovedPolicies, Collection<LoadedPolicy> oldUpdatedPolicies, Boolean update, LoadedPolicy newUpdatedPolicy) {
+    private static Boolean modifyUpdatedPolicies(ArrayList<StdLoadedPolicy> updatedDelta,
+            Collection<LoadedPolicy> oldUpdatedLostPolicies, Collection<RemovedPolicy> oldRemovedPolicies,
+            Collection<LoadedPolicy> oldUpdatedPolicies, Boolean update, LoadedPolicy newUpdatedPolicy) {
         // Look for policies which are not in Update
         Boolean updated = true;
         String policyName = newUpdatedPolicy.getPolicyName();
         String ver = newUpdatedPolicy.getVersionNo();
         for (LoadedPolicy oldUpdatedPolicy : notificationRecord.getLoadedPolicies()) {
-            if (policyName.equals(oldUpdatedPolicy.getPolicyName())
-                && ver.equals(oldUpdatedPolicy.getVersionNo())) {
+            if (policyName.equals(oldUpdatedPolicy.getPolicyName()) && ver.equals(oldUpdatedPolicy.getVersionNo())) {
                 updated = false;
                 // Remove the policy from copy.
                 oldUpdatedLostPolicies.remove(oldUpdatedPolicy);
@@ -135,8 +144,7 @@ public class NotificationStore {
         }
         // Change the record if the policy has been Removed earlier.
         for (RemovedPolicy oldRemovedPolicy : notificationRecord.getRemovedPolicies()) {
-            if (oldRemovedPolicy.getPolicyName().equals(policyName)
-                && oldRemovedPolicy.getVersionNo().equals(ver)) {
+            if (oldRemovedPolicy.getPolicyName().equals(policyName) && oldRemovedPolicy.getVersionNo().equals(ver)) {
                 oldRemovedPolicies.remove(oldRemovedPolicy);
             }
         }
@@ -149,23 +157,23 @@ public class NotificationStore {
         return update;
     }
 
-    private static Boolean updateRemovedPolicies(ArrayList<StdRemovedPolicy> removedDelta, Collection<LoadedPolicy> oldUpdatedLostPolicies, Collection<RemovedPolicy> oldRemovedPolicies, Collection<LoadedPolicy> oldUpdatedPolicies, Boolean remove, RemovedPolicy newRemovedPolicy) {
-        //Look for policy Not in Remove
+    private static Boolean updateRemovedPolicies(ArrayList<StdRemovedPolicy> removedDelta,
+            Collection<LoadedPolicy> oldUpdatedLostPolicies, Collection<RemovedPolicy> oldRemovedPolicies,
+            Collection<LoadedPolicy> oldUpdatedPolicies, Boolean remove, RemovedPolicy newRemovedPolicy) {
+        // Look for policy Not in Remove
         Boolean removed = true;
         String policyName = newRemovedPolicy.getPolicyName();
         String ver = newRemovedPolicy.getVersionNo();
         for (RemovedPolicy oldRemovedPolicy : notificationRecord.getRemovedPolicies()) {
-            if (policyName.equals(oldRemovedPolicy.getPolicyName())
-                && ver.equals(oldRemovedPolicy.getVersionNo())) {
+            if (policyName.equals(oldRemovedPolicy.getPolicyName()) && ver.equals(oldRemovedPolicy.getVersionNo())) {
                 removed = false;
                 // Don't want a duplicate.
                 oldRemovedPolicies.remove(oldRemovedPolicy);
             }
         }
-        //We need to change our record we have an Update record of this remove.
+        // We need to change our record we have an Update record of this remove.
         for (LoadedPolicy oldUpdatedPolicy : notificationRecord.getLoadedPolicies()) {
-            if (policyName.equals(oldUpdatedPolicy.getPolicyName())
-                && ver.equals(oldUpdatedPolicy.getVersionNo())) {
+            if (policyName.equals(oldUpdatedPolicy.getPolicyName()) && ver.equals(oldUpdatedPolicy.getVersionNo())) {
                 oldUpdatedPolicies.remove(oldUpdatedPolicy);
                 oldUpdatedLostPolicies.remove(oldUpdatedPolicy);
             }
@@ -180,6 +188,11 @@ public class NotificationStore {
         return remove;
     }
 
+    /**
+     * recordNotification.
+     *
+     * @param notification StdPDPNotification
+     */
     public static void recordNotification(StdPDPNotification notification) {
         if (notification == null) {
             return;
@@ -187,49 +200,50 @@ public class NotificationStore {
 
         if (notificationRecord.getRemovedPolicies() == null || notificationRecord.getLoadedPolicies() == null) {
             notificationRecord = notification;
-        } else {
-            // Check if there is anything new and update the record.
-            if (notificationRecord.getLoadedPolicies() != null || notificationRecord.getRemovedPolicies() != null) {
-                HashSet<StdRemovedPolicy> removedPolicies = new HashSet<>();
-                for (RemovedPolicy rPolicy : notificationRecord.getRemovedPolicies()) {
-                    StdRemovedPolicy sRPolicy = new StdRemovedPolicy();
-                    sRPolicy.setPolicyName(rPolicy.getPolicyName());
-                    sRPolicy.setVersionNo(rPolicy.getVersionNo());
-                    removedPolicies.add(sRPolicy);
-                }
-                HashSet<StdLoadedPolicy> updatedPolicies = new HashSet<>();
-                for (LoadedPolicy uPolicy : notificationRecord.getLoadedPolicies()) {
-                    StdLoadedPolicy sUPolicy = new StdLoadedPolicy();
-                    sUPolicy.setMatches(uPolicy.getMatches());
-                    sUPolicy.setPolicyName(uPolicy.getPolicyName());
-                    sUPolicy.setVersionNo(uPolicy.getVersionNo());
-                    sUPolicy.setUpdateType(uPolicy.getUpdateType());
-                    updatedPolicies.add(sUPolicy);
-                }
+            return;
+        }
+        // Check if there is anything new and update the record.
+        if (notificationRecord.getLoadedPolicies() != null || notificationRecord.getRemovedPolicies() != null) {
+            HashSet<StdRemovedPolicy> removedPolicies = new HashSet<>();
+            for (RemovedPolicy removedPolicy : notificationRecord.getRemovedPolicies()) {
+                StdRemovedPolicy stdRemovedPolicy = new StdRemovedPolicy();
+                stdRemovedPolicy.setPolicyName(removedPolicy.getPolicyName());
+                stdRemovedPolicy.setVersionNo(removedPolicy.getVersionNo());
+                removedPolicies.add(stdRemovedPolicy);
+            }
+            HashSet<StdLoadedPolicy> updatedPolicies = new HashSet<>();
+            for (LoadedPolicy loadedPolicy : notificationRecord.getLoadedPolicies()) {
+                StdLoadedPolicy stdLoadedPolicy = new StdLoadedPolicy();
+                stdLoadedPolicy.setMatches(loadedPolicy.getMatches());
+                stdLoadedPolicy.setPolicyName(loadedPolicy.getPolicyName());
+                stdLoadedPolicy.setVersionNo(loadedPolicy.getVersionNo());
+                stdLoadedPolicy.setUpdateType(loadedPolicy.getUpdateType());
+                updatedPolicies.add(stdLoadedPolicy);
+            }
 
-                // Checking with the new updated policies.
-                if (notification.getLoadedPolicies() != null && !notification.getLoadedPolicies().isEmpty()) {
-                    checkNewUpdatedPolicies(notification, removedPolicies, updatedPolicies);
-                }
-                // Checking with New Removed Policies.
-                if (notification.getRemovedPolicies() != null && !notification.getRemovedPolicies().isEmpty()) {
-                    checkNewRemovedPolicies(notification, removedPolicies, updatedPolicies);
-                }
-                notificationRecord.setRemovedPolicies(removedPolicies);
-                notificationRecord.setLoadedPolicies(updatedPolicies);
+            // Checking with the new updated policies.
+            if (notification.getLoadedPolicies() != null && !notification.getLoadedPolicies().isEmpty()) {
+                checkNewUpdatedPolicies(notification, removedPolicies, updatedPolicies);
             }
-            if (!notificationRecord.getLoadedPolicies().isEmpty() && !notificationRecord.getRemovedPolicies()
-                .isEmpty()) {
-                notificationRecord.setNotificationType(NotificationType.BOTH);
-            } else if (!notificationRecord.getLoadedPolicies().isEmpty()) {
-                notificationRecord.setNotificationType(NotificationType.UPDATE);
-            } else if (!notificationRecord.getRemovedPolicies().isEmpty()) {
-                notificationRecord.setNotificationType(NotificationType.REMOVE);
+            // Checking with New Removed Policies.
+            if (notification.getRemovedPolicies() != null && !notification.getRemovedPolicies().isEmpty()) {
+                checkNewRemovedPolicies(notification, removedPolicies, updatedPolicies);
             }
+            notificationRecord.setRemovedPolicies(removedPolicies);
+            notificationRecord.setLoadedPolicies(updatedPolicies);
+        }
+        if (!notificationRecord.getLoadedPolicies().isEmpty()
+                && !notificationRecord.getRemovedPolicies().isEmpty()) {
+            notificationRecord.setNotificationType(NotificationType.BOTH);
+        } else if (!notificationRecord.getLoadedPolicies().isEmpty()) {
+            notificationRecord.setNotificationType(NotificationType.UPDATE);
+        } else if (!notificationRecord.getRemovedPolicies().isEmpty()) {
+            notificationRecord.setNotificationType(NotificationType.REMOVE);
         }
     }
 
-    private static void checkNewUpdatedPolicies(StdPDPNotification notification, HashSet<StdRemovedPolicy> removedPolicies, HashSet<StdLoadedPolicy> updatedPolicies) {
+    private static void checkNewUpdatedPolicies(StdPDPNotification notification,
+            HashSet<StdRemovedPolicy> removedPolicies, HashSet<StdLoadedPolicy> updatedPolicies) {
         for (LoadedPolicy newUpdatedPolicy : notification.getLoadedPolicies()) {
             // If it was removed earlier then we need to remove from our record
             Iterator<StdRemovedPolicy> oldRemovedPolicy = removedPolicies.iterator();
@@ -237,25 +251,25 @@ public class NotificationStore {
             String ver = newUpdatedPolicy.getVersionNo();
             while (oldRemovedPolicy.hasNext()) {
                 RemovedPolicy policy = oldRemovedPolicy.next();
-                if (policyName.equals(policy.getPolicyName())
-                    && ver.equals(policy.getVersionNo())) {
+                if (policyName.equals(policy.getPolicyName()) && ver.equals(policy.getVersionNo())) {
                     oldRemovedPolicy.remove();
                 }
             }
             // If it was previously updated need to Overwrite it to the record.
-            updatedPolicies.removeIf(policy -> policyName.equals(policy.getPolicyName())
-                && ver.equals(policy.getVersionNo()));
+            updatedPolicies
+                    .removeIf(policy -> policyName.equals(policy.getPolicyName()) && ver.equals(policy.getVersionNo()));
 
-            StdLoadedPolicy sUPolicy = new StdLoadedPolicy();
-            sUPolicy.setMatches(newUpdatedPolicy.getMatches());
-            sUPolicy.setPolicyName(newUpdatedPolicy.getPolicyName());
-            sUPolicy.setVersionNo(newUpdatedPolicy.getVersionNo());
-            sUPolicy.setUpdateType(newUpdatedPolicy.getUpdateType());
-            updatedPolicies.add(sUPolicy);
+            StdLoadedPolicy stdLoadedPolicy = new StdLoadedPolicy();
+            stdLoadedPolicy.setMatches(newUpdatedPolicy.getMatches());
+            stdLoadedPolicy.setPolicyName(newUpdatedPolicy.getPolicyName());
+            stdLoadedPolicy.setVersionNo(newUpdatedPolicy.getVersionNo());
+            stdLoadedPolicy.setUpdateType(newUpdatedPolicy.getUpdateType());
+            updatedPolicies.add(stdLoadedPolicy);
         }
     }
 
-    private static void checkNewRemovedPolicies(StdPDPNotification notification, HashSet<StdRemovedPolicy> removedPolicies, HashSet<StdLoadedPolicy> updatedPolicies) {
+    private static void checkNewRemovedPolicies(StdPDPNotification notification,
+            HashSet<StdRemovedPolicy> removedPolicies, HashSet<StdLoadedPolicy> updatedPolicies) {
         for (RemovedPolicy newRemovedPolicy : notification.getRemovedPolicies()) {
             // If it was previously removed Overwrite it to the record.
             Iterator<StdRemovedPolicy> oldRemovedPolicy = removedPolicies.iterator();
@@ -263,19 +277,18 @@ public class NotificationStore {
             String ver = newRemovedPolicy.getVersionNo();
             while (oldRemovedPolicy.hasNext()) {
                 RemovedPolicy policy = oldRemovedPolicy.next();
-                if (policyName.equals(policy.getPolicyName())
-                    && ver.equals(policy.getVersionNo())) {
+                if (policyName.equals(policy.getPolicyName()) && ver.equals(policy.getVersionNo())) {
                     oldRemovedPolicy.remove();
                 }
             }
             // If it was added earlier then we need to remove from our record.
-            updatedPolicies.removeIf(policy -> policyName.equals(policy.getPolicyName())
-                && ver.equals(policy.getVersionNo()));
+            updatedPolicies
+                    .removeIf(policy -> policyName.equals(policy.getPolicyName()) && ver.equals(policy.getVersionNo()));
 
-            StdRemovedPolicy sRPolicy = new StdRemovedPolicy();
-            sRPolicy.setPolicyName(policyName);
-            sRPolicy.setVersionNo(ver);
-            removedPolicies.add(sRPolicy);
+            StdRemovedPolicy stdRemovedPolicy = new StdRemovedPolicy();
+            stdRemovedPolicy.setPolicyName(policyName);
+            stdRemovedPolicy.setVersionNo(ver);
+            removedPolicies.add(stdRemovedPolicy);
         }
     }