Scarab commit: svn commit: r10360 - branches/release/b21/src/java/org/tigris/scarab: notification om

[email protected]
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: ronvoe122
Date: 2006-11-15 04:17:21-0800
New Revision: 10360

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

Log:
[SCB2144] add all users, which are removed from an issue in a specific activity-set to the notification queue.
So this users will also be notified about their removal from the issue.

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=10360&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=10359&r2=10360
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java	2006-11-15 04:17:21-0800
@@ -158,6 +158,7 @@
                     Issue actIssue = act.getIssue();
                     Set users = issue.getAllUsersToEmail(AttributePeer.EMAIL_TO);
                     users.addAll(actIssue.getAllUsersToEmail(AttributePeer.CC_TO));
+                    users.addAll(activitySet.getRemovedUsers(issue));
                     
                     // FIXME: Should we still make difference between CC & TO? If so...
                     // ...do we need this info in the notification_status table??

Modified: branches/release/b21/src/java/org/tigris/scarab/om/ActivitySet.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/b21/src/java/org/tigris/scarab/om/ActivitySet.java?view=diff&rev=10360&p1=branches/release/b21/src/java/org/tigris/scarab/om/ActivitySet.java&p2=branches/release/b21/src/java/org/tigris/scarab/om/ActivitySet.java&r1=10359&r2=10360
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/om/ActivitySet.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/om/ActivitySet.java	2006-11-15 04:17:21-0800
@@ -48,12 +48,16 @@
 
 import java.util.List;
 import java.util.Iterator;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.torque.TorqueException;
 import org.apache.torque.util.Criteria; 
 
 import org.apache.torque.om.Persistent;
 
+import org.tigris.scarab.om.ScarabUser;
+import org.tigris.scarab.om.ScarabUserManager;
 import org.tigris.scarab.tools.ScarabLocalizationTool;
 import org.tigris.scarab.tools.localization.L10NKeySet;
 import org.tigris.scarab.util.ScarabException;
@@ -163,4 +167,23 @@
         }
         return reason;
     }
+
+    /**
+     * Returns a set of ScarabUsers which are removed from changedIssue
+     * in this ActivitySet
+     */
+    public Set getRemovedUsers(Issue changedIssue) throws TorqueException
+    {
+        Set removedUsers = new HashSet();
+        for (Iterator it = getActivityListForIssue(changedIssue).iterator(); it.hasNext(); )
+        {
+            Activity act = (Activity)it.next();
+            if(act.getOldUserId() != null && act.getNewUserId() == null)
+            {
+                ScarabUser removedUser = ScarabUserManager.getInstance(act.getOldUserId());
+                removedUsers.add(removedUser);
+            }
+        }
+        return removedUsers;
+    }
 }
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.