Class HibernateNotificationDao
java.lang.Object
org.springframework.dao.support.DaoSupport
com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao<T>
com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao<Notification>
com.atlassian.confluence.mail.notification.persistence.dao.hibernate.HibernateNotificationDao
- All Implemented Interfaces:
NotificationDaoInternal,NotificationDao,org.springframework.beans.factory.InitializingBean
public class HibernateNotificationDao
extends ConfluenceHibernateObjectDao<Notification>
implements NotificationDaoInternal
-
Nested Class Summary
Nested classes/interfaces inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
HibernateObjectDao.Cacheability -
Field Summary
Fields inherited from class org.springframework.dao.support.DaoSupport
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionFind all daily report notifications.findAllNotificationsBySpace(Space space) Find all notifications linked to the specified space regardless of type specified.findAllNotificationsByUser(com.atlassian.user.User user) Find all notifications owned by the specified user, including digest etc.Find the specified user's daily report notification.findGlobalBlogWatchForUser(com.atlassian.user.User user) Find the global blog notification for this user if they have one.findNetworkNotificationByUser(com.atlassian.user.User user) Find the Network notification for this user if they have one.findNotificationById(long id) Find a notification by its IDfindNotificationByUserAndContent(com.atlassian.user.User user, ContentEntityObject content) Find any user notification linked to the specified content.findNotificationByUserAndLabel(com.atlassian.user.User user, Label label) Find any user notification linked to the specified label.findNotificationByUserAndSpace(com.atlassian.user.User user, Space space) Find any user notification linked to the specified space regardless of type.findNotificationByUserAndSpace(com.atlassian.user.User user, String spaceKey) Find any user notification linked to the specified space regardless of type.findNotificationByUserAndSpaceAndType(com.atlassian.user.User user, Space space, ContentTypeEnum type) Find the user notification linked to the specified space with a type specified - may be null if watching the whole space.findNotificationsByContentId(long id) Find all user notification linked to the specified content.findNotificationsByContents(List<ContentEntityObject> contents) findNotificationsByFollowing(com.atlassian.user.User user) findNotificationsByLabel(Label label) findNotificationsBySpaceAndType(Space space, ContentTypeEnum type) Find all notifications linked to the specified space for a certain type.findNotificationsBySpacesAndType(List<Space> spaces, ContentTypeEnum type) Find all notifications linked to the specified spaces for a certain type.findNotificationsByUser(com.atlassian.user.User user) Find the space and page notifications owned by the specified user.Retrieves ids for all notifications in a space.Find the global blog notification for all users.booleanisWatchingContent(@NonNull ConfluenceUser user, @NonNull ContentEntityObject content) Returns true if the given user is directly watching the given content.voidremove(Notification notification) Remove an object from the databaseMethods inherited from class com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao
findNamedQueryStringParams, getContentStatusStringList, getStatusNames, scanFilteredContents, scanFilteredContents, updateModificationDataMethods inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
applyTransactionTimeout, applyTransactionTimeout, checkDaoConfig, createHibernateTemplate, findAll, findAllSorted, findAllSorted, findNamedQuery, findNamedQuery, findNamedQuery, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findSingleObject, getByClassId, getCountResult, getHibernateTemplate, getSessionFactory, publishEvent, reIndex, save, saveEntity, saveRaw, setHibernateTemplate, setSessionFactory, uniqueResultMethods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDaoMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.confluence.internal.notification.persistence.NotificationDaoInternal
findAll, save
-
Constructor Details
-
HibernateNotificationDao
public HibernateNotificationDao()
-
-
Method Details
-
findNotificationsByUser
Description copied from interface:NotificationDaoFind the space and page notifications owned by the specified user.- Specified by:
findNotificationsByUserin interfaceNotificationDao- Returns:
- a list of Notification objects.
-
findAllNotificationsByUser
Description copied from interface:NotificationDaoFind all notifications owned by the specified user, including digest etc.- Specified by:
findAllNotificationsByUserin interfaceNotificationDao- Returns:
- a list of Notification objects.
-
findAllNotificationsBySpace
Description copied from interface:NotificationDaoFind all notifications linked to the specified space regardless of type specified. This does not include notifications for pages in the space.- Specified by:
findAllNotificationsBySpacein interfaceNotificationDao- Returns:
- a list of Notification objects.
-
findPageAndSpaceNotificationIdsFromSpace
Description copied from interface:NotificationDaoRetrieves ids for all notifications in a space. This is useful for large-scale operations such as space exports. The result includes all notifications for the space, including notifications for pages in the space.- Specified by:
findPageAndSpaceNotificationIdsFromSpacein interfaceNotificationDao- Parameters:
space- a space to find the notifications for- Returns:
- ids of all the notifications in the space.
-
findNotificationsBySpaceAndType
Description copied from interface:NotificationDaoFind all notifications linked to the specified space for a certain type.- Specified by:
findNotificationsBySpaceAndTypein interfaceNotificationDao- Returns:
- a list of Notification objects.
-
findNotificationsBySpacesAndType
public List<Notification> findNotificationsBySpacesAndType(List<Space> spaces, ContentTypeEnum type) Description copied from interface:NotificationDaoFind all notifications linked to the specified spaces for a certain type.- Specified by:
findNotificationsBySpacesAndTypein interfaceNotificationDao- Returns:
- a list of Notification objects.
-
findNotificationByUserAndSpace
Description copied from interface:NotificationDaoFind any user notification linked to the specified space regardless of type.- Specified by:
findNotificationByUserAndSpacein interfaceNotificationDao
-
findNotificationByUserAndContent
public Notification findNotificationByUserAndContent(com.atlassian.user.User user, ContentEntityObject content) Description copied from interface:NotificationDaoFind any user notification linked to the specified content.- Specified by:
findNotificationByUserAndContentin interfaceNotificationDao
-
findNotificationsByContent
- Specified by:
findNotificationsByContentin interfaceNotificationDao
-
findNotificationsByContentId
Description copied from interface:NotificationDaoFind all user notification linked to the specified content.- Specified by:
findNotificationsByContentIdin interfaceNotificationDao- Returns:
- All the notifications active for that content
-
findNotificationsByContents
- Specified by:
findNotificationsByContentsin interfaceNotificationDao
-
findNotificationByUserAndLabel
Description copied from interface:NotificationDaoFind any user notification linked to the specified label.- Specified by:
findNotificationByUserAndLabelin interfaceNotificationDao
-
findNotificationsByLabel
- Specified by:
findNotificationsByLabelin interfaceNotificationDao
-
findNotificationByUserAndSpace
Description copied from interface:NotificationDaoFind any user notification linked to the specified space regardless of type.- Specified by:
findNotificationByUserAndSpacein interfaceNotificationDao
-
findNotificationByUserAndSpaceAndType
public Notification findNotificationByUserAndSpaceAndType(com.atlassian.user.User user, Space space, ContentTypeEnum type) Description copied from interface:NotificationDaoFind the user notification linked to the specified space with a type specified - may be null if watching the whole space.- Specified by:
findNotificationByUserAndSpaceAndTypein interfaceNotificationDao
-
findDailyReportNotification
Description copied from interface:NotificationDaoFind the specified user's daily report notification.- Specified by:
findDailyReportNotificationin interfaceNotificationDao- Returns:
- a notification object or null if no daily report notification exists for the specified user.
-
findAllDailyReportNotifications
Description copied from interface:NotificationDaoFind all daily report notifications. These notifications are not associated with a page OR a space.- Specified by:
findAllDailyReportNotificationsin interfaceNotificationDao- Returns:
- a list of notifications.
-
findGlobalBlogWatchForUser
Find the global blog notification for this user if they have one.- Specified by:
findGlobalBlogWatchForUserin interfaceNotificationDao
-
findNetworkNotificationByUser
Find the Network notification for this user if they have one.- Specified by:
findNetworkNotificationByUserin interfaceNotificationDao
-
findSiteBlogNotifications
Description copied from interface:NotificationDaoFind the global blog notification for all users.- Specified by:
findSiteBlogNotificationsin interfaceNotificationDao
-
findNotificationsByFollowing
- Specified by:
findNotificationsByFollowingin interfaceNotificationDao
-
findNotificationById
Description copied from interface:NotificationDaoFind a notification by its ID- Specified by:
findNotificationByIdin interfaceNotificationDao
-
isWatchingContent
public boolean isWatchingContent(@NonNull ConfluenceUser user, @NonNull ContentEntityObject content) Description copied from interface:NotificationDaoReturns true if the given user is directly watching the given content.- Specified by:
isWatchingContentin interfaceNotificationDao- Parameters:
user- user to checkcontent- content to check- Returns:
- true if the given user is directly watching the given content
-
getPersistentClass
- Specified by:
getPersistentClassin classHibernateObjectDao<Notification>
-
remove
Description copied from class:HibernateObjectDaoRemove an object from the database- Specified by:
removein interfaceNotificationDaoInternal- Overrides:
removein classHibernateObjectDao<Notification>- Parameters:
notification- the object to remove
-