summaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java')
-rw-r--r--uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java b/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java
index 1cbb1aa039..e2b93ab7d2 100644
--- a/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java
+++ b/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java
@@ -46,6 +46,9 @@ import com.vaadin.server.LegacyVaadinServlet;
import com.vaadin.server.ServiceException;
import com.vaadin.server.SessionInitEvent;
import com.vaadin.server.SessionInitListener;
+import com.vaadin.server.SystemMessages;
+import com.vaadin.server.SystemMessagesInfo;
+import com.vaadin.server.SystemMessagesProvider;
import com.vaadin.server.UIClassSelectionEvent;
import com.vaadin.server.UIProvider;
import com.vaadin.server.VaadinRequest;
@@ -61,6 +64,9 @@ import com.vaadin.util.CurrentInstance;
@SuppressWarnings("serial")
public class ApplicationRunnerServlet extends LegacyVaadinServlet {
+ public static String CUSTOM_SYSTEM_MESSAGES_PROPERTY = "custom-"
+ + SystemMessages.class.getName();
+
/**
* The name of the application class currently used. Only valid within one
* request.
@@ -339,6 +345,34 @@ public class ApplicationRunnerServlet extends LegacyVaadinServlet {
new ProxyDeploymentConfiguration(originalConfiguration));
}
+ @Override
+ protected VaadinServletService createServletService(
+ DeploymentConfiguration deploymentConfiguration)
+ throws ServiceException {
+ VaadinServletService service = super
+ .createServletService(deploymentConfiguration);
+ final SystemMessagesProvider provider = service
+ .getSystemMessagesProvider();
+ service.setSystemMessagesProvider(new SystemMessagesProvider() {
+
+ @Override
+ public SystemMessages getSystemMessages(
+ SystemMessagesInfo systemMessagesInfo) {
+ if (systemMessagesInfo.getRequest() == null) {
+ return provider.getSystemMessages(systemMessagesInfo);
+ }
+ Object messages = systemMessagesInfo.getRequest().getAttribute(
+ CUSTOM_SYSTEM_MESSAGES_PROPERTY);
+ if (messages instanceof SystemMessages) {
+ return (SystemMessages) messages;
+ }
+ return provider.getSystemMessages(systemMessagesInfo);
+ }
+
+ });
+ return service;
+ }
+
private static DeploymentConfiguration findDeploymentConfiguration(
DeploymentConfiguration originalConfiguration) throws Exception {
// First level of cache