Class ExtractionDAO

java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.plugins.extraction.execution.ExtractionDAO
All Implemented Interfaces:
LogEnabled, Initializable, Component, Serviceable

Object representing the extraction definition file content
  • Field Details

    • ROLE

      public static final String ROLE
      The Avalon role
  • Constructor Details

  • Method Details

    • service

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

      public void initialize() throws Exception
      Specified by:
      initialize in interface Initializable
      Throws:
      Exception
    • getRootProperties

      Get the root container properties
      Returns:
      The root container properties
      Throws:
      IOException - If an error occurred while reading folder
    • getExtractionContainerProperties

      Get extraction container properties
      Parameters:
      folder - the source of the extraction container
      Returns:
      The extraction container properties
    • getExtractionProperties

      Get extraction properties
      Parameters:
      extraction - the extraction
      file - the source of the extraction
      Returns:
      The extraction properties
    • hasAnyReadableDescendant

      Check if a folder has a descendant in read access for a given user
      Parameters:
      userIdentity - the user
      folder - the source of the extraction container
      Returns:
      true if the folder has a descendant in read access, false otherwise
    • hasAnyWritableDescendant

      Check if a folder have descendant in write access for a given user
      Parameters:
      userIdentity - the user identity
      folder - the source of the extraction container
      Returns:
      true if the user have write right for at least one child of this container
    • hasAnyWritableDescendant

      public Boolean hasAnyWritableDescendant(UserIdentity userIdentity, TraversableSource folder, boolean ignoreExtraction)
      Check if a folder have descendant in write access for a given user
      Parameters:
      userIdentity - the user identity
      folder - the source of the extraction container
      ignoreExtraction - true to ignore extraction file from search (rights will check only on containers)
      Returns:
      true if the user have write right for at least one child of this container
    • hasAnyAssignableDescendant

      public boolean hasAnyAssignableDescendant(UserIdentity userIdentity, TraversableSource folder)
      Checks if a folder has descendants in the right assignment access for a given user
      Parameters:
      userIdentity - the user
      folder - the source of the extraction container
      Returns:
      true if the folder has descendant, false otherwise
    • canRead

      public boolean canRead(UserIdentity userIdentity, TraversableSource folder)
      Check if a user has read rights on an extraction container
      Parameters:
      userIdentity - the user
      folder - the source of the extraction container
      Returns:
      true if the user has read rights on an extraction container, false otherwise
    • canWrite

      public boolean canWrite(UserIdentity userIdentity, TraversableSource folder)
      Check if a user has write rights on an extraction container
      Parameters:
      userIdentity - the user
      folder - the source of the extraction container
      Returns:
      true if the user has write rights on an extraction container, false otherwise
    • canRename

      public boolean canRename(UserIdentity userIdentity, TraversableSource folder)
      Determines if the user can rename an extraction container
      Parameters:
      userIdentity - the user
      folder - the extraction container
      Returns:
      true if the user can delete the extraction container
    • canDelete

      public boolean canDelete(UserIdentity userIdentity, TraversableSource folder)
      Determines if the user can delete an extraction container
      Parameters:
      userIdentity - the user
      folder - the extraction container
      Returns:
      true if the user can delete the extraction container
    • canWrite

      public boolean canWrite(UserIdentity userIdentity, TraversableSource folder, boolean recursively)
      Check if a user has write access on an extraction container
      Parameters:
      userIdentity - the user user identity
      folder - the extraction container
      recursively - true to check write access on all descendants recursively
      Returns:
      true if the user has write access on the extraction container
    • canAssignRights

      public boolean canAssignRights(UserIdentity userIdentity, TraversableSource folder)
      Check if a user can edit rights on an extraction container
      Parameters:
      userIdentity - the user
      folder - the source of the extraction container
      Returns:
      true if the user can edit rights on an extraction container
    • _isRoot

      protected boolean _isRoot(TraversableSource folder)
      Determines if the extraction container is the root node
      Parameters:
      folder - the extraction container
      Returns:
      true if is root
    • canRead

      public boolean canRead(UserIdentity userIdentity, TraversableSource extractionSrc, UserIdentity author)
      Checks if a user has read rights on an extraction
      Parameters:
      userIdentity - the user
      extractionSrc - the source for the extraction
      author - the author of extraction
      Returns:
      true if the user has read rights on an extraction, false otherwise
    • canWrite

      public boolean canWrite(UserIdentity userIdentity, TraversableSource extractionSrc, UserIdentity author)
      Check if a user has write rights on an extraction
      Parameters:
      userIdentity - the user
      extractionSrc - the source for the extraction
      author - the author of extraction
      Returns:
      true if the user has write rights on an extraction, false otherwise
    • canDelete

      public boolean canDelete(UserIdentity userIdentity, TraversableSource extractionSrc, UserIdentity author)
      Checks if a user has write rights on an extraction
      Parameters:
      userIdentity - the user
      extractionSrc - the source for the extraction
      author - the author of extraction
      Returns:
      true if the user has write rights on an extraction, false otherwise
    • canAssignRights

      public boolean canAssignRights(UserIdentity userIdentity, TraversableSource extractionSrc, UserIdentity author)
      Check if a user has right affectation rights on an extraction container
      Parameters:
      userIdentity - the user
      extractionSrc - the source for the extraction
      author - the extraction author
      Returns:
      true if the user has right affectation rights on an extraction, false otherwise
    • getExtractionRightPath

      Get the relative path of an extraction or an extraction container
      Parameters:
      source - The source of the extraction or extraction container
      Returns:
      the relative path
    • getExtractionAbsolutePathFromContext

      Get the absolute path of an extraction or an extraction from the context
      Parameters:
      context - The context
      Returns:
      the relative path
      Throws:
      IOException - if I/O error occurred.
    • copyRights

      public void copyRights(String sourceContext, String targetContext)
      Copy rights from one context to another one
      Parameters:
      sourceContext - the source context
      targetContext - the target context
    • deleteRights

      public void deleteRights(String context)
      Delete rights from a context
      Parameters:
      context - the context
    • moveExtractionDefinitionFile

      public Map<String,Object> moveExtractionDefinitionFile(String srcRelPath, String parentRelPath) throws IOException
      Move an extraction file or folder inside a given directory
      Parameters:
      srcRelPath - The relative URI of file/folder to move
      parentRelPath - The URI relative of parent target file
      Returns:
      a result map with the name and uri of moved file in case of success.
      Throws:
      IOException - If an error occurred manipulating the source
    • moveSource

      public Map<String,Object> moveSource(String srcUri, String parentTargetUri, String sourceContext, String targetContext) throws IOException
      Move a file or folder
      Parameters:
      srcUri - The URI of file/folder to move
      parentTargetUri - The URI of parent target file
      sourceContext - the source context
      targetContext - the target context
      Returns:
      a result map with the name and uri of moved file in case of success.
      Throws:
      IOException - If an error occurred manipulating the source
    • copyRightsRecursively

      public void copyRightsRecursively(String sourceContext, String targetContext, TraversableSource file)
      Copy rights from one context to another one
      Parameters:
      sourceContext - the source context
      targetContext - the target context
      file - the source of the file to copy
    • deleteRightsRecursively

      public void deleteRightsRecursively(String context, TraversableSource file)
      Copy rights from one context to another one
      Parameters:
      context - the context
      file - the source of the file to copy
    • getUserIdentityByExtractionPath

      get the author of extraction
      Parameters:
      extractionPath - the path of the extraction
      Returns:
      the author