Class HibernateNotificationDao
- java.lang.Object
-
- org.springframework.dao.support.DaoSupport
-
- com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao<T>
-
- com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao<T>
-
- com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao<Notification>
-
- com.atlassian.confluence.mail.notification.persistence.dao.hibernate.HibernateNotificationDao
-
- All Implemented Interfaces:
ObjectDao,VersionedObjectDao<Notification>,NotificationDaoInternal,ObjectDaoInternal<Notification>,VersionedObjectDaoInternal<Notification>,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 com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
cacheFactory, confluenceUserDao
-
-
Constructor Summary
Constructors Constructor Description HibernateNotificationDao()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Notification>findAllDailyReportNotifications()Find all daily report notifications.List<Notification>findAllNotificationsBySpace(Space space)Find all notifications linked to the specified space regardless of type specified.List<Notification>findAllNotificationsByUser(com.atlassian.user.User user)Find all notifications owned by the specified user, including digest etc.NotificationfindDailyReportNotification(String username)Find the specified user's daily report notification.NotificationfindGlobalBlogWatchForUser(com.atlassian.user.User user)Find the global blog notification for this user if they have one.NotificationfindNetworkNotificationByUser(com.atlassian.user.User user)Find the Network notification for this user if they have one.NotificationfindNotificationById(long id)Find a notification by its IDNotificationfindNotificationByUserAndContent(com.atlassian.user.User user, ContentEntityObject content)Find any user notification linked to the specified content.NotificationfindNotificationByUserAndLabel(com.atlassian.user.User user, Label label)Find any user notification linked to the specified label.NotificationfindNotificationByUserAndSpace(com.atlassian.user.User user, Space space)Find any user notification linked to the specified space regardless of type.NotificationfindNotificationByUserAndSpace(com.atlassian.user.User user, String spaceKey)Find any user notification linked to the specified space regardless of type.NotificationfindNotificationByUserAndSpaceAndType(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.List<Notification>findNotificationsByContent(ContentEntityObject content)List<Notification>findNotificationsByContents(List<ContentEntityObject> contents)List<Notification>findNotificationsByFollowing(com.atlassian.user.User user)List<Notification>findNotificationsByLabel(Label label)List<Notification>findNotificationsBySpaceAndType(Space space, ContentTypeEnum type)Find all notifications linked to the specified space for a certain type.List<Notification>findNotificationsBySpacesAndType(List<Space> spaces, ContentTypeEnum type)Find all notifications linked to the specified spaces for a certain type.List<Notification>findNotificationsByUser(com.atlassian.user.User user)Find the space and page notifications owned by the specified user.Iterable<Long>findPageAndSpaceNotificationIdsFromSpace(Space space)Retrieves ids for all notifications in a space.List<Notification>findSiteBlogNotifications()Find the global blog notification for all users.Class<Notification>getPersistentClass()Gets the type ofEntityObjectthis Dao works with.booleanisWatchingContent(@NonNull ConfluenceUser user, @NonNull ContentEntityObject content)Returns true if the given user is directly watching the given content.-
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
findAllSorted, findLatestVersionsCount, findLatestVersionsCount, findLatestVersionsIterator, findLatestVersionsIterator, findNamedQueryStringParams, findNamedQueryStringParams, save, saveEntity, setCacheFactory, setConfluenceUserDao, updateEntityModificationData, updateModificationData
-
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
applyTransactionTimeout, applyTransactionTimeout, checkDaoConfig, createHibernateTemplate, findAll, findAllSorted, findByClassIds, findByClassIdsFiltered, findNamedQuery, findNamedQuery, findNamedQuery, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findSingleObject, getByClassId, getCountResult, getHibernateTemplate, getSessionFactory, index, indexEntity, refresh, refreshEntity, reIndex, reIndexEntity, remove, removeEntity, replicate, replicateEntity, save, saveEntity, saveRaw, saveRawEntity, setEventPublisher, setHibernateTemplate, setIndexer, setSessionFactory, unIndex, unIndexEntity, uniqueResult
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.atlassian.confluence.internal.persistence.ObjectDaoInternal
findAll, findAllSorted, findAllSorted, findByClassIds, findByClassIdsFiltered, refresh, refreshEntity, remove, removeEntity, replicate, replicateEntity, save, saveEntity, saveRaw, saveRawEntity
-
-
-
-
Method Detail
-
findNotificationsByUser
public List<Notification> findNotificationsByUser(com.atlassian.user.User user)
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
public List<Notification> findAllNotificationsByUser(com.atlassian.user.User user)
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
public List<Notification> findAllNotificationsBySpace(Space space)
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
public Iterable<Long> findPageAndSpaceNotificationIdsFromSpace(Space space)
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
public List<Notification> findNotificationsBySpaceAndType(Space space, ContentTypeEnum type)
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
public Notification findNotificationByUserAndSpace(com.atlassian.user.User user, Space space)
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
public List<Notification> findNotificationsByContent(ContentEntityObject content)
- Specified by:
findNotificationsByContentin interfaceNotificationDao
-
findNotificationsByContents
public List<Notification> findNotificationsByContents(List<ContentEntityObject> contents)
- Specified by:
findNotificationsByContentsin interfaceNotificationDao
-
findNotificationByUserAndLabel
public Notification findNotificationByUserAndLabel(com.atlassian.user.User user, Label label)
Description copied from interface:NotificationDaoFind any user notification linked to the specified label.- Specified by:
findNotificationByUserAndLabelin interfaceNotificationDao
-
findNotificationsByLabel
public List<Notification> findNotificationsByLabel(Label label)
- Specified by:
findNotificationsByLabelin interfaceNotificationDao
-
findNotificationByUserAndSpace
public Notification findNotificationByUserAndSpace(com.atlassian.user.User user, String spaceKey)
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
public Notification findDailyReportNotification(String username)
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
public List<Notification> 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
public Notification findGlobalBlogWatchForUser(com.atlassian.user.User user)
Find the global blog notification for this user if they have one.- Specified by:
findGlobalBlogWatchForUserin interfaceNotificationDao
-
findNetworkNotificationByUser
public Notification findNetworkNotificationByUser(com.atlassian.user.User user)
Find the Network notification for this user if they have one.- Specified by:
findNetworkNotificationByUserin interfaceNotificationDao
-
findSiteBlogNotifications
public List<Notification> findSiteBlogNotifications()
Description copied from interface:NotificationDaoFind the global blog notification for all users.- Specified by:
findSiteBlogNotificationsin interfaceNotificationDao
-
findNotificationsByFollowing
public List<Notification> findNotificationsByFollowing(com.atlassian.user.User user)
- Specified by:
findNotificationsByFollowingin interfaceNotificationDao
-
findNotificationById
public Notification findNotificationById(long id)
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
public Class<Notification> getPersistentClass()
Description copied from interface:ObjectDaoInternalGets the type ofEntityObjectthis Dao works with.- Specified by:
getPersistentClassin interfaceObjectDao- Specified by:
getPersistentClassin interfaceObjectDaoInternal<Notification>- Returns:
- the type
-
-