From 06718be43c345d74f24288d7b8477d2237ce7358 Mon Sep 17 00:00:00 2001 From: James Moger Date: Wed, 2 Oct 2013 17:12:18 -0400 Subject: Switch web.xml baseFolder from context-param to env-entry Change-Id: Id18077126e984a767725cf9e8d8eb531a14e1713 --- src/main/java/WEB-INF/web.xml | 10 ++++++---- src/main/java/com/gitblit/GitBlit.java | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) (limited to 'src/main') diff --git a/src/main/java/WEB-INF/web.xml b/src/main/java/WEB-INF/web.xml index d4acb049..6e24326b 100644 --- a/src/main/java/WEB-INF/web.xml +++ b/src/main/java/WEB-INF/web.xml @@ -22,10 +22,12 @@ review the defaults for any new settings. Settings are always versioned with a SINCE x.y.z attribute and also noted in the release changelog. --> - - baseFolder - ${contextFolder}/WEB-INF/data - + + The base folder is used to specify the root location of your Gitblit data. + baseFolder + java.lang.String + ${contextFolder}/WEB-INF/data + diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index 5eec7a93..7f82432d 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -62,6 +62,9 @@ import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMultipart; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; @@ -3776,6 +3779,18 @@ public class GitBlit implements ServletContextListener { logger.error(""); } + try { + // try to lookup JNDI env-entry for the baseFolder + InitialContext ic = new InitialContext(); + Context env = (Context) ic.lookup("java:comp/env"); + String val = (String) env.lookup("baseFolder"); + if (!StringUtils.isEmpty(val)) { + path = val; + } + } catch (NamingException n) { + logger.error("Failed to get JNDI env-entry: " + n.getExplanation()); + } + File base = com.gitblit.utils.FileUtils.resolveParameter(Constants.contextFolder$, contextFolder, path); base.mkdirs(); -- cgit v1.2.3