Class ProjectResourceURIResolver

java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.plugins.workspaces.documents.ProjectResourceURIResolver
All Implemented Interfaces:
URIResolver, LogEnabled, PluginAware, Contextualizable, Serviceable
Direct Known Subclasses:
WebdavProjectResourceURIResolver

URIResolver for type "project-resource".
These links point to a file from the resources of a project.
  • Field Details

  • Constructor Details

  • Method Details

    • contextualize

      public void contextualize(Context context) throws ContextException
      Specified by:
      contextualize in interface Contextualizable
      Throws:
      ContextException
    • service

      public void service(ServiceManager manager) throws ServiceException
      Specified by:
      service in interface Serviceable
      Throws:
      ServiceException
    • setPluginInfo

      public void setPluginInfo(String pluginName, String featureName, String id)
      Description copied from interface: PluginAware
      Sets the plugin info relative to the current component.
      Note : The feature name may be null if the targeted component in declared at plugin level.
      Specified by:
      setPluginInfo in interface PluginAware
      Parameters:
      pluginName - Unique identifier for the plugin hosting the extension
      featureName - Unique feature identifier (unique for a given pluginName)
      id - Unique identifier of this component
    • getType

      public String getType()
      Description copied from interface: URIResolver
      Returns the type of links handled by this URIResolver.
      Specified by:
      getType in interface URIResolver
      Returns:
      the type of links handled by this URIResolver.
    • resolve

      public String resolve(String uri, boolean download, boolean absolute, boolean internal)
      Description copied from interface: URIResolver
      Resolves a link URI for rendering purposes.
      The output must be a properly encoded path, relative to the webapp context, accessible from a browser.
      Specified by:
      resolve in interface URIResolver
      Parameters:
      uri - the link URI.
      download - true if the pointed resource is to be downloaded.
      absolute - true if the url must be absolute
      internal - true to get an internal URI.
      Returns:
      the path to the resource.
    • resolveImage

      public String resolveImage(String uri, int height, int width, boolean download, boolean absolute, boolean internal)
      Description copied from interface: URIResolver
      Resolves a link URI for rendering image.
      The output must be a properly encoded path, relative to the webapp context, accessible from a browser.
      Specified by:
      resolveImage in interface URIResolver
      Parameters:
      uri - the link URI.
      height - the height of the image.
      width - the width of the image
      download - true if the pointed resource is to be downloaded.
      absolute - true if the url must be absolute
      internal - true to get an internal URI.
      Returns:
      the path to the image.
    • resolveImageAsBase64

      public String resolveImageAsBase64(String uri, int height, int width)
      Description copied from interface: URIResolver
      Resolve an image and return it as a base64-encoded string.
      Specified by:
      resolveImageAsBase64 in interface URIResolver
      Parameters:
      uri - the link URI.
      height - the height of the image.
      width - the width of the image
      Returns:
      a base64-encoded string representing the image.
    • resolveBoundedImage

      public String resolveBoundedImage(String uri, int maxHeight, int maxWidth, boolean download, boolean absolute, boolean internal)
      Description copied from interface: URIResolver
      Resolves a link URI for rendering image.
      The output must be a properly encoded path, relative to the webapp context, accessible from a browser.
      Specified by:
      resolveBoundedImage in interface URIResolver
      Parameters:
      uri - the link URI.
      maxHeight - the max height
      maxWidth - the max width
      download - true if the pointed resource is to be downloaded.
      absolute - true if the url must be absolute
      internal - true to get an internal URI.
      Returns:
      the path to the image.
    • resolveBoundedImageAsBase64

      public String resolveBoundedImageAsBase64(String uri, int maxHeight, int maxWidth)
      Description copied from interface: URIResolver
      Resolve an image and return it as a base64-encoded string.
      Specified by:
      resolveBoundedImageAsBase64 in interface URIResolver
      Parameters:
      uri - the link URI.
      maxHeight - the max height
      maxWidth - the max width
      Returns:
      a base64-encoded string representing the image.
    • resolveCroppedImage

      public String resolveCroppedImage(String uri, int cropHeight, int cropWidth, boolean download, boolean absolute, boolean internal)
      Description copied from interface: URIResolver
      Resolves a link URI for rendering image.
      The output must be a properly encoded path, relative to the webapp context, accessible from a browser.
      Specified by:
      resolveCroppedImage in interface URIResolver
      Parameters:
      uri - the link URI.
      cropHeight - the crop height
      cropWidth - the crop width
      download - true if the pointed resource is to be downloaded.
      absolute - true if the url must be absolute
      internal - true to get an internal URI.
      Returns:
      the path to the image.
    • resolveCroppedImageAsBase64

      public String resolveCroppedImageAsBase64(String uri, int cropHeight, int cropWidth)
      Description copied from interface: URIResolver
      Resolve an image and return it as a base64-encoded string.
      Specified by:
      resolveCroppedImageAsBase64 in interface URIResolver
      Parameters:
      uri - the link URI.
      cropHeight - the crop height
      cropWidth - the crop width
      Returns:
      a base64-encoded string representing the image.
    • _resolve

      protected String _resolve(String uri, boolean download, boolean absolute, boolean internal, String prefix, String suffix)
      Creates a full uri
      Parameters:
      uri - the base uri, ie the resource id
      download - true to create a forced download uri
      absolute - true to create an absolute uri (if internal is false)
      internal - true to create an internal uri
      prefix - Prefix on the uri
      suffix - Suffix on the uri
      Returns:
      The created uri
    • resolveImageAsBase64

      protected String resolveImageAsBase64(String uri, int height, int width, int maxHeight, int maxWidth, int cropHeight, int cropWidth)
      Get an image's bytes encoded as base64, optionally resized.
      Parameters:
      uri - the image URI.
      height - the specified height. Ignored if negative.
      width - the specified width. Ignored if negative.
      maxHeight - the maximum image height. Ignored if height or width is specified.
      maxWidth - the maximum image width. Ignored if height or width is specified.
      cropHeight - The cropping height. Ignored if negative.
      cropWidth - The cropping width. Ignored if negative.
      Returns:
      the image bytes encoded as base64.
    • checkLink

      public ConsistencyChecker.CHECK checkLink(String uri, boolean shortTest)
      Description copied from interface: URIResolver
      Tests if the URI is not broken.
      Specified by:
      checkLink in interface URIResolver
      Parameters:
      uri - The uri to test
      shortTest - If shortTest is to true, only fast check should be done. If false, complete test (even if long) should be done.
      Returns:
      SUCCESS if the test was done and ok, FAILURE if the test was done and ko, UNKNOWN if the test was not done (because too long). UNKNOWN can not be returned when shortTest is set to false
    • getLabel

      Description copied from interface: URIResolver
      Get an URI label.
      Specified by:
      getLabel in interface URIResolver
      Parameters:
      uri - the uri which label to get.
      Returns:
      the label.
    • getUriPrefix

      protected String getUriPrefix(AmetysObject object, boolean download, boolean absolute, boolean internal)
      Get the URI prefix
      Parameters:
      object - The object
      download - true if the pointed resource is to be downloaded.
      absolute - true if the url must be absolute
      internal - true to get an internal URI.
      Returns:
      the URI prefix
    • getResourcePath

      protected String getResourcePath(Resource resource)
      Get the resource path
      Parameters:
      resource - the resource
      Returns:
      the path
    • getRealPrefix

      protected String getRealPrefix(Resource resource, String prefix)
      Get the real prefix
      Parameters:
      resource - the resource
      prefix - the initial prefix
      Returns:
      the real prefix
    • _getProject

      protected Project _getProject(AmetysObject resource)
      Retrieves parent project
      Parameters:
      resource - The resource which belongs to a project
      Returns:
      The parent project