Package org.opencms.gwt
Class CmsGwtService
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet
-
- com.google.gwt.user.server.rpc.RemoteServiceServlet
-
- org.opencms.gwt.CmsGwtService
-
- All Implemented Interfaces:
com.google.gwt.user.server.rpc.SerializationPolicyProvider
,java.io.Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
- Direct Known Subclasses:
CmsContainerpageService
,CmsContentService
,CmsCoreService
,CmsGalleryService
,CmsLogService
,CmsMessagesService
,CmsPostUploadDialogService
,CmsPreviewService
,CmsPublishService
,CmsSerialDateService
,CmsUgcEditService
,CmsUploadService
,CmsVfsService
,CmsVfsSitemapService
public class CmsGwtService extends com.google.gwt.user.server.rpc.RemoteServiceServlet
Wrapper for GWT services served through OpenCms.- Since:
- 8.0.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CmsGwtService()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkPermissions(CmsObject cms)
Checks the permissions of the current user to match the required security level.protected void
clearThreadStorage()
Clears the objects stored in thread local.protected com.google.gwt.user.server.rpc.SerializationPolicy
doGetSerializationPolicy(javax.servlet.http.HttpServletRequest request, java.lang.String moduleBaseURL, java.lang.String strongName)
We do not want that the server goes to fetch files from the servlet context.protected void
doUnexpectedFailure(java.lang.Throwable e)
protected CmsLockActionRecord
ensureLock(java.lang.String sitepath)
Locks the given resource with a temporary, if not already locked by the current user.protected CmsLockActionRecord
ensureLock(CmsResource resource)
Locks the given resource with a temporary, if not already locked by the current user.protected CmsLockActionRecord
ensureLock(CmsResource resource, boolean shallow)
Locks the given resource with a temporary, if not already locked by the current user.protected CmsLockActionRecord
ensureLock(CmsUUID structureId)
Locks the given resource with a temporary, if not already locked by the current user.protected void
ensureSession()
Ensures that the user session is still valid.void
error(java.lang.Throwable t)
Logs and re-throws the given exception for RPC responses.CmsObject
getCmsObject()
Returns the current cms context.protected java.util.Map<java.lang.String,CmsProperty>
getPropertiesByName(java.util.List<CmsProperty> properties)
Converts a list of properties to a map.javax.servlet.http.HttpServletRequest
getRequest()
Returns the current request.javax.servlet.http.HttpServletResponse
getResponse()
Returns the current response.boolean
isBroadcastCall()
Returns whether the current request is a broadcast call.void
log(java.lang.String msg)
void
log(java.lang.String message, java.lang.Throwable t)
void
logError(java.lang.Throwable t)
Logs the given exception.void
service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
void
setBroadcastPoll()
Sets that the current request is a broadcast call.void
setCms(CmsObject cms)
Sets the current cms context.void
setContext(CmsGwtServiceContext context)
Sets the service context.void
setRequest(javax.servlet.http.HttpServletRequest request)
Sets the current request.void
setResponse(javax.servlet.http.HttpServletResponse response)
Sets the current response.protected void
tryUnlock(CmsResource resource)
Tries to unlock a resource.-
Methods inherited from class com.google.gwt.user.server.rpc.RemoteServiceServlet
checkPermutationStrongName, getCodeServerPolicyUrl, getRequestModuleBasePath, getSerializationPolicy, init, loadPolicyFromCodeServer, onAfterResponseSerialized, onBeforeRequestDeserialized, processCall, processCall, processPost, shouldCompressResponse
-
Methods inherited from class com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet
doPost, getPermutationStrongName, getThreadLocalRequest, getThreadLocalResponse, onAfterRequestDeserialized, readContent
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service
-
-
-
-
Constructor Detail
-
CmsGwtService
public CmsGwtService()
Constructor.
-
-
Method Detail
-
checkPermissions
public void checkPermissions(CmsObject cms) throws CmsRoleViolationException
Checks the permissions of the current user to match the required security level.Note that the current request and response are not available yet.
Override if needed.
- Parameters:
cms
- the current cms object- Throws:
CmsRoleViolationException
- if the security level can not be satisfied
-
error
public void error(java.lang.Throwable t) throws CmsRpcException
Logs and re-throws the given exception for RPC responses.- Parameters:
t
- the exception- Throws:
CmsRpcException
- the converted exception
-
getCmsObject
public CmsObject getCmsObject()
Returns the current cms context.- Returns:
- the current cms context
-
getRequest
public javax.servlet.http.HttpServletRequest getRequest()
Returns the current request.- Returns:
- the current request
- See Also:
AbstractRemoteServiceServlet.getThreadLocalRequest()
-
getResponse
public javax.servlet.http.HttpServletResponse getResponse()
Returns the current response.- Returns:
- the current response
- See Also:
AbstractRemoteServiceServlet.getThreadLocalResponse()
-
isBroadcastCall
public boolean isBroadcastCall()
Returns whether the current request is a broadcast call.- Returns:
true
if the current request is a broadcast call
-
log
public void log(java.lang.String msg)
- Overrides:
log
in classjavax.servlet.GenericServlet
- See Also:
GenericServlet.log(java.lang.String)
-
log
public void log(java.lang.String message, java.lang.Throwable t)
- Overrides:
log
in classjavax.servlet.GenericServlet
- See Also:
GenericServlet.log(java.lang.String, java.lang.Throwable)
-
logError
public void logError(java.lang.Throwable t)
Logs the given exception.- Parameters:
t
- the exception to log
-
service
public void service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws javax.servlet.ServletException, java.io.IOException
- Specified by:
service
in interfacejavax.servlet.Servlet
- Overrides:
service
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
java.io.IOException
- See Also:
HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
-
setBroadcastPoll
public void setBroadcastPoll()
Sets that the current request is a broadcast call.
-
setCms
public void setCms(CmsObject cms)
Sets the current cms context.- Parameters:
cms
- the current cms context to set
-
setContext
public void setContext(CmsGwtServiceContext context)
Sets the service context.- Parameters:
context
- the new service context
-
setRequest
public void setRequest(javax.servlet.http.HttpServletRequest request)
Sets the current request.- Parameters:
request
- the request to set
-
setResponse
public void setResponse(javax.servlet.http.HttpServletResponse response)
Sets the current response.- Parameters:
response
- the response to set
-
clearThreadStorage
protected void clearThreadStorage()
Clears the objects stored in thread local.
-
doGetSerializationPolicy
protected com.google.gwt.user.server.rpc.SerializationPolicy doGetSerializationPolicy(javax.servlet.http.HttpServletRequest request, java.lang.String moduleBaseURL, java.lang.String strongName)
We do not want that the server goes to fetch files from the servlet context.- Overrides:
doGetSerializationPolicy
in classcom.google.gwt.user.server.rpc.RemoteServiceServlet
- See Also:
RemoteServiceServlet.doGetSerializationPolicy(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String)
-
doUnexpectedFailure
protected void doUnexpectedFailure(java.lang.Throwable e)
- Overrides:
doUnexpectedFailure
in classcom.google.gwt.user.server.rpc.AbstractRemoteServiceServlet
- See Also:
AbstractRemoteServiceServlet.doUnexpectedFailure(java.lang.Throwable)
-
ensureLock
protected CmsLockActionRecord ensureLock(CmsResource resource) throws CmsException
Locks the given resource with a temporary, if not already locked by the current user. Will throw an exception if the resource could not be locked for the current user.- Parameters:
resource
- the resource to lock- Returns:
- the assigned lock
- Throws:
CmsException
- if the resource could not be locked
-
ensureLock
protected CmsLockActionRecord ensureLock(CmsResource resource, boolean shallow) throws CmsException
Locks the given resource with a temporary, if not already locked by the current user. Will throw an exception if the resource could not be locked for the current user.- Parameters:
resource
- the resource to lockshallow
- true if we only want a shallow lock- Returns:
- the assigned lock
- Throws:
CmsException
- if the resource could not be locked
-
ensureLock
protected CmsLockActionRecord ensureLock(CmsUUID structureId) throws CmsException
Locks the given resource with a temporary, if not already locked by the current user. Will throw an exception if the resource could not be locked for the current user.- Parameters:
structureId
- the structure id of the resource- Returns:
- the assigned lock
- Throws:
CmsException
- if something goes wrong
-
ensureLock
protected CmsLockActionRecord ensureLock(java.lang.String sitepath) throws CmsException
Locks the given resource with a temporary, if not already locked by the current user. Will throw an exception if the resource could not be locked for the current user.- Parameters:
sitepath
- the site-path of the resource to lock- Returns:
- the assigned lock
- Throws:
CmsException
- if the resource could not be locked
-
ensureSession
protected void ensureSession() throws CmsException
Ensures that the user session is still valid.- Throws:
CmsException
- if the current user is the guest user
-
getPropertiesByName
protected java.util.Map<java.lang.String,CmsProperty> getPropertiesByName(java.util.List<CmsProperty> properties)
Converts a list of properties to a map.- Parameters:
properties
- the list of properties- Returns:
- a map from property names to properties
-
tryUnlock
protected void tryUnlock(CmsResource resource)
Tries to unlock a resource.- Parameters:
resource
- the resource to unlock
-
-