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
_currentUserProvider
The current user providerprotected ObservationManager
_observationManager
The observation managerprivate static int
_REMOVE_REFERENCE_DEFAULT_ACTION_ID
protected int
_removeReferenceActionId
The action id to call when references are removedprotected AmetysObjectResolver
_resolver
The Ametys object resolverprotected SmartContentClientSideElementHelper
_smartHelper
Helper for smart content client elementsprotected SolrIndexer
_solrIndexer
The Solr indexer.
-
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
_commitAllChanges(org.slf4j.Logger logger)
Commit all changes in solrprotected 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,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 deletedEvent
protected 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,String> rights, Map<String,Object> results, org.slf4j.Logger logger)
Delete one contentprotected abstract boolean
_removeRelations(Content content, org.slf4j.Logger logger)
Remove relationsvoid
configure(Configuration configuration)
Map<String,Object>
deleteContents(List<String> contentsId, Map<String,Object> parameters, Map<String,String> rights, org.slf4j.Logger logger)
Delete contentsint
deleteContentsWithLog(List<Content> contentsToRemove, Map<String,Object> parameters, Map<String,String> rights, org.slf4j.Logger logger)
Delete contents and logs resultsabstract boolean
isContentReferenced(Content content, org.slf4j.Logger logger)
True if the content is referencedvoid
service(ServiceManager smanager)
-
-
-
Field Detail
-
_REMOVE_REFERENCE_DEFAULT_ACTION_ID
private static final int _REMOVE_REFERENCE_DEFAULT_ACTION_ID
- See Also:
- Constant Field Values
-
_solrIndexer
protected SolrIndexer _solrIndexer
The Solr indexer.
-
_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:
service
in interfaceServiceable
- Throws:
ServiceException
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configure
in 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,String> rights, Map<String,Object> results, org.slf4j.Logger logger)
Delete one content- Parameters:
content
- the content to deleterights
- 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
-
_commitAllChanges
protected void _commitAllChanges(org.slf4j.Logger logger)
Commit all changes in solr- Parameters:
logger
- The logger
-
_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, org.slf4j.Logger logger)
Remove relations- Parameters:
content
- the contentlogger
- The logger- Returns:
true
if all relations have been removed
-
_getContentIdsToDelete
protected abstract Set<String> _getContentIdsToDelete(Content content, 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 deleterights
- the map of rights id with its prefixresults
- The resultslogger
- The logger- Returns:
- The id of contents to be deleted
-
-