Class EntityServiceImpl

java.lang.Object
fr.becpg.repo.entity.impl.EntityServiceImpl
All Implemented Interfaces:
EntityService

@Service("entityService") public class EntityServiceImpl extends Object implements EntityService
Entity Service implementation
Version:
$Id: $Id
Author:
querephi
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
    private org.alfresco.service.cmr.repository.ContentService
     
    private org.alfresco.service.cmr.repository.CopyService
     
    private static final String
     
    private static final Pattern
     
     
     
    private org.alfresco.service.cmr.model.FileFolderService
     
    private static final String
     
    private static final String
     
    private static final Set<org.alfresco.service.namespace.QName>
     
    private static final org.apache.commons.logging.Log
     
    private static final Integer
     
    private org.alfresco.service.cmr.repository.MimetypeService
     
    private org.alfresco.service.cmr.repository.NodeService
     
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    changeEntityListStates(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, EntityListState state)
    changeEntityListStates.
    void
    copyFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef)
    copyFiles.
    private void
    copyOrMoveFile(org.alfresco.service.cmr.model.FileInfo file, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, boolean isCopy)
     
    private void
    copyOrMoveFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean isCopy)
     
    org.alfresco.service.cmr.repository.NodeRef
    createDefaultImage(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)
    createDefaultImage.
    org.alfresco.service.cmr.repository.NodeRef
    createOrCopyFrom(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName entityType, String entityName)
    createOrCopyFrom.
    void
    deleteDataLists(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, boolean deleteArchivedNodes)
    deleteDataLists.
    void
    deleteFiles(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, boolean deleteArchivedNodes)
    deleteFiles.
    private void
    deleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean deleteArchivedNode)
     
    getDefaultImageName(org.alfresco.service.namespace.QName entityTypeQName)
    getDefaultImageName.
    Map<org.alfresco.service.cmr.repository.NodeRef,List<org.alfresco.service.cmr.repository.NodeRef>>
    getDocumentsByType(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)
    getDocumentsByType.
    org.alfresco.service.cmr.repository.NodeRef
    getDocumentsFolder(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, boolean create)
    getDocumentsFolder.
    private int
    Get the configured recursive depth for document search
    org.alfresco.service.cmr.repository.NodeRef
    getEntityDefaultIcon(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, String imageResolution)
    getEntityDefaultIcon.
    org.alfresco.service.cmr.repository.NodeRef
    getEntityDefaultImage(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)
    getEntityDefaultImage.
    Map<String,org.alfresco.service.cmr.repository.NodeRef>
    getEntityIcons.
    org.alfresco.service.cmr.repository.NodeRef
    getEntityNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName itemType)
    getEntityNodeRef.
    private org.alfresco.service.cmr.repository.NodeRef
    getEntityNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName itemType, Set<org.alfresco.service.cmr.repository.NodeRef> visitedNodeRefs)
     
    byte[]
    getImage(org.alfresco.service.cmr.repository.NodeRef nodeRef)
    getImage.
    org.alfresco.service.cmr.repository.NodeRef
    getImage(org.alfresco.service.cmr.repository.NodeRef nodeRef, String imgName)
    getImage.
    org.alfresco.service.cmr.repository.NodeRef
    getImageFolder(org.alfresco.service.cmr.repository.NodeRef nodeRef)
    getImageFolder.
    List<org.alfresco.service.cmr.repository.NodeRef>
    getImages(org.alfresco.service.cmr.repository.NodeRef nodeRef)
    getImages.
    private String
    getNameFromWorkingCopyName(String workingCopyName, String workingCopyLabel)
    Get original name from the working copy name and the cm:workingCopyLabel that was used to create it.
    org.alfresco.service.cmr.repository.NodeRef
    getOrCreateDocumentsFolder(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)
    getOrCreateDocumentsFolder.
    org.alfresco.service.cmr.repository.NodeRef
    getOrCreateImageFolder(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)
    getOrCreateImageFolder.
    boolean
    hasAssociatedImages(org.alfresco.service.namespace.QName type)
    hasAssociatedImages.
    void
    moveFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef)
    moveFiles.
    private void
    processDocumentsInFolder(org.alfresco.service.cmr.repository.NodeRef folderNodeRef, Map<org.alfresco.service.cmr.repository.NodeRef,List<org.alfresco.service.cmr.repository.NodeRef>> docByType)
    Process documents in a specific folder
    private void
    processFoldersRecursively(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, Map<org.alfresco.service.cmr.repository.NodeRef,List<org.alfresco.service.cmr.repository.NodeRef>> docByType, int currentDepth, int maxDepth)
    Process folders recursively up to the specified depth
    void
    writeImages(org.alfresco.service.cmr.repository.NodeRef nodeRef, Map<String,byte[]> images)
    writeImages.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MAX_DEPTH_LEVEL

      private static final Integer MAX_DEPTH_LEVEL
    • ICON_NAME

      private static final String ICON_NAME
      See Also:
    • ICON_NAME_TEMPLATE

      private static final String ICON_NAME_TEMPLATE
      See Also:
    • ENTITY_ICONS_CACHE_KEY

      private static final String ENTITY_ICONS_CACHE_KEY
      See Also:
    • ENTITY_ICONS_PATTERN

      private static final Pattern ENTITY_ICONS_PATTERN
    • logger

      private static final org.apache.commons.logging.Log logger
    • nodeService

      @Autowired private org.alfresco.service.cmr.repository.NodeService nodeService
    • mimetypeService

      @Autowired private org.alfresco.service.cmr.repository.MimetypeService mimetypeService
    • beCPGCacheService

      @Autowired private BeCPGCacheService beCPGCacheService
    • entityListDAO

      @Autowired private EntityListDAO entityListDAO
    • fileFolderService

      @Autowired private org.alfresco.service.cmr.model.FileFolderService fileFolderService
    • copyService

      @Autowired private org.alfresco.service.cmr.repository.CopyService copyService
    • contentService

      @Autowired private org.alfresco.service.cmr.repository.ContentService contentService
    • entityDictionaryService

      @Autowired private EntityDictionaryService entityDictionaryService
    • associationService

      @Autowired private AssociationService associationService
    • systemConfigurationService

      @Autowired private SystemConfigurationService systemConfigurationService
    • IGNORE_PARENT_ASSOC_TYPES

      private static final Set<org.alfresco.service.namespace.QName> IGNORE_PARENT_ASSOC_TYPES
  • Constructor Details

    • EntityServiceImpl

      public EntityServiceImpl()
  • Method Details

    • getImage

      public org.alfresco.service.cmr.repository.NodeRef getImage(org.alfresco.service.cmr.repository.NodeRef nodeRef, String imgName)

      getImage.

      Load an image in the folder Images.
      Specified by:
      getImage in interface EntityService
      Parameters:
      nodeRef - a NodeRef object.
      imgName - a String object.
      Returns:
      a NodeRef object.
    • getEntityDefaultIcon

      public org.alfresco.service.cmr.repository.NodeRef getEntityDefaultIcon(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, String imageResolution)

      getEntityDefaultIcon.

      Specified by:
      getEntityDefaultIcon in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object
      imageResolution - a String object
      Returns:
      a NodeRef object
    • getEntityIcons

      public Map<String,org.alfresco.service.cmr.repository.NodeRef> getEntityIcons()

      getEntityIcons.

      Specified by:
      getEntityIcons in interface EntityService
      Returns:
      a Map object
    • getImages

      public List<org.alfresco.service.cmr.repository.NodeRef> getImages(org.alfresco.service.cmr.repository.NodeRef nodeRef)

      getImages.

      Specified by:
      getImages in interface EntityService
      Parameters:
      nodeRef - a NodeRef object.
      Returns:
      a List object.
    • getImageFolder

      public org.alfresco.service.cmr.repository.NodeRef getImageFolder(org.alfresco.service.cmr.repository.NodeRef nodeRef)

      getImageFolder.

      Specified by:
      getImageFolder in interface EntityService
      Parameters:
      nodeRef - a NodeRef object.
      Returns:
      a NodeRef object.
    • getOrCreateImageFolder

      public org.alfresco.service.cmr.repository.NodeRef getOrCreateImageFolder(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)

      getOrCreateImageFolder.

      Specified by:
      getOrCreateImageFolder in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object
      Returns:
      a NodeRef object
    • getImage

      public byte[] getImage(org.alfresco.service.cmr.repository.NodeRef nodeRef)

      getImage.

      Load the image associated to the node.
      Specified by:
      getImage in interface EntityService
      Parameters:
      nodeRef - a NodeRef object.
      Returns:
      an array of byte objects.
    • writeImages

      public void writeImages(org.alfresco.service.cmr.repository.NodeRef nodeRef, Map<String,byte[]> images)

      writeImages.

      Specified by:
      writeImages in interface EntityService
      Parameters:
      nodeRef - a NodeRef object.
      images - a Map object.
    • getEntityDefaultImage

      public org.alfresco.service.cmr.repository.NodeRef getEntityDefaultImage(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)

      getEntityDefaultImage.

      Specified by:
      getEntityDefaultImage in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      Returns:
      a NodeRef object.
    • getDefaultImageName

      public String getDefaultImageName(org.alfresco.service.namespace.QName entityTypeQName)

      getDefaultImageName.

      Specified by:
      getDefaultImageName in interface EntityService
      Parameters:
      entityTypeQName - a QName object.
      Returns:
      a String object.
    • createDefaultImage

      public org.alfresco.service.cmr.repository.NodeRef createDefaultImage(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)

      createDefaultImage.

      Specified by:
      createDefaultImage in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      Returns:
      a NodeRef object.
    • hasAssociatedImages

      public boolean hasAssociatedImages(org.alfresco.service.namespace.QName type)

      hasAssociatedImages.

      Specified by:
      hasAssociatedImages in interface EntityService
      Parameters:
      type - a QName object.
      Returns:
      a boolean.
    • getOrCreateDocumentsFolder

      public org.alfresco.service.cmr.repository.NodeRef getOrCreateDocumentsFolder(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)

      getOrCreateDocumentsFolder.

      Specified by:
      getOrCreateDocumentsFolder in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      Returns:
      a NodeRef object.
    • getDocumentsFolder

      public org.alfresco.service.cmr.repository.NodeRef getDocumentsFolder(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, boolean create)

      getDocumentsFolder.

      Specified by:
      getDocumentsFolder in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      create - a boolean.
      Returns:
      a NodeRef object.
    • getDocumentsByType

      public Map<org.alfresco.service.cmr.repository.NodeRef,List<org.alfresco.service.cmr.repository.NodeRef>> getDocumentsByType(org.alfresco.service.cmr.repository.NodeRef entityNodeRef)

      getDocumentsByType.

      Specified by:
      getDocumentsByType in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object
      Returns:
      a Map object
    • getDocumentsRecursiveDepth

      private int getDocumentsRecursiveDepth()
      Get the configured recursive depth for document search
      Returns:
      the maximum depth to search recursively
    • processDocumentsInFolder

      private void processDocumentsInFolder(org.alfresco.service.cmr.repository.NodeRef folderNodeRef, Map<org.alfresco.service.cmr.repository.NodeRef,List<org.alfresco.service.cmr.repository.NodeRef>> docByType)
      Process documents in a specific folder
      Parameters:
      folderNodeRef - the folder to process
      docByType - the map to populate with documents by type
    • processFoldersRecursively

      private void processFoldersRecursively(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, Map<org.alfresco.service.cmr.repository.NodeRef,List<org.alfresco.service.cmr.repository.NodeRef>> docByType, int currentDepth, int maxDepth)
      Process folders recursively up to the specified depth
      Parameters:
      parentNodeRef - the parent folder
      docByType - the map to populate with documents by type
      currentDepth - the current recursion depth
      maxDepth - the maximum depth to recurse
    • createOrCopyFrom

      public org.alfresco.service.cmr.repository.NodeRef createOrCopyFrom(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName entityType, String entityName)

      createOrCopyFrom.

      Specified by:
      createOrCopyFrom in interface EntityService
      Parameters:
      sourceNodeRef - a NodeRef object.
      parentNodeRef - a NodeRef object.
      entityType - a QName object.
      entityName - a String object.
      Returns:
      a NodeRef object.
    • getNameFromWorkingCopyName

      private String getNameFromWorkingCopyName(String workingCopyName, String workingCopyLabel)
      Get original name from the working copy name and the cm:workingCopyLabel that was used to create it.
      Parameters:
      workingCopyLabel -
      Returns:
      original name
    • copyFiles

      public void copyFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef)

      copyFiles.

      Specified by:
      copyFiles in interface EntityService
      Parameters:
      sourceNodeRef - a NodeRef object.
      targetNodeRef - a NodeRef object.
    • moveFiles

      public void moveFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef)

      moveFiles.

      Specified by:
      moveFiles in interface EntityService
      Parameters:
      sourceNodeRef - a NodeRef object.
      targetNodeRef - a NodeRef object.
    • copyOrMoveFiles

      private void copyOrMoveFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean isCopy)
    • copyOrMoveFile

      private void copyOrMoveFile(org.alfresco.service.cmr.model.FileInfo file, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, boolean isCopy)
    • deleteFiles

      public void deleteFiles(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, boolean deleteArchivedNodes)

      deleteFiles.

      Specified by:
      deleteFiles in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      deleteArchivedNodes - a boolean.
    • deleteNode

      private void deleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean deleteArchivedNode)
    • deleteDataLists

      public void deleteDataLists(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, boolean deleteArchivedNodes)

      deleteDataLists.

      Specified by:
      deleteDataLists in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      deleteArchivedNodes - a boolean.
    • getEntityNodeRef

      public org.alfresco.service.cmr.repository.NodeRef getEntityNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName itemType)

      getEntityNodeRef.

      Specified by:
      getEntityNodeRef in interface EntityService
      Parameters:
      nodeRef - a NodeRef object.
      itemType - a QName object.
      Returns:
      a NodeRef object.
    • getEntityNodeRef

      private org.alfresco.service.cmr.repository.NodeRef getEntityNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName itemType, Set<org.alfresco.service.cmr.repository.NodeRef> visitedNodeRefs)
    • changeEntityListStates

      public boolean changeEntityListStates(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, EntityListState state)

      changeEntityListStates.

      Specified by:
      changeEntityListStates in interface EntityService
      Parameters:
      entityNodeRef - a NodeRef object.
      state - a EntityListState object.
      Returns:
      a boolean.