Class RepoClassPathStore

java.lang.Object
org.springframework.extensions.webscripts.AbstractStore
org.springframework.extensions.webscripts.ClassPathStore
org.alfresco.repo.web.scripts.RepoClassPathStore
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.extensions.webscripts.Store

public class RepoClassPathStore extends org.springframework.extensions.webscripts.ClassPathStore
Extension of the SpringSurf ClassPathStore to ensure that the examination of last modified dates on classpath bound resources does not cause a performance degredation in REST heavy client applications.

In the repository, due to the possibility of Repository bound resources, all WebScript search path lists have the "delay" set to either zero seconds (no delay) or something close to that. This means that the FreeMarker template cache is always or often requesting the last modified date of a classpath resource - and the resources do not change. Note that the /extension classpath store still uses the original ClassPathStore. Otherwise all stores can be refreshed as usual via the Refresh WebScripts command.

Author:
Kevin Roast
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.springframework.extensions.webscripts.ClassPathStore

    org.springframework.extensions.webscripts.ClassPathStore.ClassPathTemplateSource
  • Field Summary

    Fields inherited from class org.springframework.extensions.webscripts.ClassPathStore

    applicationContext, classPath, exists, mustExist, resolver, storeDirs, VFSFILE_URL_PREFIX, VFSJAR_URL_SEPARATOR, VFSWAR_CLASSES_URL_SEPARATOR, VFSWAR_URL_SEPARATOR, VFSZIP_URL_PREFIX

    Fields inherited from class org.springframework.extensions.webscripts.AbstractStore

    DESC_PATH_PATTERN
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    freemarker.cache.TemplateLoader
     
    long
    lastModified(String documentPath)
     

    Methods inherited from class org.springframework.extensions.webscripts.ClassPathStore

    createDocument, createPath, exists, extractJarFileURL, getAllDocumentPaths, getBasePath, getDescriptionDocumentPaths, getDocument, getDocumentPaths, getScriptDocumentPaths, getScriptLoader, hasDocument, init, isJarURL, isReadOnly, isSecure, removeDocument, setApplicationContext, setClassPath, setMustExist, toString, updateDocument

    Methods inherited from class org.springframework.extensions.webscripts.AbstractStore

    createDocuments, getDocumentPaths, getPreviewContext, setPreviewContextProvider, setReadOnly

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.springframework.extensions.webscripts.Store

    createDocuments, getDocumentPaths
  • Constructor Details

    • RepoClassPathStore

      public RepoClassPathStore()
  • Method Details

    • getTemplateLoader

      public freemarker.cache.TemplateLoader getTemplateLoader()
      Specified by:
      getTemplateLoader in interface org.springframework.extensions.webscripts.Store
      Overrides:
      getTemplateLoader in class org.springframework.extensions.webscripts.ClassPathStore
    • lastModified

      public long lastModified(String documentPath) throws IOException
      Specified by:
      lastModified in interface org.springframework.extensions.webscripts.Store
      Overrides:
      lastModified in class org.springframework.extensions.webscripts.ClassPathStore
      Throws:
      IOException