Package com.jalios.jcms
Class NotificationThread
- java.lang.Object
-
- com.jalios.jcms.NotificationThread
-
- All Implemented Interfaces:
java.lang.Runnable
public class NotificationThread extends java.lang.Object implements java.lang.Runnable
Creates and sends customized emails to the appropriate members.- Retrieve all groups and all members having requested notification for the period being currently handled.
- Retrieve all changes between now and now minus period
- 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)
- 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.
-
-
Constructor Summary
Constructors Constructor Description NotificationThread(int period)
Constructor, creates a new notification thread for the specified period.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
run()
void
start()
Starts the Notification Thread.
-
-
-
Constructor Detail
-
NotificationThread
public NotificationThread(int period)
Constructor, creates a new notification thread for the specified period. This constructors will not perform any heavy processing, you must invoke method start() to launch thread.- Parameters:
period
- a period constant from :NotificationManager.MINUTED
,NotificationManager.HOURLY
,NotificationManager.DAILY
,NotificationManager.WEEKLY
orNotificationManager.MONTHLY
-
-