summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java')
-rw-r--r--src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java33
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();