Class DatabaseBasedAdaptiveLabelCacheDaoImpl

java.lang.Object
com.atlassian.confluence.impl.labels.adaptivelabelcache.dao.DatabaseBasedAdaptiveLabelCacheDaoImpl
All Implemented Interfaces:
AdaptiveLabelCacheDao

public class DatabaseBasedAdaptiveLabelCacheDaoImpl extends Object implements AdaptiveLabelCacheDao
An implementation which uses a separate table for storing persisted data
Since:
7.7.0
  • Constructor Details

    • DatabaseBasedAdaptiveLabelCacheDaoImpl

      public DatabaseBasedAdaptiveLabelCacheDaoImpl(org.hibernate.SessionFactory sessionFactory, SpaceDao spaceDao)
  • Method Details

    • read

      public LiteSearchResultCacheEntry read(long spaceId)
      Description copied from interface: AdaptiveLabelCacheDao
      Reads cached record by space id. If cached record is expired, it will be returned anyway
      Specified by:
      read in interface AdaptiveLabelCacheDao
      Parameters:
      spaceId - - space id
      Returns:
      cached data
    • clear

      public void clear()
      Description copied from interface: AdaptiveLabelCacheDao
      Clears all the records
      Specified by:
      clear in interface AdaptiveLabelCacheDao
    • removeRecordsExpiredAfter

      public void removeRecordsExpiredAfter(long timestamp)
      Description copied from interface: AdaptiveLabelCacheDao
      Clears expired records
      Specified by:
      removeRecordsExpiredAfter in interface AdaptiveLabelCacheDao
      Parameters:
      timestamp - - timestamp
    • removeRecord

      public void removeRecord(long spaceId)
      Description copied from interface: AdaptiveLabelCacheDao
      Removes a record
      Specified by:
      removeRecord in interface AdaptiveLabelCacheDao
      Parameters:
      spaceId - - space id
    • write

      public void write(long spaceId, LiteSearchResultCacheEntry cacheEntry)
      Description copied from interface: AdaptiveLabelCacheDao
      Writes cached data to the persistent cache A previous record will be overwritten
      Specified by:
      write in interface AdaptiveLabelCacheDao
      Parameters:
      spaceId - - space id
      cacheEntry - - cache entry
    • getSpaceKeyFromSpaceId

      public String getSpaceKeyFromSpaceId(long spaceId)
      LabelManager does not work with space ids (only with space keys) So this method is required to retrieve spaces and get their keys Could be removed when LabelManager start supporting finding most used labels by space id
      Specified by:
      getSpaceKeyFromSpaceId in interface AdaptiveLabelCacheDao
      Parameters:
      spaceId - - space id
      Returns:
      space key
      Since:
      7.7.0
    • getSpaceIdByKey

      public long getSpaceIdByKey(String spaceKey)
      LabelManager does not work with space ids (only with space keys) So this method is required to retrieve spaces and get their ids Could be removed when LabelManager start supporting finding most used labels by space id
      Specified by:
      getSpaceIdByKey in interface AdaptiveLabelCacheDao
      Parameters:
      spaceKey - - space key
      Returns:
      space key
      Since:
      7.7.0