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 source)
      Check if a user has read rights on an extraction container or file
      Parameters:
      userIdentity - the user
      source - the source of the extraction container or file
      Returns:
      true if the user has read rights on an extraction container, false otherwise
    • canWrite

      public boolean canWrite(UserIdentity userIdentity, TraversableSource source)
      Check if a user has write rights on an extraction container or an extraction
      Parameters:
      userIdentity - the user
      source - the source of the extraction file or extration 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 source)
      Determines if the user can delete an extraction container or the extraction file
      Parameters:
      userIdentity - the user
      source - the extraction container or the extraction file
      Returns:
      true if the user can delete the extraction container
    • canWrite

      public boolean canWrite(UserIdentity userIdentity, TraversableSource source, boolean recursively)
      Check if a user has write access on an extraction container
      Parameters:
      userIdentity - the user user identity
      source - the extraction container or the extraction file
      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 source)
      Check if a user can edit rights on an extraction container or an extraction file
      Parameters:
      userIdentity - the user
      source - the source of the extraction container or file
      Returns:
      true if the user can edit rights on an extraction container or file
    • _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
    • getExtractionRightPath

      Get the path for rights of an extraction container or file
      Parameters:
      source - the source of extraction container or file
      Returns:
      the path for rights
    • getExtractionSource

      Get the source corresponding to the right context of an extraction container or file
      Parameters:
      rightContext - The rights context such as '/extraction-dir/path/to/file
      Returns:
      the resolved source file or null if the given context is not an extraction context
      Throws:
      IOException - if an error occured
    • 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
    • moveOrRenameExtractionDefinitionFile

      public Map<String,Object> moveOrRenameExtractionDefinitionFile(String srcRelPath, String targetRelPath) throws IOException
      Move an extraction file or folder inside a given directory
      Parameters:
      srcRelPath - The relative URI of file/folder to move
      targetRelPath - The target relative URI of file/folder to move
      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
    • getAuthor

      public UserIdentity getAuthor(FileSource extractionPath)
      Get the author of extraction
      Parameters:
      extractionPath - the path of the extraction
      Returns:
      the author
    • trimLastFileSeparator

      public static String trimLastFileSeparator(String uri)
      Remove the last separator from the uri if it has any
      Parameters:
      uri - the uri
      Returns:
      the uri without any ending separator
    • getFilteredPath

      public List<String> getFilteredPath(String path, String value)
      Get the path of all children that match the provided value.
      Parameters:
      path - the path to the extraction to consider as root
      value - the value
      Returns:
      the list of path