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
Fields Modifier and Type Field Description protected CurrentUserProvider_currentUserProviderThe current user providerprotected ObservationManager_observationManagerThe observation managerprotected int_removeReferenceActionIdThe action id to call when references are removedprotected AmetysObjectResolver_resolverThe Ametys object resolverprotected SmartContentClientSideElementHelper_smartHelperHelper for smart content client elements
-
Constructor Summary
Constructors Constructor Description AbstractDeleteUDContentComponent()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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)protected abstract boolean_checkBeforeDeletion(Content content, Map<String,String> rights, Map<String,Object> results, org.slf4j.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, org.slf4j.Logger logger)Delete one contentprotected void_finalizeDeleteContents(Set<String> contentIdsToDelete, ModifiableAmetysObject parent, Map<String,Object> results, org.slf4j.Logger logger)Finalize the deletion of contents.protected abstract Set<String>_getContentIdsToDelete(Content content, Map<String,Object> parameters, Map<String,String> rights, Map<String,Object> results, org.slf4j.Logger logger)Get the id of children to be deleted.protected Map<String,Object>_getEventParametersForDeletion(Content content)Get parameters for content deletedEventprotected boolean_hasRight(Content content, Map<String,String> rights)Determines if the user has sufficient right for the given contentprotected boolean_isLocked(Content content)Determines if the content is lockedprotected void_processContentDeletion(Content content, Map<String,Object> parameters, Map<String,String> rights, Map<String,Object> results, org.slf4j.Logger logger)Delete one contentprotected abstract boolean_removeRelations(Content content, Map<String,Object> parameters, org.slf4j.Logger logger)Remove relationsvoidconfigure(Configuration configuration)Map<String,Object>deleteContents(List<String> contentsId, Map<String,Object> parameters, Map<String,String> rights, org.slf4j.Logger logger)Delete contentsintdeleteContentsWithLog(List<Content> contentsToRemove, Map<String,Object> parameters, Map<String,String> rights, org.slf4j.Logger logger)Delete contents and logs resultsabstract booleanisContentReferenced(Content content, org.slf4j.Logger logger)True if the content is referencedvoidservice(ServiceManager smanager)
-
-
-
Field Detail
-
_resolver
protected AmetysObjectResolver _resolver
The Ametys object resolver
-
_observationManager
protected ObservationManager _observationManager
The observation manager
-
_currentUserProvider
protected CurrentUserProvider _currentUserProvider
The current user provider
-
_smartHelper
protected SmartContentClientSideElementHelper _smartHelper
Helper for smart content client elements
-
_removeReferenceActionId
protected int _removeReferenceActionId
The action id to call when references are removed
-
-
Constructor Detail
-
AbstractDeleteUDContentComponent
public AbstractDeleteUDContentComponent()
-
-
Method Detail
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configurein interfaceConfigurable- Throws:
ConfigurationException
-
deleteContentsWithLog
public int deleteContentsWithLog(List<Content> contentsToRemove, Map<String,Object> parameters, Map<String,String> rights, org.slf4j.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, org.slf4j.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, org.slf4j.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, org.slf4j.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, org.slf4j.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
protected Map<String,Object> _getEventParametersForDeletion(Content content)
Get parameters for content deletedEvent- Parameters:
content- the removed content- Returns:
- the event's parameters
-
_isLocked
protected boolean _isLocked(Content content)
Determines if the content is locked- Parameters:
content- the content- Returns:
- true if the content is locked
-
_hasRight
protected boolean _hasRight(Content content, Map<String,String> rights)
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
public abstract boolean isContentReferenced(Content content, org.slf4j.Logger logger)
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, org.slf4j.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, org.slf4j.Logger logger)
Remove relations- Parameters:
content- the contentparameters- the additional parameterslogger- The logger- Returns:
trueif 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, org.slf4j.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
-
-