diff options
Diffstat (limited to 'src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java')
-rw-r--r-- | src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java b/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java index 8ffd7b3f16..aeb1b50c9c 100644 --- a/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java +++ b/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java @@ -19,7 +19,7 @@ public class ApplicationRunnerServlet extends AbstractApplicationServlet { * request. */ private String[] defaultPackages; - private HttpServletRequest request; + private ThreadLocal<HttpServletRequest> request = new ThreadLocal<HttpServletRequest>(); @Override public void init(ServletConfig servletConfig) throws ServletException { @@ -34,9 +34,9 @@ public class ApplicationRunnerServlet extends AbstractApplicationServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - this.request = request; + this.request.set(request); super.service(request, response); - this.request = null; + this.request.set(null); } @Override @@ -150,25 +150,30 @@ public class ApplicationRunnerServlet extends AbstractApplicationServlet { Class<? extends Application> appClass = null; - String baseName = getApplicationRunnerApplicationClassName(request); + String baseName = getApplicationRunnerApplicationClassName(request + .get()); try { appClass = (Class<? extends Application>) getClass() .getClassLoader().loadClass(baseName); return appClass; } catch (Exception e) { // - for (int i = 0; i < defaultPackages.length; i++) { - try { - appClass = (Class<? extends Application>) getClass() - .getClassLoader().loadClass( - defaultPackages[i] + "." + baseName); - } catch (Exception e2) { - // TODO: handle exception - } - if (appClass != null) { - return appClass; + if (defaultPackages != null) { + for (int i = 0; i < defaultPackages.length; i++) { + try { + appClass = (Class<? extends Application>) getClass() + .getClassLoader().loadClass( + defaultPackages[i] + "." + baseName); + } catch (Exception e2) { + // TODO: handle exception + e2.printStackTrace(); + } + if (appClass != null) { + return appClass; + } } } + } throw new ClassNotFoundException(); |