Package org.ametys.cms.remote
Class RemoteURIResolver
java.lang.Object
org.ametys.cms.remote.RemoteURIResolver
- All Implemented Interfaces:
URIResolver,Contextualizable,Serviceable
- Direct Known Subclasses:
RemoteURIResolver
URIResolver for type "remote".This resolver is a proxy to another type to be called from remote url. The resolved uri are necessary absolutes.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ContextThe contextprotected URIResolverExtensionPointThe ametys uri resolver -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionTests if the URI is not broken.voidcontextualize(Context context) protected StringgetAbsoluteRemoteUri(Request request, String resolvedUri) Get the absolute proxied uriprotected StringGet the absolute URI prefixGet an URI label.protected RemoteURIResolver.ProxiedUrigetProxiedUri(String uri) Get the proxied urigetType()Returns the type of links handled by thisURIResolver.protected StringgetUriPrefix(Request request) Get the URI prefix (non absolute) for resolved uriResolves a link URI for rendering purposes.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.resolveBoundedImage(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.resolveBoundedImageAsBase64(String uri, int maxHeight, int maxWidth) Resolve an image and return it as a base64-encoded string.resolveCroppedImage(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.resolveCroppedImageAsBase64(String uri, int cropHeight, int cropWidth) Resolve an image and return it as a base64-encoded string.resolveImage(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.resolveImageAsBase64(String uri, int height, int width) Resolve an image and return it as a base64-encoded string.voidservice(ServiceManager manager) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ametys.cms.transformation.URIResolver
getMimeType
-
Field Details
-
_context
The context -
_uriResolverEP
The ametys uri resolver
-
-
Constructor Details
-
RemoteURIResolver
public RemoteURIResolver()
-
-
Method Details
-
service
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
contextualize
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
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
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
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
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
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.
-
checkLink
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
Description copied from interface:URIResolverGet an URI label.- Specified by:
getLabelin interfaceURIResolver- Parameters:
uri- the uri which label to get.- Returns:
- the label.
-
getAbsoluteRemoteUri
Get the absolute proxied uri- Parameters:
request- the requestresolvedUri- the resolved uri- Returns:
- the absolute proxied url
-
getAbsoluteRemoteUriPrefix
Get the absolute URI prefix- Returns:
- the URI prefix
-
getUriPrefix
Get the URI prefix (non absolute) for resolved uri- Parameters:
request- The request- Returns:
- the URI prefix
-
getProxiedUri
Get the proxied uri- Parameters:
uri- The requested uri- Returns:
- the proxied uri or null
- Throws:
IllegalArgumentException- The uri does match the expected pattern
-