From 8a8bc3dc1bc810cef952a12071b6ec7dd8ff9750 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 20 Oct 2014 09:33:07 -0400 Subject: [PATCH] Prepare v1.6.1 documentation updates --- src/main/java/com/gitblit/manager/RuntimeManager.java | 95 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 85 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/gitblit/manager/RuntimeManager.java b/src/main/java/com/gitblit/manager/RuntimeManager.java index cfb4543..219bf80 100644 --- a/src/main/java/com/gitblit/manager/RuntimeManager.java +++ b/src/main/java/com/gitblit/manager/RuntimeManager.java @@ -18,6 +18,7 @@ import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; @@ -31,6 +32,7 @@ import com.gitblit.models.ServerStatus; import com.gitblit.models.SettingModel; import com.gitblit.utils.StringUtils; +import com.gitblit.utils.XssFilter; public class RuntimeManager implements IRuntimeManager { @@ -38,25 +40,36 @@ private final IStoredSettings settings; + private final XssFilter xssFilter; + private final ServerStatus serverStatus; - private TimeZone timezone; + private final ServerSettings settingsModel; private File baseFolder; - private ServerSettings settingsModel; + private TimeZone timezone; - public RuntimeManager(IStoredSettings settings) { + public RuntimeManager(IStoredSettings settings, XssFilter xssFilter) { + this(settings, xssFilter, null); + } + + public RuntimeManager(IStoredSettings settings, XssFilter xssFilter, File baseFolder) { this.settings = settings; this.settingsModel = new ServerSettings(); this.serverStatus = new ServerStatus(); + this.xssFilter = xssFilter; + this.baseFolder = baseFolder == null ? new File("") : baseFolder; } @Override - public RuntimeManager setup() { - logger.info("Gitblit settings = " + settings.toString()); - logTimezone("JVM", TimeZone.getDefault()); - logTimezone(Constants.NAME, getTimezone()); + public RuntimeManager start() { + logger.info("Basefolder : " + baseFolder.getAbsolutePath()); + logger.info("Settings : " + settings.toString()); + logTimezone("JVM timezone: ", TimeZone.getDefault()); + logTimezone("App timezone: ", getTimezone()); + logger.info("JVM locale : " + Locale.getDefault()); + logger.info("App locale : " + (getLocale() == null ? "<client>" : getLocale())); return this; } @@ -110,7 +123,42 @@ */ @Override public boolean isServingRepositories() { - return settings.getBoolean(Keys.git.enableGitServlet, true) || (settings.getInteger(Keys.git.daemonPort, 0) > 0); + return isServingHTTP() + || isServingGIT() + || isServingSSH(); + } + + /** + * Determine if this Gitblit instance is actively serving git repositories + * over the HTTP protocol. + * + * @return true if Gitblit is serving repositories over the HTTP protocol + */ + @Override + public boolean isServingHTTP() { + return settings.getBoolean(Keys.git.enableGitServlet, true); + } + + /** + * Determine if this Gitblit instance is actively serving git repositories + * over the Git Daemon protocol. + * + * @return true if Gitblit is serving repositories over the Git Daemon protocol + */ + @Override + public boolean isServingGIT() { + return settings.getInteger(Keys.git.daemonPort, 0) > 0; + } + + /** + * Determine if this Gitblit instance is actively serving git repositories + * over the SSH protocol. + * + * @return true if Gitblit is serving repositories over the SSH protocol + */ + @Override + public boolean isServingSSH() { + return settings.getInteger(Keys.git.sshPort, 0) > 0; } /** @@ -121,7 +169,7 @@ @Override public TimeZone getTimezone() { if (timezone == null) { - String tzid = settings.getString("web.timezone", null); + String tzid = settings.getString(Keys.web.timezone, null); if (StringUtils.isEmpty(tzid)) { timezone = TimeZone.getDefault(); return timezone; @@ -135,7 +183,23 @@ SimpleDateFormat df = new SimpleDateFormat("z Z"); df.setTimeZone(zone); String offset = df.format(new Date()); - logger.info(type + " timezone is " + zone.getID() + " (" + offset + ")"); + logger.info("{}{} ({})", new Object [] { type, zone.getID(), offset }); + } + + @Override + public Locale getLocale() { + String lc = settings.getString(Keys.web.forceDefaultLocale, null); + if (!StringUtils.isEmpty(lc)) { + int underscore = lc.indexOf('_'); + if (underscore > 0) { + String lang = lc.substring(0, underscore); + String cc = lc.substring(underscore + 1); + return new Locale(lang, cc); + } else { + return new Locale(lc); + } + } + return null; } /** @@ -202,4 +266,15 @@ serverStatus.heapFree = Runtime.getRuntime().freeMemory(); return serverStatus; } + + /** + * Returns the XSS filter. + * + * @return the XSS filter + */ + @Override + public XssFilter getXssFilter() { + return xssFilter; + } + } -- Gitblit v1.9.1