From 1202d0e81b6a7483ed168bf662304b8413d4e00a Mon Sep 17 00:00:00 2001 From: Boris Skert Date: Tue, 12 Jun 2018 15:22:14 +0200 Subject: [PATCH] avoid nullpointers in list-typed fields --- .../de/adorsys/smartanalytics/api/AnalyticsRequest.java | 8 ++++---- .../de/adorsys/smartanalytics/api/AnalyticsResult.java | 2 +- .../java/de/adorsys/smartanalytics/api/BookingGroup.java | 3 ++- .../java/de/adorsys/smartanalytics/api/BookingPeriod.java | 3 ++- src/main/java/de/adorsys/smartanalytics/api/Group.java | 6 ++++-- .../java/de/adorsys/smartanalytics/api/GroupConfig.java | 5 +++-- src/main/java/de/adorsys/smartanalytics/api/Rule.java | 3 ++- .../de/adorsys/smartanalytics/api/WrappedBooking.java | 3 ++- 8 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/de/adorsys/smartanalytics/api/AnalyticsRequest.java b/src/main/java/de/adorsys/smartanalytics/api/AnalyticsRequest.java index 77b74b8..d84b068 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/AnalyticsRequest.java +++ b/src/main/java/de/adorsys/smartanalytics/api/AnalyticsRequest.java @@ -22,6 +22,7 @@ import lombok.NoArgsConstructor; import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; @Data @@ -30,9 +31,8 @@ @NoArgsConstructor public class AnalyticsRequest { - private List bookings; - private List customRules; + private List bookings = new ArrayList<>(); + private List customRules = new ArrayList<>(); private GroupConfig groupConfig; - private List contractBlackListMatcher; - + private List contractBlackListMatcher = new ArrayList<>(); } diff --git a/src/main/java/de/adorsys/smartanalytics/api/AnalyticsResult.java b/src/main/java/de/adorsys/smartanalytics/api/AnalyticsResult.java index 87edbb7..54e4ec9 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/AnalyticsResult.java +++ b/src/main/java/de/adorsys/smartanalytics/api/AnalyticsResult.java @@ -30,6 +30,6 @@ public class AnalyticsResult { private RulesStatus rulesStatus; private List bookings = new ArrayList<>(); - private List bookingGroups; + private List bookingGroups = new ArrayList<>(); } diff --git a/src/main/java/de/adorsys/smartanalytics/api/BookingGroup.java b/src/main/java/de/adorsys/smartanalytics/api/BookingGroup.java index 8a9df1f..dabbc25 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/BookingGroup.java +++ b/src/main/java/de/adorsys/smartanalytics/api/BookingGroup.java @@ -21,6 +21,7 @@ import java.math.BigDecimal; import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; @Data @@ -35,7 +36,7 @@ public class BookingGroup { protected Cycle cycle; private BigDecimal amount; - private List bookingPeriods; + private List bookingPeriods = new ArrayList<>(); private String mainCategory; private String subCategory; diff --git a/src/main/java/de/adorsys/smartanalytics/api/BookingPeriod.java b/src/main/java/de/adorsys/smartanalytics/api/BookingPeriod.java index ee16ef2..cc29be8 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/BookingPeriod.java +++ b/src/main/java/de/adorsys/smartanalytics/api/BookingPeriod.java @@ -5,6 +5,7 @@ import java.math.BigDecimal; import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; @Data @@ -14,5 +15,5 @@ public class BookingPeriod { private LocalDate start; private LocalDate end; private BigDecimal amount; - private List bookings; + private List bookings = new ArrayList<>(); } diff --git a/src/main/java/de/adorsys/smartanalytics/api/Group.java b/src/main/java/de/adorsys/smartanalytics/api/Group.java index 6db3421..8d072cd 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/Group.java +++ b/src/main/java/de/adorsys/smartanalytics/api/Group.java @@ -21,6 +21,7 @@ import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.List; @Data @@ -35,7 +36,8 @@ public enum Type { private String name; private Type type; - private List whitelistMatcher; - private List blacklistMatcher; + + private List whitelistMatcher = new ArrayList<>(); + private List blacklistMatcher = new ArrayList<>(); } diff --git a/src/main/java/de/adorsys/smartanalytics/api/GroupConfig.java b/src/main/java/de/adorsys/smartanalytics/api/GroupConfig.java index 6bc9cf9..84e9040 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/GroupConfig.java +++ b/src/main/java/de/adorsys/smartanalytics/api/GroupConfig.java @@ -5,6 +5,7 @@ import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.List; @Data @@ -13,7 +14,7 @@ @NoArgsConstructor public class GroupConfig { - private List groups; - private List recurrentWhiteListMatcher; + private List groups = new ArrayList<>(); + private List recurrentWhiteListMatcher = new ArrayList<>(); } diff --git a/src/main/java/de/adorsys/smartanalytics/api/Rule.java b/src/main/java/de/adorsys/smartanalytics/api/Rule.java index 7ecce43..c4b3db8 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/Rule.java +++ b/src/main/java/de/adorsys/smartanalytics/api/Rule.java @@ -18,6 +18,7 @@ import lombok.Data; +import java.util.HashMap; import java.util.Map; @Data @@ -42,7 +43,7 @@ public enum SIMILARITY_MATCH_TYPE { private String homepage; private String email; - private Map custom; + private Map custom = new HashMap<>(); private boolean stop; private boolean incoming; diff --git a/src/main/java/de/adorsys/smartanalytics/api/WrappedBooking.java b/src/main/java/de/adorsys/smartanalytics/api/WrappedBooking.java index 5a239a1..c35768a 100644 --- a/src/main/java/de/adorsys/smartanalytics/api/WrappedBooking.java +++ b/src/main/java/de/adorsys/smartanalytics/api/WrappedBooking.java @@ -22,6 +22,7 @@ import java.math.BigDecimal; import java.time.LocalDate; +import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -42,7 +43,7 @@ public class WrappedBooking implements Cloneable { private String homepage; private String hotline; private String email; - private Map custom; + private Map custom = new HashMap<>(); private Set usedRules = new HashSet<>(); // *****************************************