com.jalios.jcms
Class NotificationThread
java.lang.Object
com.jalios.jcms.NotificationThread
- All Implemented Interfaces:
- Runnable
public class NotificationThread
- extends Object
- implements Runnable
Creates and sends customized emails to the appropriate members.
- Retrieve all changes between now and now-period
- Retrieve all groups and all members having requested notification for the period
being currently handled.
- Builds a set containing each member either belonging to a matching group or having the matching period
('matching' means the 'period' attribute value equals the current period)
- For each member:
If the member's attribute 'inheritsFromGroupsNotificationCriteria' is true:
- Retrieves all groups this member belongs to
- For each group which has indeed a period that is equal to the current processed period:
- Retrieves the notification selection criteria of the group and executes the query,
whith 'member' as loggedMember attribute of the QueryHandler
- Puts the result of the query in the publications set associated with this member
via a member|publications Map (as these publications are gathered in a set, there is no doublon)
For each query the user has chosen:
- Apply the query to the set of changed or created publications
- Matching publications are selected only if not previously selected
- The map user|publications is completed
- When all members have been processed, messages are sent.
- Version:
- $Revision: 19040 $
Method Summary |
static Map |
buildMemberPublicationSetMap(Set memberSet,
int period)
This methods finds for each given members the publications matching notification criterias of given period |
static Set |
getMatchingPubSet(Member mbr,
Set createSet,
Set majorUpdateSet,
Set allUpdateSet,
int period)
|
Set |
getToBeNotifiedMemberSet()
This methods finds and return a set of members:
- having a notification matching instance's period
- from group having a notification matching instance's period |
void |
run()
|
void |
sendMessages(Map mbrPubSetMap)
Builds and sends messages containing publication notifications to corresponding members |
void |
start()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
REVISION
public static final String REVISION
- See Also:
- Constant Field Values
thread
protected Thread thread
period
protected int period
newline
protected String newline
output
protected StringBuffer output
session
protected javax.mail.Session session
NotificationThread
public NotificationThread(int period)
start
public void start()
run
public void run()
- Specified by:
run
in interface Runnable
getToBeNotifiedMemberSet
public Set getToBeNotifiedMemberSet()
- This methods finds and return a set of members:
- having a notification matching instance's period
- from group having a notification matching instance's period
- Returns:
- a set of all members which are to be notified
buildMemberPublicationSetMap
public static Map buildMemberPublicationSetMap(Set memberSet,
int period)
- This methods finds for each given members the publications matching notification criterias of given period
- Parameters:
memberSet
- the set of member we need to find publicationsperiod
- the period to match critera
- Returns:
- the publications matching notification criterias of given period
getMatchingPubSet
public static Set getMatchingPubSet(Member mbr,
Set createSet,
Set majorUpdateSet,
Set allUpdateSet,
int period)
sendMessages
public void sendMessages(Map mbrPubSetMap)
- Builds and sends messages containing publication notifications to corresponding members
Copyright © 2001-2007 Jalios SA. All Rights Reserved.