Class CmsGwtService

    • Field Summary

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

        perThreadRequest, perThreadResponse
    • 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
      • 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
    • 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 class javax.servlet.GenericServlet
        See Also:
        GenericServlet.log(java.lang.String)
      • log

        public void log​(java.lang.String message,
                        java.lang.Throwable t)
        Overrides:
        log in class javax.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 interface javax.servlet.Servlet
        Overrides:
        service in class javax.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
      • 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 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​(java.lang.Throwable e)
        Overrides:
        doUnexpectedFailure in class com.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 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​(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
      • getPropertiesByName

        protected java.util.Map<java.lang.String,​CmsPropertygetPropertiesByName​(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