org.opencms.file.history
Class CmsHistoryResourceHandler

java.lang.Object
  extended by org.opencms.file.history.CmsHistoryResourceHandler
All Implemented Interfaces:
I_CmsResourceInit

public class CmsHistoryResourceHandler
extends java.lang.Object
implements I_CmsResourceInit

Resource init handler that loads historical versions of resources.

Since:
6.9.1

Field Summary
static java.lang.String ATTRIBUTE_NAME
          Constant for the historical version request attribute name.
static java.lang.String HISTORY_HANDLER
          The historical version handler path.
static java.lang.String PARAM_VERSION
          Request parameter name for the version number.
static int PROJECT_OFFLINE_VERSION
          Constant for the offline project version.
 
Constructor Summary
CmsHistoryResourceHandler()
           
 
Method Summary
static I_CmsHistoryResource getHistoryResource(javax.servlet.ServletRequest req)
          Returns the historical version of a resource, if the given request is displaying a history version.
static java.lang.String getHistoryResourceURI(java.lang.String uri, javax.servlet.ServletRequest req)
          Appends the version parameter to the URI if needed.
static CmsResource getResourceWithHistory(CmsObject cms, java.lang.String resourceUri)
          Returns the correct resource for the given URI, taken into account historical versions marked by the version parameter.
 CmsResource initResource(CmsResource resource, CmsObject cms, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Possibility to modify or change the CmsFile with the CmsObject.
static boolean isHistoryRequest(javax.servlet.ServletRequest req)
          Returns true if the given request is displaying an historical version.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTRIBUTE_NAME

public static final java.lang.String ATTRIBUTE_NAME
Constant for the historical version request attribute name.

See Also:
Constant Field Values

HISTORY_HANDLER

public static final java.lang.String HISTORY_HANDLER
The historical version handler path.

See Also:
Constant Field Values

PARAM_VERSION

public static final java.lang.String PARAM_VERSION
Request parameter name for the version number.

See Also:
Constant Field Values

PROJECT_OFFLINE_VERSION

public static final int PROJECT_OFFLINE_VERSION
Constant for the offline project version.

See Also:
Constant Field Values
Constructor Detail

CmsHistoryResourceHandler

public CmsHistoryResourceHandler()
Method Detail

getHistoryResource

public static I_CmsHistoryResource getHistoryResource(javax.servlet.ServletRequest req)
Returns the historical version of a resource, if the given request is displaying a history version.

Parameters:
req - the request to check
Returns:
the historical resource if the given request is displaying an historical version

getHistoryResourceURI

public static java.lang.String getHistoryResourceURI(java.lang.String uri,
                                                     javax.servlet.ServletRequest req)
Appends the version parameter to the URI if needed.

Parameters:
uri - the resource URI
req - the current request
Returns:
the same URI, with additional parameters in case of a historical request

getResourceWithHistory

public static CmsResource getResourceWithHistory(CmsObject cms,
                                                 java.lang.String resourceUri)
                                          throws CmsException
Returns the correct resource for the given URI, taken into account historical versions marked by the version parameter.

Parameters:
cms - the current CMS context
resourceUri - the resource URI
Returns:
the resource, which can be an instance of I_CmsHistoryResource
Throws:
CmsException - if something goes wrong

isHistoryRequest

public static boolean isHistoryRequest(javax.servlet.ServletRequest req)
Returns true if the given request is displaying an historical version.

Parameters:
req - the request to check
Returns:
true if the given request is displaying a historical version

initResource

public CmsResource initResource(CmsResource resource,
                                CmsObject cms,
                                javax.servlet.http.HttpServletRequest req,
                                javax.servlet.http.HttpServletResponse res)
                         throws CmsResourceInitException
Description copied from interface: I_CmsResourceInit
Possibility to modify or change the CmsFile with the CmsObject.

Caution: reading parameters from the request, destroys special characters in all parameters, because the encoding for the request was not set yet.

Specified by:
initResource in interface I_CmsResourceInit
Parameters:
resource - the requested file
cms - the current CmsObject
req - the current request
res - the current response
Returns:
a resource in the OpenCms VFS
Throws:
CmsResourceInitException - if other implementations of the interface should not be executed
See Also:
I_CmsResourceInit.initResource(org.opencms.file.CmsResource, org.opencms.file.CmsObject, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)