Scarab commit: svn commit: r10298 - branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java

[email protected]
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: jorgeuriarte
Date: 2006-09-17 15:33:17-0700
New Revision: 10298

Modified:
   branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java

Log:
Trying to fix SCB1953. The archiver was receiving multiple notifications for the same activity. Also, a null reason was added to the consolidated reasons list that was sent to the email template.

Modified: branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java?view=diff&rev=10298&p1=branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java&p2=branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java&r1=10297&r2=10298
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java	2006-09-17 15:33:17-0700
@@ -536,7 +536,7 @@
             {
                 NotificationStatus ns = (NotificationStatus)nots.next();
                 String comment = ns.getComment();
-                if (!set.contains(comment))
+                if (comment != null && !set.contains(comment))
                 {
                     set.add(comment);
                     list.add(comment);
@@ -725,7 +725,19 @@
             typeNotifications = new ArrayList();
             userActivities.put(activityGroup, typeNotifications);
         }
-        typeNotifications.add(notification);
+        
+        // We will only add this notification to the user's list if it's not
+        // already present.
+        boolean bAlreadyPresent = false;
+        for (Iterator it = typeNotifications.iterator(); it.hasNext() && !bAlreadyPresent; )
+        {
+            NotificationStatus not = (NotificationStatus)it.next();
+            bAlreadyPresent = (not.getActivityId().equals(notification.getActivityId()));
+        }
+        if (!bAlreadyPresent)
+        {
+            typeNotifications.add(notification);
+        }
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.