Package org.opencms.ade.configuration
Class CmsGlobalConfigurationCacheEventHandler
- java.lang.Object
-
- org.opencms.ade.configuration.CmsGlobalConfigurationCacheEventHandler
-
- All Implemented Interfaces:
I_CmsEventListener
public class CmsGlobalConfigurationCacheEventHandler extends java.lang.Object implements I_CmsEventListener
This event handler manages cache instances which are instances of the interfaceI_CmsGlobalConfigurationCache
. It keeps a list of cache instance pairs, each containing one cache for the online mode and one for the offline mode, and handles events caused by changed resources by notifying the cache instances. Note that *all* changed resources will get passed to the underlying cache instances, so those instances will need to check whether the resource passed into the update or remove methods is actually a resource with which the cache instance is concerned.This class should be used if you have an indefinite number of configuration files at arbitrary locations in the VFS. If you need to cache e.g. a single configuration file with a known, fixed path, using
CmsVfsMemoryObjectCache
is easier.
-
-
Field Summary
-
Fields inherited from interface org.opencms.main.I_CmsEventListener
EVENT_BEFORE_PUBLISH_PROJECT, EVENT_CLEAR_CACHES, EVENT_CLEAR_OFFLINE_CACHES, EVENT_CLEAR_ONLINE_CACHES, EVENT_CLEAR_PRINCIPAL_CACHES, EVENT_FLEX_CACHE_CLEAR, EVENT_FLEX_PURGE_JSP_REPOSITORY, EVENT_FULLSTATIC_EXPORT, EVENT_GROUP_MODIFIED, EVENT_LOGIN_USER, EVENT_OU_MODIFIED, EVENT_PROJECT_MODIFIED, EVENT_PROPERTY_DEFINITION_CREATED, EVENT_PROPERTY_DEFINITION_MODIFIED, EVENT_PROPERTY_MODIFIED, EVENT_PUBLISH_PROJECT, EVENT_REBUILD_SEARCHINDEXES, EVENT_REINDEX_OFFLINE, EVENT_REINDEX_ONLINE, EVENT_RESOURCE_AND_PROPERTIES_MODIFIED, EVENT_RESOURCE_COPIED, EVENT_RESOURCE_CREATED, EVENT_RESOURCE_DELETED, EVENT_RESOURCE_MODIFIED, EVENT_RESOURCE_MOVED, EVENT_RESOURCES_AND_PROPERTIES_MODIFIED, EVENT_RESOURCES_MODIFIED, EVENT_SITEMAP_CHANGED, EVENT_UPDATE_EXPORTS, EVENT_USER_MODIFIED, KEY_CHANGE, KEY_DBCONTEXT, KEY_GROUP_ID, KEY_GROUP_NAME, KEY_INDEX_NAMES, KEY_IS_ONLINE, KEY_OU_ID, KEY_OU_NAME, KEY_PROJECTID, KEY_PUBLISHID, KEY_PUBLISHLIST, KEY_REINDEX_RELATED, KEY_REPORT, KEY_RESOURCE, KEY_RESOURCES, KEY_SKIPINDEX, KEY_USER_ACTION, KEY_USER_CHANGES, KEY_USER_ID, KEY_USER_NAME, LISTENERS_FOR_ALL_EVENTS, VALUE_CREATE_SIBLING, VALUE_GROUP_MODIFIED_ACTION_CREATE, VALUE_GROUP_MODIFIED_ACTION_DELETE, VALUE_GROUP_MODIFIED_ACTION_WRITE, VALUE_OU_MODIFIED_ACTION_CREATE, VALUE_OU_MODIFIED_ACTION_DELETE, VALUE_USER_MODIFIED_ACTION_ADD_USER_TO_GROUP, VALUE_USER_MODIFIED_ACTION_CREATE_USER, VALUE_USER_MODIFIED_ACTION_DELETE_USER, VALUE_USER_MODIFIED_ACTION_REMOVE_USER_FROM_GROUP, VALUE_USER_MODIFIED_ACTION_RESET_PASSWORD, VALUE_USER_MODIFIED_ACTION_SET_OU, VALUE_USER_MODIFIED_ACTION_WRITE_USER
-
-
Constructor Summary
Constructors Constructor Description CmsGlobalConfigurationCacheEventHandler(CmsObject onlineCms)
Creates a new cache event handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCache(I_CmsGlobalConfigurationCache offlineCache, I_CmsGlobalConfigurationCache onlineCache, java.lang.String debugName)
Adds a new pair of cache instances which should be managed by this event handler.void
cmsEvent(CmsEvent event)
Acknowledge the occurrence of the specified event, implement this method to check for CmsEvents in your class.protected void
offlineCacheClear()
Clears the offline caches.protected void
offlineCacheRemove(CmsPublishedResource resource)
Removes a resource from the offline caches.protected void
offlineCacheRemove(CmsResource resource)
Removes a resource from the offline caches.protected void
offlineCacheUpdate(CmsPublishedResource resource)
Updates a resource in the offline caches.protected void
offlineCacheUpdate(CmsResource resource)
Updates a resource in the offline caches.protected void
onlineCacheClear()
Clears the online caches.protected void
onlineCacheRemove(CmsPublishedResource resource)
Removes a resource from the online caches.protected void
onlineCacheRemove(CmsResource resource)
Removes a resource from the online caches.protected void
onlineCacheUpdate(CmsPublishedResource resource)
Updates a resource in the online caches.protected void
onlineCacheUpdate(CmsResource resource)
Updates a resource in the online caches.
-
-
-
Constructor Detail
-
CmsGlobalConfigurationCacheEventHandler
public CmsGlobalConfigurationCacheEventHandler(CmsObject onlineCms)
Creates a new cache event handler.- Parameters:
onlineCms
- an online CMS object
-
-
Method Detail
-
addCache
public void addCache(I_CmsGlobalConfigurationCache offlineCache, I_CmsGlobalConfigurationCache onlineCache, java.lang.String debugName)
Adds a new pair of cache instances which should be managed by this event handler.- Parameters:
offlineCache
- the offline cache instanceonlineCache
- the online cache instancedebugName
- an identifier used for debugging
-
cmsEvent
public void cmsEvent(CmsEvent event)
Description copied from interface:I_CmsEventListener
Acknowledge the occurrence of the specified event, implement this method to check for CmsEvents in your class.- Specified by:
cmsEvent
in interfaceI_CmsEventListener
- Parameters:
event
- CmsEvent that has occurred- See Also:
I_CmsEventListener.cmsEvent(org.opencms.main.CmsEvent)
-
offlineCacheClear
protected void offlineCacheClear()
Clears the offline caches.
-
offlineCacheRemove
protected void offlineCacheRemove(CmsPublishedResource resource)
Removes a resource from the offline caches.- Parameters:
resource
- the resource to remove
-
offlineCacheRemove
protected void offlineCacheRemove(CmsResource resource)
Removes a resource from the offline caches.- Parameters:
resource
- the resource to remove
-
offlineCacheUpdate
protected void offlineCacheUpdate(CmsPublishedResource resource)
Updates a resource in the offline caches.- Parameters:
resource
- the resource to update
-
offlineCacheUpdate
protected void offlineCacheUpdate(CmsResource resource)
Updates a resource in the offline caches.- Parameters:
resource
- the resource to update
-
onlineCacheClear
protected void onlineCacheClear()
Clears the online caches.
-
onlineCacheRemove
protected void onlineCacheRemove(CmsPublishedResource resource)
Removes a resource from the online caches.- Parameters:
resource
- the resource to remove
-
onlineCacheRemove
protected void onlineCacheRemove(CmsResource resource)
Removes a resource from the online caches.- Parameters:
resource
- the resource to remove
-
onlineCacheUpdate
protected void onlineCacheUpdate(CmsPublishedResource resource)
Updates a resource in the online caches.- Parameters:
resource
- the resource to update
-
onlineCacheUpdate
protected void onlineCacheUpdate(CmsResource resource)
Updates a resource in the online caches.- Parameters:
resource
- the resource to update
-
-