Package com.jalios.jcms
Class GroupListener
- java.lang.Object
-
- com.jalios.jcms.BasicStoreListener
-
- com.jalios.jcms.GroupListener
-
- All Implemented Interfaces:
JcmsConstants
,PluginComponent
,StoreListener
,JaliosConstants
public class GroupListener extends BasicStoreListener implements JcmsConstants
This class listens to mutations ofGroup
instances.- Since:
- jcms-2.1
- Author:
- Olivier Dedieu
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.Map<java.lang.String,Group>
dn2GroupMap
static long
groupsInvalidationCounter
Internal value used as version for track an increment counter of operation which may have invalidated DBMember.getGroups.static long
workspaceInvalidationCounter
Internal value used as version for track an increment counter of operation which may have invalidated DBMember.getWorkspaceSet.-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description GroupListener()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addGroupInDnToGroupMap(java.lang.String dn, Group group)
Add the given new group to the index of DN to Group Map.protected void
clearMemberIsWorkerCache()
Clears Member isWorker status cache.static Group
getGroupFromDN(java.lang.String dn)
Returns a LDAP group from its distinguish name.void
handleCommitUpdate(Storable storable, Storable oldStorable, boolean firstTime)
This method gets called when after a storable has been updated.void
handleCreate(Storable storable, boolean firstTime)
This method gets called when a storable is created.void
handleDelete(Storable storable, boolean firstTime)
This method gets called when a storable is deleted.protected void
refreshWorkspacesMembers(Group group)
Refresh member index of workspacestatic void
removeGroupFromDnToGroupMap(java.lang.String dn)
Remove the given group from the index of DN to Group Map.static void
updateDnToGroupMap(Group oldGroup, Group newGroup)
Update the given group in the index of DN to Group Map.protected void
updateMembers(Group group)
Invalidate canManageContent foreach members of this groupprotected void
updateWorkspaces(Group group, boolean add)
Add Group to workspace groupSet-
Methods inherited from class com.jalios.jcms.BasicStoreListener
handlePrepareUpdate, init
-
-
-
-
Field Detail
-
groupsInvalidationCounter
public static long groupsInvalidationCounter
Internal value used as version for track an increment counter of operation which may have invalidated DBMember.getGroups. It is used by DBMember.getGroups to check for its cache validity.- Since:
- JCMS-6331
-
workspaceInvalidationCounter
public static long workspaceInvalidationCounter
Internal value used as version for track an increment counter of operation which may have invalidated DBMember.getWorkspaceSet. It is used by DBMember.getWorkspaceSet to check for its cache validity.- Since:
- JCMS-6331
-
dn2GroupMap
protected static final java.util.Map<java.lang.String,Group> dn2GroupMap
-
-
Method Detail
-
handleCreate
public void handleCreate(Storable storable, boolean firstTime)
Description copied from interface:StoreListener
This method gets called when a storable is created.- Specified by:
handleCreate
in interfaceStoreListener
- Overrides:
handleCreate
in classBasicStoreListener
- Parameters:
storable
- the storablefirstTime
- true if it is the first time this operation is processed- See Also:
StoreListener.handleCreate(Storable, boolean)
-
handleCommitUpdate
public void handleCommitUpdate(Storable storable, Storable oldStorable, boolean firstTime)
Description copied from interface:StoreListener
This method gets called when after a storable has been updated.- Specified by:
handleCommitUpdate
in interfaceStoreListener
- Overrides:
handleCommitUpdate
in classBasicStoreListener
- Parameters:
storable
- the storable, this instance is the object that was created at first and that will be stored in jcms until deletion of the storable with this ID. You should always manipulate this object if you maintain any index.oldStorable
- the previous version of the storable, it is a clone, do not use in any index, it should only be used to access old values.firstTime
- true if it is the first time this operation is processed- See Also:
StoreListener.handleCommitUpdate(Storable, Storable, boolean)
-
handleDelete
public void handleDelete(Storable storable, boolean firstTime)
Description copied from interface:StoreListener
This method gets called when a storable is deleted.- Specified by:
handleDelete
in interfaceStoreListener
- Overrides:
handleDelete
in classBasicStoreListener
- Parameters:
storable
- the storablefirstTime
- true if it is the first time this operation is processed- See Also:
StoreListener.handleDelete(Storable, boolean)
-
updateMembers
protected void updateMembers(Group group)
Invalidate canManageContent foreach members of this group- Parameters:
group
- the group to be updated
-
updateWorkspaces
protected void updateWorkspaces(Group group, boolean add)
Add Group to workspace groupSet- Parameters:
group
- the group to be added/removedadd
- true means "add", false means "remove"
-
refreshWorkspacesMembers
protected void refreshWorkspacesMembers(Group group)
Refresh member index of workspace- Parameters:
group
- the group to refresh the members- Since:
- jcms-5.6.2
-
addGroupInDnToGroupMap
public static void addGroupInDnToGroupMap(java.lang.String dn, Group group)
Add the given new group to the index of DN to Group Map.- Parameters:
dn
- the LDAP DN of the Group, operation ignore if emptygroup
- the Group, must not be null- Since:
- jcms-5.7.0
-
updateDnToGroupMap
public static void updateDnToGroupMap(Group oldGroup, Group newGroup)
Update the given group in the index of DN to Group Map.- Parameters:
oldGroup
- the group instance before the modificationnewGroup
- the group instance in its latest version- Since:
- jcms-5.7.0
-
removeGroupFromDnToGroupMap
public static void removeGroupFromDnToGroupMap(java.lang.String dn)
Remove the given group from the index of DN to Group Map.- Parameters:
dn
- the LDAP DN of the Group, operation ignore if empty- Since:
- jcms-5.7.0
-
getGroupFromDN
public static Group getGroupFromDN(java.lang.String dn)
Returns a LDAP group from its distinguish name.- Parameters:
dn
- the dn of the group- Returns:
- the group or null if not found
- Since:
- jcms-5.7.0
-
clearMemberIsWorkerCache
protected void clearMemberIsWorkerCache()
Clears Member isWorker status cache.- Since:
- jcms-9.0.5 - JCMS-5683
-
-