Scarab commit: svn commit: r11000 - trunk/src/java/org/tigris/scarab/notification/ScarabNotificationManager.java

[email protected] Tue, 20 Apr 2010 12:01:18 -0700 (PDT)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: dabbous
Date: 2010-04-20 12:01:18-0700
New Revision: 11000

Modified:
   trunk/src/java/org/tigris/scarab/notification/ScarabNotificationManager.java

Log:
Code refactoring (no Issue ID)
Enhanced sorting of NotificationStatus instances for nicer EMail structure (experimental)

Modified: trunk/src/java/org/tigris/scarab/notification/ScarabNotificationManager.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/notification/ScarabNotificationManager.java?view=diff&pathrev=11000&r1=10999&r2=11000
==============================================================================
--- trunk/src/java/org/tigris/scarab/notification/ScarabNotificationManager.java	(original)
+++ trunk/src/java/org/tigris/scarab/notification/ScarabNotificationManager.java	2010-04-20 12:01:18-0700
@@ -943,30 +943,40 @@
 
 
     /**
+     * Add a notification to the Map of user activities. 
+     * The user activities are sorted according to their activityType.
+     * This is later used to create the EMail content sorted by activityType.
      * @param notification
      * @param userActivities
      */
-    private void addActivity(NotificationStatus notification, Map userActivities)
+    private void addActivity(NotificationStatus notification, Map<LocalizationKey,List<NotificationStatus>> userActivities)
     {
+
+        // Find the ActivityGroupNotificationList to which 
+        // the current Notification shall be added.
+        // If none does yet exist, silently create a new entry
+        
         LocalizationKey activityGroup = getActivityGroup(notification.getActivityType());
-        List typeNotifications = (List) userActivities.get(activityGroup);
-        if (null == typeNotifications)
+        List<NotificationStatus> activityGroupNotificationList = userActivities.get(activityGroup);
+        if (null == activityGroupNotificationList)
         {
-            typeNotifications = new ArrayList();
-            userActivities.put(activityGroup, typeNotifications);
+            activityGroupNotificationList = new ArrayList<NotificationStatus>();
+            userActivities.put(activityGroup, activityGroupNotificationList);
         }
         
         // 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; )
+        for (Iterator<NotificationStatus> it = activityGroupNotificationList.iterator(); it.hasNext() && !bAlreadyPresent; )
         {
-            NotificationStatus not = (NotificationStatus)it.next();
+            NotificationStatus not = it.next();
             bAlreadyPresent = (not.getActivityId().equals(notification.getActivityId()));
         }
+        
         if (!bAlreadyPresent)
         {
-            typeNotifications.add(notification);
+            activityGroupNotificationList.add(notification);
         }
     }

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2590732