r9852 - helma/helma/trunk/src/helma/main

[email protected] Fri, 14 Aug 2009 11:56:16 +0200 (CEST)
Newsgroups gmane.comp.java.helma.cvs
Message-ID <20090814095616.CAE783D0E3@mia>
Author: hannes
Date: 2009-08-14 11:56:16 +0200 (Fri, 14 Aug 2009)
New Revision: 9852

Modified:
   helma/helma/trunk/src/helma/main/ApplicationManager.java
Log:
Add servletClass apps.properties option to make the servlet class customizable.

Details at http://dev.helma.org/trac/helma/changeset/9852

Modified: helma/helma/trunk/src/helma/main/ApplicationManager.java
===================================================================
--- helma/helma/trunk/src/helma/main/ApplicationManager.java	2009-08-14 09:41:14 UTC (rev 9851)
+++ helma/helma/trunk/src/helma/main/ApplicationManager.java	2009-08-14 09:56:16 UTC (rev 9852)
@@ -341,6 +341,7 @@
         String debug;
         boolean encode;
         Repository[] repositories;
+        String servletClassName;
 
         /**
          * extend apps.properties, add [appname].ignore
@@ -379,6 +380,7 @@
             appDir = (appDirName == null) ? null : getAbsoluteFile(appDirName);
             String dbDirName = conf.getProperty("dbdir");
             dbDir = (dbDirName == null) ? null : getAbsoluteFile(dbDirName);
+            servletClassName = conf.getProperty("servletClass");
 
             // got ignore dirs
             ignoreDirs = conf.getProperty("ignore");
@@ -533,8 +535,10 @@
                     }
 
                     ServletHandler handler = new ServletHandler();
+                    Class servletClass = servletClassName == null ?
+                            EmbeddedServletClient.class : Class.forName(servletClassName);
 
-                    ServletHolder holder = new ServletHolder(EmbeddedServletClient.class);
+                    ServletHolder holder = new ServletHolder(servletClass);
                     handler.addServletWithMapping(holder, "/*");
 
                     holder.setInitParameter("application", appName);