From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/manager/RuntimeManager.java | 82 +++++++++++++++++++++++++++++++---------- 1 files changed, 62 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/gitblit/manager/RuntimeManager.java b/src/main/java/com/gitblit/manager/RuntimeManager.java index cfb4543..18d6b9c 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,38 +32,63 @@ import com.gitblit.models.ServerStatus; import com.gitblit.models.SettingModel; import com.gitblit.utils.StringUtils; +import com.gitblit.utils.XssFilter; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.Singleton; +@Singleton public class RuntimeManager implements IRuntimeManager { private final Logger logger = LoggerFactory.getLogger(getClass()); 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) { + @Inject + private Injector injector; + + @Inject + 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; } @Override public RuntimeManager stop() { return this; + } + + @Override + public Injector getInjector() { + return injector; } @Override @@ -103,17 +129,6 @@ } /** - * Determine if this Gitblit instance is actively serving git repositories - * or if it is merely a repository viewer. - * - * @return true if Gitblit is serving repositories - */ - @Override - public boolean isServingRepositories() { - return settings.getBoolean(Keys.git.enableGitServlet, true) || (settings.getInteger(Keys.git.daemonPort, 0) > 0); - } - - /** * Returns the preferred timezone for the Gitblit instance. * * @return a timezone @@ -121,7 +136,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 +150,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 +233,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