com.silverpeas.notification.delayed
Class DelayedNotificationManager
java.lang.Object
com.silverpeas.notification.delayed.DelayedNotificationManager
- All Implemented Interfaces:
- DelayedNotification
@Service
@Transactional
public class DelayedNotificationManager
- extends Object
- implements DelayedNotification
- Author:
- Yohann Chastagnier
Method Summary |
int |
deleteDelayedNotifications(Collection<Long> ids)
|
void |
deleteDelayedNotificationUserSetting(DelayedNotificationUserSetting delayedNotificationUserSetting)
|
void |
deleteDelayedNotificationUserSetting(int id)
|
List<Integer> |
findAllUsersToBeNotified(Set<NotifChannel> aimedChannels)
|
Map<NotifChannel,List<DelayedNotificationData>> |
findDelayedNotificationByUserIdGroupByChannel(int userId,
Set<NotifChannel> aimedChannels)
|
List<DelayedNotificationUserSetting> |
findDelayedNotificationUserSettingByUserId(int userId)
|
List<Integer> |
findUsersToBeNotified(Date date,
Set<NotifChannel> aimedChannels,
DelayedNotificationFrequency defaultDelayedNotificationFrequency)
|
DelayedNotificationFrequency |
getDefaultDelayedNotificationFrequency()
Gets the default frequency from the file of notification manager settings. |
DelayedNotificationUserSetting |
getDelayedNotificationUserSetting(int id)
|
DelayedNotificationUserSetting |
getDelayedNotificationUserSettingByUserIdAndChannel(int userId,
NotifChannel channel)
|
NotificationResourceData |
getExistingResource(String resourceId,
String resourceType,
String componentInstanceId)
|
Set<DelayedNotificationFrequency> |
getPossibleFrequencies()
Gets the possible frequencies. |
DelayedNotificationFrequency |
getUserFrequency(Integer userId,
NotifChannel channel)
Gets the user notification frequency |
Set<NotifChannel> |
getWiredChannels()
For now, only the SMTP channel can be delayed (mail) |
void |
saveDelayedNotification(DelayedNotificationData delayedNotificationData)
|
DelayedNotificationUserSetting |
saveDelayedNotificationUserSetting(int userId,
NotifChannel channel,
DelayedNotificationFrequency frequency)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DelayedNotificationManager
public DelayedNotificationManager()
findDelayedNotificationByUserIdGroupByChannel
@Transactional(readOnly=true)
public Map<NotifChannel,List<DelayedNotificationData>> findDelayedNotificationByUserIdGroupByChannel(int userId,
Set<NotifChannel> aimedChannels)
- Specified by:
findDelayedNotificationByUserIdGroupByChannel
in interface DelayedNotification
findAllUsersToBeNotified
@Transactional(readOnly=true)
public List<Integer> findAllUsersToBeNotified(Set<NotifChannel> aimedChannels)
- Specified by:
findAllUsersToBeNotified
in interface DelayedNotification
findUsersToBeNotified
@Transactional(readOnly=true)
public List<Integer> findUsersToBeNotified(Date date,
Set<NotifChannel> aimedChannels,
DelayedNotificationFrequency defaultDelayedNotificationFrequency)
- Specified by:
findUsersToBeNotified
in interface DelayedNotification
saveDelayedNotification
public void saveDelayedNotification(DelayedNotificationData delayedNotificationData)
- Specified by:
saveDelayedNotification
in interface DelayedNotification
deleteDelayedNotifications
public int deleteDelayedNotifications(Collection<Long> ids)
- Specified by:
deleteDelayedNotifications
in interface DelayedNotification
getExistingResource
@Transactional(readOnly=true)
public NotificationResourceData getExistingResource(String resourceId,
String resourceType,
String componentInstanceId)
- Specified by:
getExistingResource
in interface DelayedNotification
getDelayedNotificationUserSetting
@Transactional(readOnly=true)
public DelayedNotificationUserSetting getDelayedNotificationUserSetting(int id)
- Specified by:
getDelayedNotificationUserSetting
in interface DelayedNotification
findDelayedNotificationUserSettingByUserId
@Transactional(readOnly=true)
public List<DelayedNotificationUserSetting> findDelayedNotificationUserSettingByUserId(int userId)
- Specified by:
findDelayedNotificationUserSettingByUserId
in interface DelayedNotification
getDelayedNotificationUserSettingByUserIdAndChannel
@Transactional(readOnly=true)
public DelayedNotificationUserSetting getDelayedNotificationUserSettingByUserIdAndChannel(int userId,
NotifChannel channel)
- Specified by:
getDelayedNotificationUserSettingByUserIdAndChannel
in interface DelayedNotification
saveDelayedNotificationUserSetting
public DelayedNotificationUserSetting saveDelayedNotificationUserSetting(int userId,
NotifChannel channel,
DelayedNotificationFrequency frequency)
- Specified by:
saveDelayedNotificationUserSetting
in interface DelayedNotification
deleteDelayedNotificationUserSetting
public void deleteDelayedNotificationUserSetting(int id)
- Specified by:
deleteDelayedNotificationUserSetting
in interface DelayedNotification
deleteDelayedNotificationUserSetting
public void deleteDelayedNotificationUserSetting(DelayedNotificationUserSetting delayedNotificationUserSetting)
- Specified by:
deleteDelayedNotificationUserSetting
in interface DelayedNotification
getWiredChannels
@Transactional(propagation=NOT_SUPPORTED)
public Set<NotifChannel> getWiredChannels()
- Description copied from interface:
DelayedNotification
- For now, only the SMTP channel can be delayed (mail)
- Specified by:
getWiredChannels
in interface DelayedNotification
- Returns:
getPossibleFrequencies
@Transactional(propagation=NOT_SUPPORTED)
public Set<DelayedNotificationFrequency> getPossibleFrequencies()
- Description copied from interface:
DelayedNotification
- Gets the possible frequencies. At least, the default frequency.
- Specified by:
getPossibleFrequencies
in interface DelayedNotification
- Returns:
getDefaultDelayedNotificationFrequency
@Transactional(propagation=NOT_SUPPORTED)
public DelayedNotificationFrequency getDefaultDelayedNotificationFrequency()
- Description copied from interface:
DelayedNotification
- Gets the default frequency from the file of notification manager settings. If that not exists,
DelayedNotificationFrequency.NONE is returned.
- Specified by:
getDefaultDelayedNotificationFrequency
in interface DelayedNotification
- Returns:
getUserFrequency
@Transactional(readOnly=true)
public DelayedNotificationFrequency getUserFrequency(Integer userId,
NotifChannel channel)
- Description copied from interface:
DelayedNotification
- Gets the user notification frequency
- Specified by:
getUserFrequency
in interface DelayedNotification
- Returns:
Copyright © 2016 Silverpeas. All Rights Reserved.