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
    Constant ENTITY_ICONS_CACHE_KEY="entityIcons"
    private static final Pattern
    Constant ENTITY_ICONS_PATTERN
     
     
    private org.alfresco.service.cmr.model.FileFolderService
     
    private static final String
    Constant ICON_NAME="generic-%s-%s.png"
    private static final String
    Constant ICON_NAME_TEMPLATE="generic-%s-%s-%s.png"
    private static final Set<org.alfresco.service.namespace.QName>
    Constant IGNORE_PARENT_ASSOC_TYPES
    private static final String[]
     
    private static final org.apache.commons.logging.Log
    Constant logger
    private static final Integer
    Constant MAX_DEPTH_LEVEL
    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)
    copyOrMoveFile.
    private void
    copyOrMoveFiles(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean isCopy)
    copyOrMoveFiles.
    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)
    deleteNode.
    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)
    getEntityNodeRef.
    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
      Constant MAX_DEPTH_LEVEL
    • ICON_NAME

      private static final String ICON_NAME
      Constant ICON_NAME="generic-%s-%s.png"
      See Also:
    • ICON_NAME_TEMPLATE

      private static final String ICON_NAME_TEMPLATE
      Constant ICON_NAME_TEMPLATE="generic-%s-%s-%s.png"
      See Also:
    • ENTITY_ICONS_CACHE_KEY

      private static final String ENTITY_ICONS_CACHE_KEY
      Constant ENTITY_ICONS_CACHE_KEY="entityIcons"
      See Also:
    • ENTITY_ICONS_PATTERN

      private static final Pattern ENTITY_ICONS_PATTERN
      Constant ENTITY_ICONS_PATTERN
    • IMAGE_EXTENSIONS

      private static final String[] IMAGE_EXTENSIONS
    • logger

      private static final org.apache.commons.logging.Log logger
      Constant 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
      Constant 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
      invalid reference
      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:
      workingCopyName - a String object
      workingCopyLabel - a String object
      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)

      copyOrMoveFiles.

      Parameters:
      sourceNodeRef - a NodeRef object
      targetNodeRef - a NodeRef object
      isCopy - a boolean
    • copyOrMoveFile

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

      copyOrMoveFile.

      Parameters:
      file - a FileInfo object
      parentNodeRef - a NodeRef object
      isCopy - a boolean
    • 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)

      deleteNode.

      Parameters:
      nodeRef - a NodeRef object
      deleteArchivedNode - a boolean
    • 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)

      getEntityNodeRef.

      Parameters:
      nodeRef - a NodeRef object
      itemType - a QName object
      visitedNodeRefs - a Set object
      Returns:
      a NodeRef object
    • 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.