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, 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:
  • Field Summary

    Fields inherited from class com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet

    perThreadRequest, perThreadResponse
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Checks the permissions of the current user to match the required security level.
    protected void
    Clears the objects stored in thread local.
    protected com.google.gwt.user.server.rpc.SerializationPolicy
    doGetSerializationPolicy(javax.servlet.http.HttpServletRequest request, String moduleBaseURL, String strongName)
    We do not want that the server goes to fetch files from the servlet context.
    protected void
     
    ensureLock(String sitepath)
    Locks the given resource with a temporary, if not already locked by the current user.
    Locks the given resource with a temporary, if not already locked by the current user.
    ensureLock(CmsResource resource, boolean shallow)
    Locks the given resource with a temporary, if not already locked by the current user.
    ensureLock(CmsUUID structureId)
    Locks the given resource with a temporary, if not already locked by the current user.
    protected void
    Ensures that the user session is still valid.
    void
    Logs and re-throws the given exception for RPC responses.
    Returns the current cms context.
    Converts a list of properties to a map.
    javax.servlet.http.HttpServletRequest
    Returns the current request.
    javax.servlet.http.HttpServletResponse
    Returns the current response.
    boolean
    Returns whether the current request is a broadcast call.
    void
    log(String msg)
     
    void
    log(String message, Throwable t)
     
    void
    Logs the given exception.
    void
    service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
     
    void
    Sets that the current request is a broadcast call.
    void
    Sets the current cms context.
    void
    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
    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

    Methods inherited from class javax.servlet.GenericServlet

    destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • checkPermissions

      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(Throwable t) throws CmsRpcException
      Logs and re-throws the given exception for RPC responses.

      Parameters:
      t - the exception
      Throws:
      CmsRpcException - the converted exception
    • 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(String msg)
      Overrides:
      log in class javax.servlet.GenericServlet
      See Also:
      • GenericServlet.log(java.lang.String)
    • log

      public void log(String message, Throwable t)
      Overrides:
      log in class javax.servlet.GenericServlet
      See Also:
      • GenericServlet.log(java.lang.String, java.lang.Throwable)
    • logError

      public void logError(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, IOException
      Specified by:
      service in interface javax.servlet.Servlet
      Overrides:
      service in class javax.servlet.http.HttpServlet
      Throws:
      javax.servlet.ServletException
      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, String moduleBaseURL, String strongName)
      We do not want that the server goes to fetch files from the servlet context.

      Overrides:
      doGetSerializationPolicy in class com.google.gwt.user.server.rpc.RemoteServiceServlet
      See Also:
      • RemoteServiceServlet.doGetSerializationPolicy(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String)
    • doUnexpectedFailure

      protected void doUnexpectedFailure(Throwable e)
      Overrides:
      doUnexpectedFailure in class com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet
      See Also:
      • AbstractRemoteServiceServlet.doUnexpectedFailure(java.lang.Throwable)
    • ensureLock

      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 lock
      shallow - 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(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

      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