Scarab commit: svn commit: r10360 - branches/release/b21/src/java/org/tigris/scarab: notification om
| 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;
+ }
}