com.vaadin.spring.server
Class SpringUIProvider

java.lang.Object
  extended by com.vaadin.server.UIProvider
      extended by com.vaadin.spring.server.SpringUIProvider
All Implemented Interfaces:
Serializable

public class SpringUIProvider
extends com.vaadin.server.UIProvider

Vaadin UIProvider that looks up UI classes from the Spring application context. The UI classes must be annotated with SpringUI.

Author:
Petter Holmström (petter@vaadin.com), Henri Sara (hesara@vaadin.com)
See Also:
Serialized Form

Field Summary
protected  org.slf4j.Logger logger
           
 
Constructor Summary
SpringUIProvider(com.vaadin.server.VaadinSession vaadinSession)
           
 
Method Summary
protected  void configureNavigator(com.vaadin.ui.UI ui)
          Configures a UI to use the navigator found by getNavigator() if there is a SpringViewDisplay annotation.
 com.vaadin.ui.UI createInstance(com.vaadin.server.UICreateEvent event)
           
protected  void createThemeDirectory(String theme)
          Create theme directory in the servlet context (if possible) to support caching of themes compiled on the fly also in applications deployed as JARs.
protected  String deriveMappingForUI(String uiBeanName)
          Derive the name (path) for a UI based on its annotation parameters.
protected  void detectUIs()
           
protected  Object findSpringViewDisplay(com.vaadin.ui.UI ui)
           
protected  SpringNavigator getNavigator()
          Returns the configured navigator bean or null if no bean defined.
 String getPageTitle(com.vaadin.server.UICreateEvent event)
           
protected  javax.servlet.ServletContext getServletContext()
           
protected  SpringViewDisplayPostProcessor getSpringViewDisplayPostProcessor()
           
 String getTheme(com.vaadin.server.UICreateEvent event)
           
protected  Class<? extends com.vaadin.ui.UI> getUIByPath(String path)
           
 Class<? extends com.vaadin.ui.UI> getUIClass(com.vaadin.server.UIClassSelectionEvent uiClassSelectionEvent)
           
protected  org.springframework.web.context.WebApplicationContext getWebApplicationContext()
           
protected  void mapPathToUI(String path, Class<? extends com.vaadin.ui.UI> uiClass)
           
 
Methods inherited from class com.vaadin.server.UIProvider
getAnnotationFor, getPushMode, getPushTransport, getWidgetset, getWidgetsetInfo, isPreservedOnRefresh
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.slf4j.Logger logger
Constructor Detail

SpringUIProvider

public SpringUIProvider(com.vaadin.server.VaadinSession vaadinSession)
Method Detail

detectUIs

protected void detectUIs()

deriveMappingForUI

protected String deriveMappingForUI(String uiBeanName)
Derive the name (path) for a UI based on its annotation parameters. If a path is given as a parameter for the annotation, it is used. An empty string maps to the root context.

Parameters:
uiBeanName - name of the UI bean
Returns:
path to map the UI to

getUIClass

public Class<? extends com.vaadin.ui.UI> getUIClass(com.vaadin.server.UIClassSelectionEvent uiClassSelectionEvent)
Specified by:
getUIClass in class com.vaadin.server.UIProvider

getWebApplicationContext

protected org.springframework.web.context.WebApplicationContext getWebApplicationContext()

mapPathToUI

protected void mapPathToUI(String path,
                           Class<? extends com.vaadin.ui.UI> uiClass)

getUIByPath

protected Class<? extends com.vaadin.ui.UI> getUIByPath(String path)

createInstance

public com.vaadin.ui.UI createInstance(com.vaadin.server.UICreateEvent event)
Overrides:
createInstance in class com.vaadin.server.UIProvider

createThemeDirectory

protected void createThemeDirectory(String theme)
Create theme directory in the servlet context (if possible) to support caching of themes compiled on the fly also in applications deployed as JARs.

Any errors are logged and otherwise ignored, as this only helps caching.

Parameters:
theme - name of the theme

getServletContext

protected javax.servlet.ServletContext getServletContext()

configureNavigator

protected void configureNavigator(com.vaadin.ui.UI ui)
Configures a UI to use the navigator found by getNavigator() if there is a SpringViewDisplay annotation.

Parameters:
ui - the Spring managed UI instance for which to configure automatic navigation

getNavigator

protected SpringNavigator getNavigator()
Returns the configured navigator bean or null if no bean defined.

Returns:
bean extending SpringNavigator or null if none defined
Throws:
org.springframework.beans.BeansException - if there are multiple navigator beans or other configuration problem

findSpringViewDisplay

protected Object findSpringViewDisplay(com.vaadin.ui.UI ui)

getSpringViewDisplayPostProcessor

protected SpringViewDisplayPostProcessor getSpringViewDisplayPostProcessor()

getTheme

public String getTheme(com.vaadin.server.UICreateEvent event)
Overrides:
getTheme in class com.vaadin.server.UIProvider

getPageTitle

public String getPageTitle(com.vaadin.server.UICreateEvent event)
Overrides:
getPageTitle in class com.vaadin.server.UIProvider


Copyright © 2016 Vaadin Ltd. All Rights Reserved.