org.opencms.ade.configuration
Class CmsGlobalConfigurationCacheEventHandler

java.lang.Object
  extended by 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 interface I_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_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_OU_ID, KEY_OU_NAME, KEY_PROJECTID, KEY_PUBLISHID, KEY_PUBLISHLIST, KEY_REPORT, KEY_RESOURCE, KEY_RESOURCES, KEY_USER_ACTION, KEY_USER_ID, KEY_USER_NAME, LISTENERS_FOR_ALL_EVENTS, 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
CmsGlobalConfigurationCacheEventHandler(CmsObject onlineCms)
          Creates a new cache event handler.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 instance
onlineCache - the online cache instance
debugName - 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 interface I_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