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 Details

  • Constructor Details

  • Method Details

    • service

      public void service(ServiceManager smanager) throws ServiceException
      Specified by:
      service in interface Serviceable
      Throws:
      ServiceException
    • configure

      public void configure(Configuration configuration) throws ConfigurationException
      Specified by:
      configure in interface Configurable
      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 remove
      parameters - the additional parameters
      rights - the map of rights id with its prefix
      logger - 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 delete
      parameters - the additional parameters
      rights - the map of rights id with its prefix
      logger - 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 delete
      parameters - the additional parameters
      rights - the map of rights id with its prefix
      results - the results map
      logger - 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 delete
      parameters - the additional parameters
      rights - the map of rights id with its prefix
      results - the results map
      logger - 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 delete
      parent - the jcr parent for saving changes
      results - the results map
      logger - 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 content
      rights - the map of rights id with its prefix
      results - the results map
      Returns:
      true if we can delete the content
    • _getEventParametersForDeletion

      Get parameters for content deleted Event
      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 content
      rights - 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 content
      logger - 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 delete
      rights - the map of rights id with its prefix
      results - The results
      logger - 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 content
      parameters - the additional parameters
      logger - 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, 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 delete
      parameters - the additional parameters
      rights - the map of rights id with its prefix
      results - The results
      logger - The logger
      Returns:
      The id of contents to be deleted