From f63a8dea81f189cc767261c7577012f36e69476e Mon Sep 17 00:00:00 2001 From: Anh3h Date: Mon, 21 Jan 2019 12:21:24 -0500 Subject: [PATCH] Fix bug in generating notification. When querying the users required to get a notification, add new topic subscribers to the current set of subscribers, instead of replacing the currents set of subscribers with the new topic subscribers. --- .../notification/service/NotificationDomainServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java index f6c8e4c3751..c8981a636df 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java @@ -51,7 +51,9 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.Map; @Service @@ -583,7 +585,7 @@ private void buildNotification(String permission, String objectType, Long object private List retrieveSubscribers(Long officeId, String permission) { - Collection topicSubscribers = new ArrayList<>(); + Set topicSubscribers = new HashSet<>(); List subscriberIds = new ArrayList<>(); Long entityId = officeId; String entityType= ""; @@ -596,7 +598,7 @@ private List retrieveSubscribers(Long officeId, String permission) { for (Role curRole : allRoles) { if (curRole.hasPermissionTo(permission) || curRole.hasPermissionTo("ALL_FUNCTIONS")) { String memberType = curRole.getName(); - topicSubscribers = topicSubscriberReadPlatformService.getSubscribers(entityId, entityType, memberType); + topicSubscribers.addAll(topicSubscriberReadPlatformService.getSubscribers(entityId, entityType, memberType)); } }