summaryrefslogtreecommitdiffstats
path: root/PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java
diff options
context:
space:
mode:
Diffstat (limited to 'PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java')
-rw-r--r--PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java53
1 files changed, 29 insertions, 24 deletions
diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java b/PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java
index 447e7cb26..6772f5a9b 100644
--- a/PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java
+++ b/PolicyEngineAPI/src/main/java/org/onap/policy/std/NotificationUnMarshal.java
@@ -32,34 +32,39 @@ import com.fasterxml.jackson.databind.ObjectMapper;
public class NotificationUnMarshal {
+ private NotificationUnMarshal() {
+ // Empty constructor
+ }
+
public static StdPDPNotification notificationJSON(String json) throws IOException{
ObjectMapper mapper = new ObjectMapper();
StdPDPNotification notification = mapper.readValue(json, StdPDPNotification.class);
- if(notification!=null&&notification.getLoadedPolicies()!=null){
- Collection<StdLoadedPolicy> stdLoadedPolicies = new ArrayList<>();
- for(LoadedPolicy loadedPolicy: notification.getLoadedPolicies()){
- StdLoadedPolicy stdLoadedPolicy = (StdLoadedPolicy) loadedPolicy;
- if(notification.getRemovedPolicies()!=null){
- Boolean updated = false;
- for(RemovedPolicy removedPolicy: notification.getRemovedPolicies()){
- String regex = ".(\\d)*.xml";
- if(removedPolicy.getPolicyName().replaceAll(regex, "").equals(stdLoadedPolicy.getPolicyName().replaceAll(regex, ""))){
- updated = true;
- break;
- }
- }
- if(updated){
- stdLoadedPolicy.setUpdateType(UpdateType.UPDATE);
- }else{
- stdLoadedPolicy.setUpdateType(UpdateType.NEW);
- }
- }else{
- stdLoadedPolicy.setUpdateType(UpdateType.NEW);
- }
- stdLoadedPolicies.add(stdLoadedPolicy);
- }
- notification.setLoadedPolicies(stdLoadedPolicies);
+ if(notification == null || notification.getLoadedPolicies() == null){
+ return notification;
}
+ Collection<StdLoadedPolicy> stdLoadedPolicies = new ArrayList<>();
+ for(LoadedPolicy loadedPolicy: notification.getLoadedPolicies()){
+ StdLoadedPolicy stdLoadedPolicy = (StdLoadedPolicy) loadedPolicy;
+ if(notification.getRemovedPolicies()!=null){
+ Boolean updated = false;
+ for(RemovedPolicy removedPolicy: notification.getRemovedPolicies()){
+ String regex = ".(\\d)*.xml";
+ if(removedPolicy.getPolicyName().replaceAll(regex, "").equals(stdLoadedPolicy.getPolicyName().replaceAll(regex, ""))){
+ updated = true;
+ break;
+ }
+ }
+ if(updated){
+ stdLoadedPolicy.setUpdateType(UpdateType.UPDATE);
+ }else{
+ stdLoadedPolicy.setUpdateType(UpdateType.NEW);
+ }
+ }else{
+ stdLoadedPolicy.setUpdateType(UpdateType.NEW);
+ }
+ stdLoadedPolicies.add(stdLoadedPolicy);
+ }
+ notification.setLoadedPolicies(stdLoadedPolicies);
return notification;
}
}