From 6b76d4fb30104f08a7c6b33d7cf05fb71179f6de Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 04 Sep 2014 14:20:28 -0400 Subject: [PATCH] Merge branch 'ticket/151' into develop --- src/main/java/com/gitblit/manager/RuntimeManager.java | 65 +++++++++++++++++++++++--------- 1 files changed, 46 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/gitblit/manager/RuntimeManager.java b/src/main/java/com/gitblit/manager/RuntimeManager.java index cfb4543..95a363f 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,7 +32,11 @@ import com.gitblit.models.ServerStatus; import com.gitblit.models.SettingModel; import com.gitblit.utils.StringUtils; +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()); @@ -40,29 +45,46 @@ private final ServerStatus serverStatus; - private TimeZone timezone; + private final ServerSettings settingsModel; private File baseFolder; - private ServerSettings settingsModel; + private TimeZone timezone; + @Inject + private Injector injector; + + @Inject public RuntimeManager(IStoredSettings settings) { + this(settings, null); + } + + public RuntimeManager(IStoredSettings settings, File baseFolder) { this.settings = settings; this.settingsModel = new ServerSettings(); this.serverStatus = new ServerStatus(); + 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 +125,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 +132,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 +146,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; } /** -- Gitblit v1.9.1