public class

CachingPortletConfigurationStore

extends Object
implements FlushablePortletConfigurationStore
java.lang.Object
   ↳ com.atlassian.jira.portal.CachingPortletConfigurationStore

Class Overview

Caching store for Portlet Configurations. The cache stores a id -> PortletConfigurationStore and a portalPage.id -> id mapping.

This class is not completely thread safe in that it is possible for the cache and the database to become unsynchronized.

Summary

Public Constructors
CachingPortletConfigurationStore(PortletConfigurationStore delegateStore)
Public Methods
PortletConfiguration addGadget(Long pageId, Long portletConfigurationId, Integer column, Integer row, URI gadgetXml, Color color, Map<StringString> userPreferences)
Creates and adds a new PortletConfiguration to given PortalPage.
void delete(PortletConfiguration pc)
Deletes the given PortletConfiguration.
void flush()
Flush the cache by removing all entries.
EnclosedIterable<PortletConfiguration> getAllPortletConfigurations()
This is a non-caching call.
List<PortletConfiguration> getByPortalPage(Long portalPageId)
Get all PortletConfiguration objects for a given PortalPage id.
PortletConfiguration getByPortletId(Long portletId)
Gall a PortletConfiguration by its id.
@EventListener void onClearCache(ClearCacheEvent event)
void store(PortletConfiguration pc)
Saves the given PortletConfiguration.
void updateGadgetColor(Long gadgetId, Color color)
Given a gadget, this method will update the color value for this gadget.
void updateGadgetPosition(Long gadgetId, int row, int column, Long dashboardId)
Given a gadget, this method will update it's row, column and parent dashboard id.
void updateUserPrefs(Long gadgetId, Map<StringString> userPrefs)
Given a gadget, this method updates all userprefs for this gadget.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.portal.FlushablePortletConfigurationStore
From interface com.atlassian.jira.portal.PortletConfigurationStore

Public Constructors

public CachingPortletConfigurationStore (PortletConfigurationStore delegateStore)

Public Methods

public PortletConfiguration addGadget (Long pageId, Long portletConfigurationId, Integer column, Integer row, URI gadgetXml, Color color, Map<StringString> userPreferences)

Creates and adds a new PortletConfiguration to given PortalPage. This should be used to add a gadget.

Parameters
pageId The id of the page to add the configuration to.
portletConfigurationId The id to use for adding the gadget. This will correspond to createGadgetState(java.net.URI). May be null for a generated id.
column The column position of the portlet.
row The row position of the portlet
gadgetXml A URI specifying the location of the gadget XML. May be null if this is a legacy portlet.
color The chrome color for the gadget.
userPreferences A map of key -> value user preference pairs used to store gadget configuration.
Returns
  • The new PortletConfiguration with the id set.

public void delete (PortletConfiguration pc)

Deletes the given PortletConfiguration.

Parameters
pc The PortletConfiguration to delete.

public void flush ()

Flush the cache by removing all entries.

public EnclosedIterable<PortletConfiguration> getAllPortletConfigurations ()

This is a non-caching call. Will delegate straight through to the db store.

Returns
  • iterable over all PortletConfigurations available in the database

public List<PortletConfiguration> getByPortalPage (Long portalPageId)

Get all PortletConfiguration objects for a given PortalPage id.

Parameters
portalPageId The id of the page to retreive all configurations for.
Returns
  • The configurations associated with the given page.

public PortletConfiguration getByPortletId (Long portletId)

Gall a PortletConfiguration by its id.

Parameters
portletId The id of the portlet configuration
Returns
  • The configuration of the given id.

@EventListener public void onClearCache (ClearCacheEvent event)

public void store (PortletConfiguration pc)

Saves the given PortletConfiguration.

Parameters
pc The PortletConfiguration to save.

public void updateGadgetColor (Long gadgetId, Color color)

Given a gadget, this method will update the color value for this gadget.

Parameters
gadgetId The id of the gadget being updated
color The new color value for this gadget

public void updateGadgetPosition (Long gadgetId, int row, int column, Long dashboardId)

Given a gadget, this method will update it's row, column and parent dashboard id.

Parameters
gadgetId The id of the gadget being updated
row The new row value for this gadget
column The new column value for this gadget
dashboardId The new parent dashboard id value for this gadget

public void updateUserPrefs (Long gadgetId, Map<StringString> userPrefs)

Given a gadget, this method updates all userprefs for this gadget.

Parameters
gadgetId The id of the gadget being updated
userPrefs The new userprefs to set for this gadget.