public class CachingPortalPageStore extends Object implements PortalPageStore
PortalPage
. The cache stores a id -> PortalPage and a
portalPage.owner -> id mapping.Constructor and Description |
---|
CachingPortalPageStore(PortalPageStore delegateStore,
com.atlassian.cache.CacheManager cacheManager) |
Modifier and Type | Method and Description |
---|---|
PortalPage |
adjustFavouriteCount(SharedEntity portalPage,
int incrementValue)
Updates the favourite count of the PortalPage in the database.
|
PortalPage |
create(PortalPage portalPage)
Creates a PortalPage in the database
|
void |
delete(Long portalPageId)
Deletes the PortalPage with the specified portalPageId
|
void |
flush()
Flushes any caches that may exist
|
EnclosedIterable<PortalPage> |
get(SharedEntityAccessor.RetrievalDescriptor ids)
Get a
EnclosedIterable of PortalPages for the specified List of ids. |
EnclosedIterable<PortalPage> |
getAll()
Get a
EnclosedIterable of all PortalPages in the database. |
Collection<PortalPage> |
getAllOwnedPortalPages(ApplicationUser owner)
Gets all the PortalPage's owned by the specified User
|
Collection<PortalPage> |
getAllOwnedPortalPages(String userKey)
Gets all the PortalPage's owned by the specified User
|
PortalPage |
getPortalPage(Long portalPageId)
Gets the PortalPage with the specified portalPageId
|
PortalPage |
getPortalPageByOwnerAndName(ApplicationUser owner,
String portalPageName)
Gets the specified PortalPage that is owned by the User and has the specified portalPageName
|
PortalPage |
getSystemDefaultPortalPage()
Goes to the database and fetches the system default dashboard configuration.
|
void |
onClearCache(ClearCacheEvent event) |
void |
onUserKeyInPortalPageFKChangedEvent(UserKeyInPortalPageFKChangedEvent event) |
PortalPage |
update(PortalPage portalPage)
Updates the PortalPage in the database.
|
boolean |
updatePortalPageOptimisticLock(Long portalPageId,
Long currentVersion)
This method will increment the version of the given portalPage by one.
|
public CachingPortalPageStore(PortalPageStore delegateStore, com.atlassian.cache.CacheManager cacheManager)
@EventListener public void onClearCache(ClearCacheEvent event)
@EventListener public void onUserKeyInPortalPageFKChangedEvent(UserKeyInPortalPageFKChangedEvent event)
public EnclosedIterable<PortalPage> get(SharedEntityAccessor.RetrievalDescriptor ids)
PortalPageStore
EnclosedIterable
of PortalPages for the specified List of ids.get
in interface PortalPageStore
ids
- retrieval descriptorpublic EnclosedIterable<PortalPage> getAll()
PortalPageStore
EnclosedIterable
of all PortalPages in the database.getAll
in interface PortalPageStore
public PortalPage getSystemDefaultPortalPage()
PortalPageStore
getSystemDefaultPortalPage
in interface PortalPageStore
public Collection<PortalPage> getAllOwnedPortalPages(@Nonnull ApplicationUser owner)
PortalPageStore
getAllOwnedPortalPages
in interface PortalPageStore
owner
- the user who is the owner of the PortalPage'spublic Collection<PortalPage> getAllOwnedPortalPages(@Nonnull String userKey)
PortalPageStore
getAllOwnedPortalPages
in interface PortalPageStore
userKey
- The key of the user who is the owner of the PortalPage'spublic PortalPage getPortalPageByOwnerAndName(ApplicationUser owner, String portalPageName)
PortalPageStore
getPortalPageByOwnerAndName
in interface PortalPageStore
owner
- the User how is the owner of the PortalPageportalPageName
- the name of the PortalPagepublic PortalPage getPortalPage(Long portalPageId)
PortalPageStore
getPortalPage
in interface PortalPageStore
portalPageId
- the id of the PortalPage to locatepublic PortalPage create(PortalPage portalPage)
PortalPageStore
create
in interface PortalPageStore
portalPage
- the PortalPage to createpublic PortalPage update(PortalPage portalPage)
PortalPageStore
update
in interface PortalPageStore
portalPage
- the PortalPage to updatepublic boolean updatePortalPageOptimisticLock(Long portalPageId, Long currentVersion)
PortalPageStore
In JIRA since we don't have transactions, this method should be called inside a pessimistic lock (potentially striped by portalPageId) and all update operations should follow while holding this same lock.
updatePortalPageOptimisticLock
in interface PortalPageStore
portalPageId
- The dashboard to updatecurrentVersion
- The current version for this dashboardpublic PortalPage adjustFavouriteCount(SharedEntity portalPage, int incrementValue)
PortalPageStore
adjustFavouriteCount
in interface PortalPageStore
portalPage
- the portal page to change.incrementValue
- the value to increase the favourite count by. Can be a number < 0 to decrease the favourite count.public void delete(Long portalPageId)
PortalPageStore
delete
in interface PortalPageStore
portalPageId
- the id of the PortalPage to deletepublic void flush()
PortalPageStore
flush
in interface PortalPageStore
Copyright © 2002-2022 Atlassian. All Rights Reserved.