Class Thumbnail

java.lang.Object
org.alfresco.repo.processor.BaseProcessorExtension
org.alfresco.repo.jscript.BaseScopableProcessorExtension
fr.becpg.repo.jscript.Thumbnail
All Implemented Interfaces:
org.alfresco.processor.ProcessorExtension, org.alfresco.repo.jscript.Scopeable

public final class Thumbnail extends org.alfresco.repo.jscript.BaseScopableProcessorExtension
Helper JScript extension that retrieves or creates thumbnails/reports for entities. Acts as a thin orchestration layer over EntityService and EntityReportService with Alfresco transaction guard logic to avoid lock conflicts.
Author:
matthieu,gaspard
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
    private static final org.apache.commons.logging.Log
     
    private org.alfresco.service.cmr.repository.NodeService
     
    private org.alfresco.service.ServiceRegistry
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    cleanThumbnails(org.alfresco.service.cmr.repository.NodeRef reportNodeRef)
     
    private <T> T
    Helper to execute a supplier in a writable transaction and as system user.
    org.alfresco.repo.jscript.ScriptNode
    getOrCreateImageNode(org.alfresco.repo.jscript.ScriptNode sourceNode)
    getOrCreateImageNode.
    org.alfresco.repo.jscript.ScriptNode
    getReportNode(org.alfresco.repo.jscript.ScriptNode sourceNode)
    getReportNode.
    org.alfresco.repo.jscript.ScriptNode
    getThumbnailNode(org.alfresco.repo.jscript.ScriptNode sourceNode)
    getThumbnailNode.
    org.alfresco.repo.jscript.ScriptNode
    refreshReport(org.alfresco.repo.jscript.ScriptNode reportNode)
    Force a refresh of an existing report node.
    void
    Setter for the field entityReportService.
    void
    Setter for the field entityService.
    void
    setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
    Setter for the field nodeService.
    void
    setServiceRegistry(org.alfresco.service.ServiceRegistry serviceRegistry)
    Setter for the field serviceRegistry.
    private org.alfresco.service.cmr.repository.NodeRef
    unwrapVirtualNodeIfNeeded(org.alfresco.service.cmr.repository.NodeRef nodeRef)
     

    Methods inherited from class org.alfresco.repo.jscript.BaseScopableProcessorExtension

    getScope, setScope

    Methods inherited from class org.alfresco.repo.processor.BaseProcessorExtension

    getExtensionName, register, setExtensionName, setProcessor

    Methods inherited from class java.lang.Object

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

    • logger

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

      private org.alfresco.service.cmr.repository.NodeService nodeService
    • entityService

      private EntityService entityService
    • entityReportService

      private EntityReportService entityReportService
    • serviceRegistry

      private org.alfresco.service.ServiceRegistry serviceRegistry
  • Constructor Details

    • Thumbnail

      public Thumbnail()
  • Method Details

    • setNodeService

      public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)

      Setter for the field nodeService.

      Parameters:
      nodeService - a NodeService object
    • setEntityService

      public void setEntityService(EntityService entityService)

      Setter for the field entityService.

      Parameters:
      entityService - a EntityService object.
    • setEntityReportService

      public void setEntityReportService(EntityReportService entityReportService)

      Setter for the field entityReportService.

      Parameters:
      entityReportService - a EntityReportService object.
    • setServiceRegistry

      public void setServiceRegistry(org.alfresco.service.ServiceRegistry serviceRegistry)

      Setter for the field serviceRegistry.

      Parameters:
      serviceRegistry - a ServiceRegistry object.
    • getThumbnailNode

      public org.alfresco.repo.jscript.ScriptNode getThumbnailNode(org.alfresco.repo.jscript.ScriptNode sourceNode)

      getThumbnailNode.

      Parameters:
      sourceNode - a ScriptNode object.
      Returns:
      a ScriptNode object.
    • getOrCreateImageNode

      public org.alfresco.repo.jscript.ScriptNode getOrCreateImageNode(org.alfresco.repo.jscript.ScriptNode sourceNode)

      getOrCreateImageNode.

      Parameters:
      sourceNode - a ScriptNode object.
      Returns:
      a ScriptNode object.
    • getReportNode

      public org.alfresco.repo.jscript.ScriptNode getReportNode(org.alfresco.repo.jscript.ScriptNode sourceNode)

      getReportNode.

      Parameters:
      sourceNode - a ScriptNode object.
      Returns:
      a ScriptNode object.
    • refreshReport

      public org.alfresco.repo.jscript.ScriptNode refreshReport(org.alfresco.repo.jscript.ScriptNode reportNode)
      Force a refresh of an existing report node. Returns the refreshed report script node.
      Parameters:
      reportNode - a ScriptNode object
      Returns:
      a ScriptNode object
    • cleanThumbnails

      private void cleanThumbnails(org.alfresco.service.cmr.repository.NodeRef reportNodeRef)
    • executeWithWritableTransaction

      private <T> T executeWithWritableTransaction(Supplier<T> supplier)
      Helper to execute a supplier in a writable transaction and as system user. It avoids creating a new transaction if the current one is already writable. Returns the supplier result or null on failure.
    • unwrapVirtualNodeIfNeeded

      private org.alfresco.service.cmr.repository.NodeRef unwrapVirtualNodeIfNeeded(org.alfresco.service.cmr.repository.NodeRef nodeRef)