public class DeleteODFContentHelper extends AbstractLogEnabled implements Component, Serviceable
| Modifier and Type | Class and Description |
|---|---|
static class |
DeleteODFContentHelper.DeleteMode
Enumeration for the mode of deletion
|
| Modifier and Type | Field and Description |
|---|---|
private ContentDAO |
_contentDAO
The Content DAO
|
private ContentWorkflowHelper |
_contentWorkflowHelper
The Content workflow helper
|
private CurrentUserProvider |
_currentUserProvider
The current user provider
|
private ObservationManager |
_observationManager
Observer manager.
|
private ODFHelper |
_odfHelper
The ODF helper
|
private AmetysObjectResolver |
_resolver
Ametys object resolver
|
private RightManager |
_rightManager
The rights manager
|
private SmartContentClientSideElementHelper |
_smartHelper
Helper for smart content client elements
|
private SolrIndexer |
_solrIndexer
The Solr indexer.
|
static String |
ROLE
Avalon role.
|
| Constructor and Description |
|---|
DeleteODFContentHelper() |
| Modifier and Type | Method and Description |
|---|---|
private void |
_applyChanges(WorkflowAwareContent content,
int actionId) |
private boolean |
_canDeleteContent(Content content,
boolean ignoreRights,
Map<String,Object> results)
True if we can delete the content (check if removable, rights and if locked)
|
private boolean |
_checkBeforeDeletion(Content content,
DeleteODFContentHelper.DeleteMode mode,
boolean ignoreRights,
Map<String,Object> results)
Check that deletion can be performed without blocking errors
|
private boolean |
_checkChildrenBeforeDeletion(Content rootContentToDelete,
Content contentToCheck,
DeleteODFContentHelper.DeleteMode mode,
boolean ignoreRights,
Map<String,Object> results)
Browse children to check if deletion could succeed
|
private boolean |
_checkChildrenBeforeDeletionOfOrgUnit(Content rootContentToDelete,
Content contentToCheck,
DeleteODFContentHelper.DeleteMode mode,
boolean ignoreRights,
Map<String,Object> results) |
private boolean |
_checkChildrenBeforeDeletionOfProgramItem(Content rootContentToDelete,
Content contentToCheck,
DeleteODFContentHelper.DeleteMode mode,
boolean ignoreRights,
Map<String,Object> results) |
private boolean |
_checkParentsBeforeDeletion(Content content,
Map<String,Object> results) |
private void |
_commitAllChanges()
Commit all changes in solr
|
private void |
_deleteContent(Content content,
DeleteODFContentHelper.DeleteMode deleteMode,
boolean ignoreRights,
Map<String,Object> results)
Delete one content
|
private void |
_deleteOrgUnit(OrgUnit orgUnit,
boolean ignoreRights,
Map<String,Object> results)
Delete one orgUnit
|
private void |
_deleteProgramItem(ProgramItem item,
DeleteODFContentHelper.DeleteMode mode,
boolean ignoreRights,
Map<String,Object> results)
Delete a program item
|
private void |
_finalizeDeleteContents(Set<String> contentIdsToDelete,
ModifiableAmetysObject parent,
Map<String,Object> results)
Finalize the deletion of contents.
|
private Set<String> |
_getChildrenIdToDelete(OrgUnit orgUnit,
boolean ignoreRights,
Map<String,Object> results)
Get the id of children to be deleted.
|
private Set<String> |
_getChildrenIdToDelete(ProgramItem contentToDelete,
ProgramItem initialContentToDelete,
Map<String,Object> results,
DeleteODFContentHelper.DeleteMode mode,
boolean ignoreRights)
Get the id of children to be deleted.
|
private Map<String,Object> |
_getContentDefaultParameters(Content content) |
private Map<String,Object> |
_getEventParametersForDeletion(Content content)
Get parameters for content deleted
Event |
private List<? extends WorkflowAwareContent> |
_getParents(Content content) |
private String |
_getRightId(Content content) |
private boolean |
_isContentReferenced(Content content,
Content rootContent)
Test if content is still referenced before removing it.
|
private boolean |
_isReferencedContentCheckingRoot(ProgramItem programItem,
Content initialContentToDelete)
True if the content is referenced (we are ignoring parent references if they have same root)
|
private boolean |
_isReferencedOrgUnit(OrgUnit orgUnit)
True if the orgUnit is referenced
|
private boolean |
_removeRelation(WorkflowAwareContent contentToEdit,
Content refContentToRemove,
String metadataName,
int actionId,
Map<String,Object> results)
Remove the relation parent-child relation on content.
|
private boolean |
_removeRelations(List<? extends WorkflowAwareContent> contentsToEdit,
Content refContentToRemove,
String metadataName,
int actionId,
Map<String,Object> results)
Remove the relations between the content and its contents list
|
Map<String,Object> |
deleteContents(List<String> contentsId,
String modeParam)
Delete ODF contents
|
Map<String,Object> |
deleteContents(List<String> contentsId,
String modeParam,
boolean ignoreRights)
Delete ODF contents
|
Map<String,Object> |
deleteContentsWithLog(List<String> contentsId,
String modeParam)
Delete ODF contents
|
Map<String,Object> |
deleteContentsWithLog(List<String> contentsId,
String modeParam,
boolean ignoreRights)
Delete ODF contents
|
boolean |
hasRight(Content content)
Determines if the user has sufficient right for the given content
|
boolean |
isContentReferenced(Content content)
Test if content is still referenced before removing it
|
void |
service(ServiceManager manager) |
getLogger, setLoggerprivate AmetysObjectResolver _resolver
private ODFHelper _odfHelper
private ObservationManager _observationManager
private SolrIndexer _solrIndexer
private ContentWorkflowHelper _contentWorkflowHelper
private ContentDAO _contentDAO
private CurrentUserProvider _currentUserProvider
private RightManager _rightManager
private SmartContentClientSideElementHelper _smartHelper
public DeleteODFContentHelper()
public void service(ServiceManager manager) throws ServiceException
service in interface ServiceableServiceExceptionpublic Map<String,Object> deleteContents(List<String> contentsId, String modeParam)
contentsId - The ids of contents to deletemodeParam - The mode of deletionpublic Map<String,Object> deleteContents(List<String> contentsId, String modeParam, boolean ignoreRights)
contentsId - The ids of contents to deletemodeParam - The mode of deletionignoreRights - If true, bypass the rights check during the deletionpublic Map<String,Object> deleteContentsWithLog(List<String> contentsId, String modeParam)
contentsId - The ids of contents to deletemodeParam - The mode of deletionpublic Map<String,Object> deleteContentsWithLog(List<String> contentsId, String modeParam, boolean ignoreRights)
contentsId - The ids of contents to deletemodeParam - The mode of deletionignoreRights - If true, bypass the rights check during the deletionprivate void _deleteContent(Content content, DeleteODFContentHelper.DeleteMode deleteMode, boolean ignoreRights, Map<String,Object> results)
content - the content to deletedeleteMode - The deletion modeignoreRights - If true, bypass the rights check during the deletionresults - the results mappublic boolean isContentReferenced(Content content)
content - The content to removeprivate boolean _isContentReferenced(Content content, Content rootContent)
content - The content to removerootContent - the initial content to delete (can be null if checkRoot is false)private boolean _isReferencedOrgUnit(OrgUnit orgUnit)
orgUnit - the orgUnitprivate Map<String,Object> _getContentDefaultParameters(Content content)
private boolean _checkBeforeDeletion(Content content, DeleteODFContentHelper.DeleteMode mode, boolean ignoreRights, Map<String,Object> results)
content - The initial content to deletemode - The deletion modeignoreRights - If true, bypass the rights check during the deletionresults - The resultsprivate boolean _checkParentsBeforeDeletion(Content content, Map<String,Object> results)
private boolean _checkChildrenBeforeDeletion(Content rootContentToDelete, Content contentToCheck, DeleteODFContentHelper.DeleteMode mode, boolean ignoreRights, Map<String,Object> results)
rootContentToDelete - The initial content to deletecontentToCheck - The current content to checkmode - The deletion modeignoreRights - If true, bypass the rights check during the deletionresults - The resultprivate boolean _checkChildrenBeforeDeletionOfProgramItem(Content rootContentToDelete, Content contentToCheck, DeleteODFContentHelper.DeleteMode mode, boolean ignoreRights, Map<String,Object> results)
private boolean _checkChildrenBeforeDeletionOfOrgUnit(Content rootContentToDelete, Content contentToCheck, DeleteODFContentHelper.DeleteMode mode, boolean ignoreRights, Map<String,Object> results)
private boolean _removeRelations(List<? extends WorkflowAwareContent> contentsToEdit, Content refContentToRemove, String metadataName, int actionId, Map<String,Object> results)
contentsToEdit - the contents to editrefContentToRemove - The referenced content to be removed from contentsmetadataName - The name of metadata holding the relationshipactionId - The id of workflow action to edit the relationresults - the results mapprivate boolean _removeRelation(WorkflowAwareContent contentToEdit, Content refContentToRemove, String metadataName, int actionId, Map<String,Object> results)
contentToEdit - The content to modifiedrefContentToRemove - The referenced content to be removed from contentmetadataName - The name of metadata holding the child or parent relationshipactionId - The id of workflow action to edit the relationresults - the results mapprivate void _deleteProgramItem(ProgramItem item, DeleteODFContentHelper.DeleteMode mode, boolean ignoreRights, Map<String,Object> results)
item - The program item to deletemode - The deletion modeignoreRights - If true, bypass the rights check during the deletionresults - The resultsprivate void _deleteOrgUnit(OrgUnit orgUnit, boolean ignoreRights, Map<String,Object> results)
orgUnit - the orgUnit to deleteignoreRights - If true, bypass the rights check during the deletionresults - the results mapprivate void _finalizeDeleteContents(Set<String> contentIdsToDelete, ModifiableAmetysObject parent, Map<String,Object> results)
contentIdsToDelete - the list of content id to deleteparent - the jcr parent for saving changesresults - the results mapprivate void _commitAllChanges()
private boolean _canDeleteContent(Content content, boolean ignoreRights, Map<String,Object> results)
content - the contentignoreRights - If true, bypass the rights check during the deletionresults - the results mapprivate void _applyChanges(WorkflowAwareContent content, int actionId) throws com.opensymphony.workflow.WorkflowException
com.opensymphony.workflow.WorkflowExceptionprivate Map<String,Object> _getEventParametersForDeletion(Content content)
Eventcontent - the removed contentprivate List<? extends WorkflowAwareContent> _getParents(Content content)
private Set<String> _getChildrenIdToDelete(OrgUnit orgUnit, boolean ignoreRights, Map<String,Object> results)
orgUnit - The orgunit to deleteignoreRights - If true, bypass the rights check during the deletionresults - The resultsprivate Set<String> _getChildrenIdToDelete(ProgramItem contentToDelete, ProgramItem initialContentToDelete, Map<String,Object> results, DeleteODFContentHelper.DeleteMode mode, boolean ignoreRights)
contentToDelete - The content to delete in the tree of initial content to deleteinitialContentToDelete - The initial content to deleteresults - The resultsmode - The deletion modeignoreRights - If true, bypass the rights check during the deletionpublic boolean hasRight(Content content)
content - the contentprivate String _getRightId(Content content)
private boolean _isReferencedContentCheckingRoot(ProgramItem programItem, Content initialContentToDelete)
programItem - the program iteminitialContentToDelete - the initial content to delete