Class AbstractContentObserver
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.userdirectory.observation.AbstractContentObserver
-
- All Implemented Interfaces:
Observer
,LogEnabled
,Contextualizable
,Serviceable
- Direct Known Subclasses:
AbstractSolrContentObserver
,InvalidateCacheOnContentValidationObserver
,InvalidateZoneItemCacheOnContentModificationObserver
,InvalidateZoneItemCacheOnContentValidationObserver
,UserContentCacheObserver
public abstract class AbstractContentObserver extends AbstractLogEnabled implements Observer, Serviceable, Contextualizable
AbstractObserver
for observing validation of User content.
-
-
Field Summary
Fields Modifier and Type Field Description protected Context
_cocoonContext
Cocoon context.protected ContentTypesHelper
_contentTypeHelper
The content type helperprotected Context
_context
The context.protected OrganisationChartPageResolver
_organisationChartPageResolver
The resolver for ud orgunits pagesprotected AmetysObjectResolver
_resolver
Ametys object resolver.protected UserDirectoryPageResolver
_userDirectoryPageResolver
The resolver for user directory pagesprotected PageElementCache
_zoneItemCache
The page element cache-
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description AbstractContentObserver()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected AmetysObjectIterable<Page>
_getOrgUnitRootPages()
Get the orgUnit root pagesprotected Content
_getTarget(Event event)
Retrieve the target of the observerprotected AmetysObjectIterable<Page>
_getUserRootPages()
Get the user root pagesprotected abstract void
_internalObserve(Event event, Page rootUsersPage, Content userContent)
Do the actual work.protected boolean
_isOrgUnitContent(Content content)
Return true if the content is a orgUnit contentprotected boolean
_isUserContent(Content content)
Return true if the content is a user contentprotected void
_removeZoneItemCache(Page rootPage, Content content, String workspace)
Remove zone item cachevoid
contextualize(Context context)
void
observe(Event event, Map<String,Object> transientVars)
Observes an event.void
service(ServiceManager manager)
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.core.observation.Observer
getPriority, supports
-
-
-
-
Field Detail
-
_cocoonContext
protected Context _cocoonContext
Cocoon context.
-
_resolver
protected AmetysObjectResolver _resolver
Ametys object resolver.
-
_contentTypeHelper
protected ContentTypesHelper _contentTypeHelper
The content type helper
-
_zoneItemCache
protected PageElementCache _zoneItemCache
The page element cache
-
_userDirectoryPageResolver
protected UserDirectoryPageResolver _userDirectoryPageResolver
The resolver for user directory pages
-
_organisationChartPageResolver
protected OrganisationChartPageResolver _organisationChartPageResolver
The resolver for ud orgunits pages
-
-
Constructor Detail
-
AbstractContentObserver
public AbstractContentObserver()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
observe
public void observe(Event event, Map<String,Object> transientVars)
Description copied from interface:Observer
Observes an event.
-
_internalObserve
protected abstract void _internalObserve(Event event, Page rootUsersPage, Content userContent)
Do the actual work.- Parameters:
event
- the observation event.rootUsersPage
- the page holding the virtual user pagesuserContent
- a list containing all impacted user contents.
-
_getUserRootPages
protected AmetysObjectIterable<Page> _getUserRootPages()
Get the user root pages- Returns:
- the user root pages
-
_getOrgUnitRootPages
protected AmetysObjectIterable<Page> _getOrgUnitRootPages()
Get the orgUnit root pages- Returns:
- the orgUnit root pages
-
_getTarget
protected Content _getTarget(Event event) throws Exception
Retrieve the target of the observer- Parameters:
event
- The event- Returns:
- The target
- Throws:
Exception
- if failed to get content
-
_isUserContent
protected boolean _isUserContent(Content content)
Return true if the content is a user content- Parameters:
content
- the content- Returns:
- true if the content is a user content
-
_isOrgUnitContent
protected boolean _isOrgUnitContent(Content content)
Return true if the content is a orgUnit content- Parameters:
content
- the content- Returns:
- true if the content is a orgUnit content
-
_removeZoneItemCache
protected void _removeZoneItemCache(Page rootPage, Content content, String workspace)
Remove zone item cache- Parameters:
rootPage
- the root pagecontent
- the contentworkspace
- the workspace
-
-