Package org.ametys.plugins.userdirectory
Class AbstractDeleteUDContentComponent
java.lang.Object
org.ametys.plugins.userdirectory.AbstractDeleteUDContentComponent
- All Implemented Interfaces:
Component
,Configurable
,Serviceable
- Direct Known Subclasses:
DeleteOrgUnitComponent
,DeleteUserComponent
public abstract class AbstractDeleteUDContentComponent
extends Object
implements Component, Serviceable, Configurable
Delete UD content component
-
Field Summary
Modifier and TypeFieldDescriptionprotected CurrentUserProvider
The current user providerprotected ObservationManager
The observation managerprotected int
The action id to call when references are removedprotected AmetysObjectResolver
The Ametys object resolverprotected SmartContentClientSideElementHelper
Helper for smart content client elements -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
True if we can delete the content (check if removable, rights and if locked)protected abstract boolean
_checkBeforeDeletion
(Content content, Map<String, String> rights, Map<String, Object> results, Logger logger) Check that deletion can be performed without blocking errorsprotected void
_deleteContent
(Content content, Map<String, Object> parameters, Map<String, String> rights, Map<String, Object> results, Logger logger) Delete one contentprotected void
_finalizeDeleteContents
(Set<String> contentIdsToDelete, ModifiableAmetysObject parent, Map<String, Object> results, Logger logger) Finalize the deletion of contents._getContentIdsToDelete
(Content content, Map<String, Object> parameters, Map<String, String> rights, Map<String, Object> results, Logger logger) Get the id of children to be deleted._getEventParametersForDeletion
(Content content) Get parameters for content deletedEvent
protected boolean
Determines if the user has sufficient right for the given contentprotected boolean
Determines if the content is lockedprotected void
_processContentDeletion
(Content content, Map<String, Object> parameters, Map<String, String> rights, Map<String, Object> results, Logger logger) Delete one contentprotected abstract boolean
Remove relationsvoid
configure
(Configuration configuration) deleteContents
(List<String> contentsId, Map<String, Object> parameters, Map<String, String> rights, Logger logger) Delete contentsint
deleteContentsWithLog
(List<Content> contentsToRemove, Map<String, Object> parameters, Map<String, String> rights, Logger logger) Delete contents and logs resultsabstract boolean
isContentReferenced
(Content content, Logger logger) True if the content is referencedvoid
service
(ServiceManager smanager)
-
Field Details
-
_resolver
The Ametys object resolver -
_observationManager
The observation manager -
_currentUserProvider
The current user provider -
_smartHelper
Helper for smart content client elements -
_removeReferenceActionId
The action id to call when references are removed
-
-
Constructor Details
-
AbstractDeleteUDContentComponent
public AbstractDeleteUDContentComponent()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
configure
- Specified by:
configure
in interfaceConfigurable
- Throws:
ConfigurationException
-
deleteContentsWithLog
public int deleteContentsWithLog(List<Content> contentsToRemove, Map<String, Object> parameters, Map<String, String> rights, Logger logger) Delete contents and logs results- Parameters:
contentsToRemove
- the list of contents to removeparameters
- the additional parametersrights
- the map of rights id with its prefixlogger
- The logger- Returns:
- the number of deleted contents
-
deleteContents
public Map<String,Object> deleteContents(List<String> contentsId, Map<String, Object> parameters, Map<String, String> rights, Logger logger) Delete contents- Parameters:
contentsId
- The ids of contents to deleteparameters
- the additional parametersrights
- the map of rights id with its prefixlogger
- The logger- Returns:
- the deleted and undeleted contents
-
_deleteContent
protected void _deleteContent(Content content, Map<String, Object> parameters, Map<String, String> rights, Map<String, Object> results, Logger logger) Delete one content- Parameters:
content
- the content to deleteparameters
- the additional parametersrights
- the map of rights id with its prefixresults
- the results maplogger
- The logger
-
_processContentDeletion
protected void _processContentDeletion(Content content, Map<String, Object> parameters, Map<String, String> rights, Map<String, Object> results, Logger logger) Delete one content- Parameters:
content
- the content to deleteparameters
- the additional parametersrights
- the map of rights id with its prefixresults
- the results maplogger
- The logger
-
_finalizeDeleteContents
protected void _finalizeDeleteContents(Set<String> contentIdsToDelete, ModifiableAmetysObject parent, Map<String, Object> results, Logger logger) Finalize the deletion of contents. Call observers and remove contents- Parameters:
contentIdsToDelete
- the list of content id to deleteparent
- the jcr parent for saving changesresults
- the results maplogger
- The logger
-
_canDeleteContent
protected boolean _canDeleteContent(Content content, Map<String, String> rights, Map<String, Object> results) True if we can delete the content (check if removable, rights and if locked)- Parameters:
content
- the contentrights
- the map of rights id with its prefixresults
- the results map- Returns:
- true if we can delete the content
-
_getEventParametersForDeletion
Get parameters for content deletedEvent
- Parameters:
content
- the removed content- Returns:
- the event's parameters
-
_isLocked
Determines if the content is locked- Parameters:
content
- the content- Returns:
- true if the content is locked
-
_hasRight
Determines if the user has sufficient right for the given content- Parameters:
content
- the contentrights
- the map of rights id with its prefix- Returns:
- true if user has sufficient right
-
isContentReferenced
True if the content is referenced- Parameters:
content
- the contentlogger
- The logger- Returns:
- true if the content is referenced
-
_checkBeforeDeletion
protected abstract boolean _checkBeforeDeletion(Content content, Map<String, String> rights, Map<String, Object> results, Logger logger) Check that deletion can be performed without blocking errors- Parameters:
content
- The initial content to deleterights
- the map of rights id with its prefixresults
- The resultslogger
- The logger- Returns:
- true if the deletion can be performed
-
_removeRelations
protected abstract boolean _removeRelations(Content content, Map<String, Object> parameters, Logger logger) Remove relations- Parameters:
content
- the contentparameters
- the additional parameterslogger
- The logger- Returns:
true
if all relations have been removed
-
_getContentIdsToDelete
protected abstract Set<String> _getContentIdsToDelete(Content content, Map<String, Object> parameters, Map<String, String> rights, Map<String, Object> results, Logger logger) Get the id of children to be deleted. All children shared with other contents which are not part of deletion, will be not deleted.- Parameters:
content
- The content to deleteparameters
- the additional parametersrights
- the map of rights id with its prefixresults
- The resultslogger
- The logger- Returns:
- The id of contents to be deleted
-