Class DelayedNotificationManager
- java.lang.Object
-
- org.silverpeas.core.notification.user.delayed.DelayedNotificationManager
-
- All Implemented Interfaces:
DelayedNotification
@Service public class DelayedNotificationManager extends Object implements DelayedNotification
- Author:
- Yohann Chastagnier
-
-
Constructor Summary
Constructors Constructor Description DelayedNotificationManager()
-
Method Summary
-
-
-
Method Detail
-
findDelayedNotificationByUserIdGroupByChannel
public Map<NotifChannel,List<DelayedNotificationData>> findDelayedNotificationByUserIdGroupByChannel(int userId, Set<NotifChannel> aimedChannels)
- Specified by:
findDelayedNotificationByUserIdGroupByChannel
in interfaceDelayedNotification
-
findAllUsersToBeNotified
public List<Integer> findAllUsersToBeNotified(Set<NotifChannel> aimedChannels)
- Specified by:
findAllUsersToBeNotified
in interfaceDelayedNotification
-
findUsersToBeNotified
public List<Integer> findUsersToBeNotified(Date date, Set<NotifChannel> aimedChannels, DelayedNotificationFrequency defaultDelayedNotificationFrequency)
- Specified by:
findUsersToBeNotified
in interfaceDelayedNotification
-
saveDelayedNotification
public void saveDelayedNotification(DelayedNotificationData delayedNotificationData)
- Specified by:
saveDelayedNotification
in interfaceDelayedNotification
-
deleteDelayedNotifications
public int deleteDelayedNotifications(Collection<Long> ids)
- Specified by:
deleteDelayedNotifications
in interfaceDelayedNotification
-
getExistingResource
public NotificationResourceData getExistingResource(String resourceId, String resourceType, String componentInstanceId)
- Specified by:
getExistingResource
in interfaceDelayedNotification
-
getDelayedNotificationUserSetting
public DelayedNotificationUserSetting getDelayedNotificationUserSetting(int id)
- Specified by:
getDelayedNotificationUserSetting
in interfaceDelayedNotification
-
findDelayedNotificationUserSettingByUserId
public List<DelayedNotificationUserSetting> findDelayedNotificationUserSettingByUserId(int userId)
- Specified by:
findDelayedNotificationUserSettingByUserId
in interfaceDelayedNotification
-
getDelayedNotificationUserSettingByUserIdAndChannel
public DelayedNotificationUserSetting getDelayedNotificationUserSettingByUserIdAndChannel(int userId, NotifChannel channel)
- Specified by:
getDelayedNotificationUserSettingByUserIdAndChannel
in interfaceDelayedNotification
-
saveDelayedNotificationUserSetting
public DelayedNotificationUserSetting saveDelayedNotificationUserSetting(int userId, NotifChannel channel, DelayedNotificationFrequency frequency)
- Specified by:
saveDelayedNotificationUserSetting
in interfaceDelayedNotification
-
deleteDelayedNotificationUserSetting
public void deleteDelayedNotificationUserSetting(int id)
- Specified by:
deleteDelayedNotificationUserSetting
in interfaceDelayedNotification
-
deleteDelayedNotificationUserSetting
public void deleteDelayedNotificationUserSetting(DelayedNotificationUserSetting delayedNotificationUserSetting)
- Specified by:
deleteDelayedNotificationUserSetting
in interfaceDelayedNotification
-
getWiredChannels
public Set<NotifChannel> getWiredChannels()
Description copied from interface:DelayedNotification
For now, only the SMTP channel can be delayed (mail)- Specified by:
getWiredChannels
in interfaceDelayedNotification
- Returns:
-
getPossibleFrequencies
public Set<DelayedNotificationFrequency> getPossibleFrequencies()
Description copied from interface:DelayedNotification
Gets the possible frequencies. At least, the default frequency.- Specified by:
getPossibleFrequencies
in interfaceDelayedNotification
- Returns:
-
getDefaultDelayedNotificationFrequency
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 interfaceDelayedNotification
- Returns:
-
getUserFrequency
public DelayedNotificationFrequency getUserFrequency(Integer userId, NotifChannel channel)
Description copied from interface:DelayedNotification
Gets the user notification frequency- Specified by:
getUserFrequency
in interfaceDelayedNotification
- Returns:
-
-