James Moger
2014-04-28 d8654bdf5c5e0e062a683b40ba826f9638e25d41
Merged #51 "Can not force default locale to English or to a locale with a country code"
7 files modified
54 ■■■■■ changed files
releases.moxie 1 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/GitblitManager.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/IRuntimeManager.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/RuntimeManager.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/models/UserPreferences.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/GitBlitWebApp.java 7 ●●●●● patch | view | raw | blame | history
src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java 6 ●●●●● patch | view | raw | blame | history
releases.moxie
@@ -13,6 +13,7 @@
    - Fix subdirectory links in pages servlet (issue-411)
    - Fix subdirectory navigation in pages servlet (issue-412)
    - Fix bug in adding invalid or empty SSH keys (ticket-50)
    - Fix forcing default locale to en or LANG_CC for web ui (ticket-51)
    changes:
    - improve French translation (pr-176)
    - simplify current plugin release detection and ignore the currentRelease registry field 
src/main/java/com/gitblit/manager/GitblitManager.java
@@ -27,6 +27,7 @@
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
@@ -606,6 +607,11 @@
    }
    @Override
    public Locale getLocale() {
        return runtimeManager.getLocale();
    }
    @Override
    public boolean isDebugMode() {
        return runtimeManager.isDebugMode();
    }
src/main/java/com/gitblit/manager/IRuntimeManager.java
@@ -17,6 +17,7 @@
import java.io.File;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
@@ -39,6 +40,14 @@
    TimeZone getTimezone();
    /**
     * Returns the fixed locale for clients, or null if clients may choose their locale
     *
     * @return a fixed locale or null if clients are allowed to specify locale preference
      * @since 1.5.1
     */
    Locale getLocale();
    /**
     * Determine if this Gitblit instance is actively serving git repositories
     * or if it is merely a repository viewer.
     *
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;
@@ -63,6 +64,8 @@
        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;
    }
@@ -146,6 +149,22 @@
        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;
    }
    /**
     * Is Gitblit running in debug mode?
     *
src/main/java/com/gitblit/models/UserPreferences.java
@@ -49,6 +49,12 @@
        if (StringUtils.isEmpty(locale)) {
            return null;
        }
        int underscore = locale.indexOf('_');
        if (underscore > 0) {
            String lang = locale.substring(0, underscore);
            String cc = locale.substring(underscore + 1);
            return new Locale(lang, cc);
        }
        return new Locale(locale);
    }
src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -41,7 +41,6 @@
import com.gitblit.manager.IUserManager;
import com.gitblit.tickets.ITicketService;
import com.gitblit.transport.ssh.IPublicKeyManager;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.pages.ActivityPage;
import com.gitblit.wicket.pages.BlamePage;
import com.gitblit.wicket.pages.BlobDiffPage;
@@ -242,9 +241,9 @@
    public final Session newSession(Request request, Response response) {
        GitBlitWebSession gitBlitWebSession = new GitBlitWebSession(request);
        String forcedLocale = settings.getString(Keys.web.forceDefaultLocale, null);
        if (!StringUtils.isEmpty(forcedLocale)) {
            gitBlitWebSession.setLocale(new Locale(forcedLocale));
        Locale forcedLocale = runtime().getLocale();
        if (forcedLocale != null) {
            gitBlitWebSession.setLocale(forcedLocale);
        }
        return gitBlitWebSession;
    }
src/test/java/com/gitblit/tests/mock/MockRuntimeManager.java
@@ -17,6 +17,7 @@
import java.io.File;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
@@ -71,6 +72,11 @@
    }
    @Override
    public Locale getLocale() {
        return Locale.getDefault();
    }
    @Override
    public boolean isServingRepositories() {
        return true;
    }