Package com.vaadin.server
Class VaadinServletService
- java.lang.Object
-
- com.vaadin.server.VaadinService
-
- com.vaadin.server.VaadinServletService
-
- All Implemented Interfaces:
Serializable
public class VaadinServletService extends VaadinService
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.vaadin.server.VaadinService
URL_PARAMETER_CLOSE_APPLICATION, URL_PARAMETER_RESTART_APPLICATION
-
-
Constructor Summary
Constructors Constructor Description VaadinServletService(VaadinServlet servlet, DeploymentConfiguration deploymentConfiguration)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<RequestHandler>
createRequestHandlers()
Called during initialization to add the request handlers for the service.protected URL
getApplicationUrl(VaadinRequest request)
Get the base URL that should be used for sending requests back to this service.File
getBaseDirectory()
Returns the context base directory.static String
getCancelingRelativePath(String pathToCancel)
Gets a relative path that cancels the provided path.String
getConfiguredTheme(VaadinRequest request)
Gets the theme that is configured for this deployment, e.g.String
getConfiguredWidgetset(VaadinRequest request)
Gets the widgetset that is configured for this deployment, e.g.static VaadinServletResponse
getCurrentResponse()
static javax.servlet.http.HttpServletRequest
getCurrentServletRequest()
String
getMainDivId(VaadinSession session, VaadinRequest request, Class<? extends UI> uiClass)
Creates and returns a unique ID for the DIV where the UI is to be rendered.String
getMimeType(String resourceName)
Returns the MIME type of the specified file, or null if the MIME type is not known.String
getServiceName()
Gets a unique name for this service.VaadinServlet
getServlet()
Retrieves a reference to the servlet associated with this service.String
getStaticFileLocation(VaadinRequest request)
Return the URL from where static files, e.g.InputStream
getThemeResourceAsStream(UI uI, String themeName, String resource)
Finds the given theme resource from the web content folder or using the class loader and returns a stream for itboolean
isStandalone(VaadinRequest request)
Checks whether the UI will be rendered on its own in the browser or whether it will be included into some other context.protected boolean
requestCanCreateSession(VaadinRequest request)
Checks whether it's valid to create a new service session as a result of the given request.-
Methods inherited from class com.vaadin.server.VaadinService
accessSession, addServiceDestroyListener, addSessionDestroyListener, addSessionInitListener, closeSession, createCriticalNotificationJSON, createVaadinSession, criticalNotification, destroy, ensureAccessQueuePurged, ensurePushAvailable, findUI, findVaadinSession, fireSessionDestroy, getClassLoader, getCurrent, getCurrentRequest, getDeploymentConfiguration, getExistingSession, getLockAttributeName, getRequestHandlers, getSessionAttributeName, getSessionLock, getSystemMessages, getSystemMessagesProvider, handleRequest, handleSessionExpired, init, isAtmosphereAvailable, isCsrfTokenValid, isOtherSessionLocked, loadSession, lockSession, preserveUIOnRefresh, readFromHttpSession, reinitializeSession, removeFromHttpSession, removeServiceDestroyListener, removeSession, removeSessionDestroyListener, removeSessionInitListener, requestEnd, requestStart, runPendingAccessTasks, setClassLoader, setCurrent, setCurrentInstances, setDefaultClassLoader, setSessionLock, setSystemMessagesProvider, storeSession, unlockSession, verifyNoOtherSessionLocked, writeStringResponse, writeToHttpSession
-
-
-
-
Constructor Detail
-
VaadinServletService
public VaadinServletService(VaadinServlet servlet, DeploymentConfiguration deploymentConfiguration) throws ServiceException
- Throws:
ServiceException
-
-
Method Detail
-
createRequestHandlers
protected List<RequestHandler> createRequestHandlers() throws ServiceException
Description copied from class:VaadinService
Called during initialization to add the request handlers for the service. Note that the returned list will be reversed so the last handler will be called first. This enables overriding this method and using add on the returned list to add a custom request handler which overrides any predefined handler.- Overrides:
createRequestHandlers
in classVaadinService
- Returns:
- The list of request handlers used by this service.
- Throws:
ServiceException
- if a problem occurs when creating the request handlers
-
getServlet
public VaadinServlet getServlet()
Retrieves a reference to the servlet associated with this service.- Returns:
- A reference to the VaadinServlet this service is using
-
getStaticFileLocation
public String getStaticFileLocation(VaadinRequest request)
Description copied from class:VaadinService
Return the URL from where static files, e.g. the widgetset and the theme, are served. In a standard configuration the VAADIN folder inside the returned folder is what is used for widgetsets and themes. The returned folder is usually the same as the context path and independent of e.g. the servlet mapping.- Specified by:
getStaticFileLocation
in classVaadinService
- Parameters:
request
- the request for which the location should be determined- Returns:
- The location of static resources (should contain the VAADIN directory). Never ends with a slash (/).
-
getCancelingRelativePath
public static String getCancelingRelativePath(String pathToCancel)
Gets a relative path that cancels the provided path. This essentially adds one .. for each part of the path to cancel.- Parameters:
pathToCancel
- the path that should be canceled- Returns:
- a relative path that cancels out the provided path segment
-
getConfiguredWidgetset
public String getConfiguredWidgetset(VaadinRequest request)
Description copied from class:VaadinService
Gets the widgetset that is configured for this deployment, e.g. from a parameter in web.xml.- Specified by:
getConfiguredWidgetset
in classVaadinService
- Parameters:
request
- the request for which a widgetset is required- Returns:
- the name of the widgetset
-
getConfiguredTheme
public String getConfiguredTheme(VaadinRequest request)
Description copied from class:VaadinService
Gets the theme that is configured for this deployment, e.g. from a portal parameter or just some sensible default value.- Specified by:
getConfiguredTheme
in classVaadinService
- Parameters:
request
- the request for which a theme is required- Returns:
- the name of the theme
-
isStandalone
public boolean isStandalone(VaadinRequest request)
Description copied from class:VaadinService
Checks whether the UI will be rendered on its own in the browser or whether it will be included into some other context. A standalone UI may do things that might interfere with other parts of a page, e.g. changing the page title and requesting focus upon loading.- Specified by:
isStandalone
in classVaadinService
- Parameters:
request
- the request for which the UI is loaded- Returns:
- a boolean indicating whether the UI should be standalone
-
getMimeType
public String getMimeType(String resourceName)
Description copied from class:VaadinService
Returns the MIME type of the specified file, or null if the MIME type is not known. The MIME type is determined by the configuration of the container, and may be specified in a deployment descriptor. Common MIME types are "text/html" and "image/gif".- Specified by:
getMimeType
in classVaadinService
- Parameters:
resourceName
- a String specifying the name of a file- Returns:
- a String specifying the file's MIME type
- See Also:
ServletContext.getMimeType(String)
-
getBaseDirectory
public File getBaseDirectory()
Description copied from class:VaadinService
Returns the context base directory. Typically an application is deployed in a such way that is has an application directory. For web applications this directory is the root directory of the web applications. In some cases applications might not have an application directory (for example web applications running inside a war).- Specified by:
getBaseDirectory
in classVaadinService
- Returns:
- The application base directory or null if the application has no base directory.
-
requestCanCreateSession
protected boolean requestCanCreateSession(VaadinRequest request)
Description copied from class:VaadinService
Checks whether it's valid to create a new service session as a result of the given request.- Specified by:
requestCanCreateSession
in classVaadinService
- Parameters:
request
- the request- Returns:
true
if it's valid to create a new service session for the request; elsefalse
-
getApplicationUrl
protected URL getApplicationUrl(VaadinRequest request) throws MalformedURLException
Description copied from class:VaadinService
Get the base URL that should be used for sending requests back to this service.This is only used to support legacy cases.
- Overrides:
getApplicationUrl
in classVaadinService
- Returns:
- Throws:
MalformedURLException
-
getCurrentServletRequest
public static javax.servlet.http.HttpServletRequest getCurrentServletRequest()
-
getCurrentResponse
public static VaadinServletResponse getCurrentResponse()
-
getServiceName
public String getServiceName()
Description copied from class:VaadinService
Gets a unique name for this service. The name should be unique among different services of the same type but the same for corresponding instances running in different JVMs in a cluster. This is typically based on e.g. the configured servlet's or portlet's name.- Specified by:
getServiceName
in classVaadinService
- Returns:
- the unique name of this service instance.
-
getThemeResourceAsStream
public InputStream getThemeResourceAsStream(UI uI, String themeName, String resource) throws IOException
Description copied from class:VaadinService
Finds the given theme resource from the web content folder or using the class loader and returns a stream for it- Specified by:
getThemeResourceAsStream
in classVaadinService
- Parameters:
uI
- The ui for which to find the resourcethemeName
- The name of the themeresource
- The name of the resource, e.g. "layouts/mycustomlayout.html"- Returns:
- A stream for the resource or null if the resource was not found
- Throws:
IOException
- if a problem occurred while finding or opening the resource
-
getMainDivId
public String getMainDivId(VaadinSession session, VaadinRequest request, Class<? extends UI> uiClass)
Description copied from class:VaadinService
Creates and returns a unique ID for the DIV where the UI is to be rendered.- Specified by:
getMainDivId
in classVaadinService
- Parameters:
session
- The service session to which the bootstrapped UI will belong.request
- The request for which a div id is neededuiClass
- The class of the UI that will be bootstrapped- Returns:
- the id to use in the DOM
-
-