Merge: Better support client certificate authorization
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.catalina.start / src / main / java / org / argeo / catalina / start / CatalinaActivator.java
index 2656490fd0ddef489bb0b6e91c10ede84e282828..b990c9906c645d0346b74eb82648b5391a8aa986 100644 (file)
@@ -6,11 +6,15 @@ import java.net.URL;
 import java.util.Properties;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.osgi.framework.BundleContext;
 import org.springframework.osgi.web.tomcat.internal.Activator;
 
 /** Starts Catalina (hacked from Spring OSGi 1.0) */
 public class CatalinaActivator extends Activator {
+       private final static Log log = LogFactory.getLog(CatalinaActivator.class);
+
        private final static String ARGEO_OSGI_DATA_DIR = "argeo.osgi.data.dir";
        /** System properties used to override Tomcat XML config URL */
        public final static String ARGEO_SERVER_TOMCAT_CONFIG = "argeo.server.tomcat.config";
@@ -72,6 +76,14 @@ public class CatalinaActivator extends Activator {
                        System.setProperty("catalina.base",
                                        System.getProperty(ARGEO_OSGI_DATA_DIR) + "/tomcat");
 
+               // Make sure directories are created
+               File catalinaDir = new File(System.getProperty("catalina.home"));
+               if (!catalinaDir.exists()) {
+                       catalinaDir.mkdirs();
+                       if (log.isDebugEnabled())
+                               log.debug("Created Tomcat directory " + catalinaDir);
+               }
+
                // Call Spring starter
                super.start(context);
        }