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
public class ProjectResourceURIResolver extends AbstractLogEnabled implements URIResolver, PluginAware, Serviceable, Contextualizable
URIResolverfor type "project-resource".
These links point to a file from the resources of a project.
-
-
Field Summary
Fields Modifier and Type Field Description protected Context_contextThe avalon context.protected String_pluginNameplugin nameprotected AmetysObjectResolver_resolverThe ametys object resolver.protected URIPrefixHandler_webPrefixHandlerThe URI prefix handler
-
Constructor Summary
Constructors Constructor Description ProjectResourceURIResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Project_getProject(AmetysObject resource)Retrieves parent projectprotected String_resolve(String uri, boolean download, boolean absolute, boolean internal, String prefix, String suffix)Creates a full uriConsistencyChecker.CHECKcheckLink(String uri, boolean shortTest)Tests if the URI is not broken.voidcontextualize(Context context)I18nizableTextgetLabel(String uri)Get an URI label.protected StringgetRealPrefix(Resource resource, String prefix)Get the real prefixprotected StringgetResourcePath(Resource resource)Get the resource pathStringgetType()Returns the type of links handled by thisURIResolver.protected StringgetUriPrefix(AmetysObject object, boolean download, boolean absolute, boolean internal)Get the URI prefixStringresolve(String uri, boolean download, boolean absolute, boolean internal)Resolves a link URI for rendering purposes.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.StringresolveBoundedImage(String uri, int maxHeight, int maxWidth, boolean download, boolean absolute, boolean internal)Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.StringresolveBoundedImageAsBase64(String uri, int maxHeight, int maxWidth)Resolve an image and return it as a base64-encoded string.StringresolveCroppedImage(String uri, int cropHeight, int cropWidth, boolean download, boolean absolute, boolean internal)Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.StringresolveCroppedImageAsBase64(String uri, int cropHeight, int cropWidth)Resolve an image and return it as a base64-encoded string.StringresolveImage(String uri, int height, int width, boolean download, boolean absolute, boolean internal)Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.StringresolveImageAsBase64(String uri, int height, int width)Resolve an image and return it as a base64-encoded string.protected StringresolveImageAsBase64(String uri, int height, int width, int maxHeight, int maxWidth, int cropHeight, int cropWidth)Get an image's bytes encoded as base64, optionally resized.voidservice(ServiceManager manager)voidsetPluginInfo(String pluginName, String featureName, String id)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.-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_resolver
protected AmetysObjectResolver _resolver
The ametys object resolver.
-
_pluginName
protected String _pluginName
plugin name
-
_webPrefixHandler
protected URIPrefixHandler _webPrefixHandler
The URI prefix handler
-
-
Constructor Detail
-
ProjectResourceURIResolver
public ProjectResourceURIResolver()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
setPluginInfo
public void setPluginInfo(String pluginName, String featureName, String id)
Description copied from interface:PluginAwareSets 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:
setPluginInfoin interfacePluginAware- Parameters:
pluginName- Unique identifier for the plugin hosting the extensionfeatureName- Unique feature identifier (unique for a given pluginName)id- Unique identifier of this component
-
getType
public String getType()
Description copied from interface:URIResolverReturns the type of links handled by thisURIResolver.- Specified by:
getTypein interfaceURIResolver- 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:URIResolverResolves 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:
resolvein interfaceURIResolver- Parameters:
uri- the link URI.download- true if the pointed resource is to be downloaded.absolute- true if the url must be absoluteinternal- 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:URIResolverResolves 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:
resolveImagein interfaceURIResolver- Parameters:
uri- the link URI.height- the height of the image.width- the width of the imagedownload- true if the pointed resource is to be downloaded.absolute- true if the url must be absoluteinternal- 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:URIResolverResolve an image and return it as a base64-encoded string.- Specified by:
resolveImageAsBase64in interfaceURIResolver- 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:URIResolverResolves 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:
resolveBoundedImagein interfaceURIResolver- Parameters:
uri- the link URI.maxHeight- the max heightmaxWidth- the max widthdownload- true if the pointed resource is to be downloaded.absolute- true if the url must be absoluteinternal- 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:URIResolverResolve an image and return it as a base64-encoded string.- Specified by:
resolveBoundedImageAsBase64in interfaceURIResolver- Parameters:
uri- the link URI.maxHeight- the max heightmaxWidth- 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:URIResolverResolves 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:
resolveCroppedImagein interfaceURIResolver- Parameters:
uri- the link URI.cropHeight- the crop heightcropWidth- the crop widthdownload- true if the pointed resource is to be downloaded.absolute- true if the url must be absoluteinternal- 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:URIResolverResolve an image and return it as a base64-encoded string.- Specified by:
resolveCroppedImageAsBase64in interfaceURIResolver- Parameters:
uri- the link URI.cropHeight- the crop heightcropWidth- 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 iddownload- true to create a forced download uriabsolute- true to create an absolute uri (if internal is false)internal- true to create an internal uriprefix- Prefix on the urisuffix- 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:URIResolverTests if the URI is not broken.- Specified by:
checkLinkin interfaceURIResolver- Parameters:
uri- The uri to testshortTest- 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
public I18nizableText getLabel(String uri)
Description copied from interface:URIResolverGet an URI label.- Specified by:
getLabelin interfaceURIResolver- 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 objectdownload- true if the pointed resource is to be downloaded.absolute- true if the url must be absoluteinternal- 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 resourceprefix- 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
-
-