James Moger
2011-04-14 155bf78e3377910d29b2c912f58c0f496cb428e8
Generate Keys class from gitblit.properties as part of build process.
1 files added
44 files modified
238 ■■■■■ changed files
build.xml 2 ●●●●● patch | view | raw | blame | history
gitblit.properties 74 ●●●● patch | view | raw | blame | history
src/com/gitblit/.gitignore 2 ●●●●● patch | view | raw | blame | history
src/com/gitblit/Build.java 41 ●●●●● patch | view | raw | blame | history
src/com/gitblit/Constants.java 2 ●●●●● patch | view | raw | blame | history
src/com/gitblit/GitBlit.java 8 ●●●● patch | view | raw | blame | history
src/com/gitblit/GitBlitServer.java 28 ●●●● patch | view | raw | blame | history
src/com/gitblit/ILoginService.java patch | view | raw | blame | history
src/com/gitblit/JettyLoginService.java patch | view | raw | blame | history
src/com/gitblit/StoredSettings.java 4 ●●●● patch | view | raw | blame | history
src/com/gitblit/tests/JGitUtilsTest.java patch | view | raw | blame | history
src/com/gitblit/utils/HtmlDiffFormatter.java patch | view | raw | blame | history
src/com/gitblit/utils/JGitUtils.java patch | view | raw | blame | history
src/com/gitblit/utils/Utils.java patch | view | raw | blame | history
src/com/gitblit/wicket/AuthorizationStrategy.java patch | view | raw | blame | history
src/com/gitblit/wicket/BasePage.java 9 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.java 7 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebSession.java patch | view | raw | blame | history
src/com/gitblit/wicket/LinkPanel.java patch | view | raw | blame | history
src/com/gitblit/wicket/LoginPage.java patch | view | raw | blame | history
src/com/gitblit/wicket/RepositoryPage.java patch | view | raw | blame | history
src/com/gitblit/wicket/User.java 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/WicketUtils.java 5 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/models/PathModel.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/models/RefModel.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/models/TicGitTicket.java patch | view | raw | blame | history
src/com/gitblit/wicket/pages/BlobDiffPage.java patch | view | raw | blame | history
src/com/gitblit/wicket/pages/BlobPage.java 8 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/BranchesPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/CommitDiffPage.java patch | view | raw | blame | history
src/com/gitblit/wicket/pages/CommitPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/PatchPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RawPage.java 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RepositoriesPage.java 10 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/SummaryPage.java 7 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TagPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TagsPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TicGitPage.java patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TicGitTicketPage.java patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TreePage.java 2 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/BasePanel.java 3 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/BranchesPanel.java patch | view | raw | blame | history
src/com/gitblit/wicket/panels/LogPanel.java 5 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/PageLinksPanel.java patch | view | raw | blame | history
src/com/gitblit/wicket/panels/RefsPanel.java 2 ●●● patch | view | raw | blame | history
build.xml
@@ -16,6 +16,7 @@
        <mkdir dir="${project.build.dir}" />
        <javac srcdir="${basedir}/src" destdir="${project.build.dir}">
            <include name="com/gitblit/Build.java" />
            <include name="com/gitblit/Constants.java" />
        </javac>
        <java classpath="${project.build.dir}" classname="com.gitblit.Build" />
@@ -30,6 +31,7 @@
        </path>
        <javac destdir="${project.build.dir}">
            <src path="${basedir}/src" />
            <src path="${basedir}/contrib" />
            <classpath refid="master-classpath" />
        </javac>
        <copy todir="${project.build.dir}">
gitblit.properties
@@ -3,127 +3,123 @@
#
# Allow push/pull over http/https with JGit servlet
allowPushPull = true
git.allowPushPull = true
# Base folder for repositories
# Use forward slashes on Windows!!
repositoriesFolder = c:/projects/git
git.repositoriesFolder = c:/projects/git
# Export all repositories
# if false, each exported repository must have a .git/git-daemon-export-ok file
exportAll = true
git.exportAll = true
# Search repositories folder for nested repositories
nestedRepositories = true
git.nestedRepositories = true
# The root clone url
cloneUrl = https://localhost/git/
git.cloneUrl = https://localhost/git/
#
# Authentication Settings
#
# Require authentication for http/https push/pull access of git repositories
authenticatePushPull = true
git.authenticate = true
# Require authentication to see the web ui
authenticateWebUI = true
web.authenticate = true
# Simple user realm file to authenticate users for push/pull
realmFile = users.properties
# Simple user realm file to authenticate users
server.realmFile = users.properties
#
# Server Settings
#
debugMode = true
tempFolder = temp
log4jPattern = %-5p %d{MM-dd HH:mm:ss.SSS}  %-20.20c{1}  %m%n
server.debugMode = true
server.tempFolder = temp
server.log4jPattern = %-5p %d{MM-dd HH:mm:ss.SSS}  %-20.20c{1}  %m%n
# Aggressive heap management will run the garbage collector on every generated
# page.  This slows down page generation but improves heap consumption. 
aggressiveHeapManagement = true
server.aggressiveHeapManagement = true
#
# Git:Blit UI Settings
#
siteName =
web.siteName =
# If authenticateWebUI=true, users with "admin" role can create repositories,
# create users, and edit repository metadata (owner, description, etc)
#
# If authenticateWebUI=false, any user can execute the aforementioned functions.  
allowAdministration = true
web.allowAdministration = true
repositoriesMessage = Welcome to Git:Blit!<br>A quick and easy way to host your own Git repositories.<br>Built with <a href="http://eclipse.org/jgit">JGit</a>, <a href="http://wicket.apache.org">Wicket</a>, <a href="http://code.google.com/p/google-code-prettify/">google-code-prettify</a>, <a href="http://eclipse.org/jetty">Jetty</a>, <a href="http://www.slf4j.org">SLF4J</a>, <a href="http://logging.apache.org/log4j">Log4j</a>, and <a href="http://jcommander.org">JCommander</a>.
# This is the message display above the repositories table.
# This can point to a file with HTML content.
web.repositoriesMessage = Welcome to Git:Blit!<br>A quick and easy way to host your own Git repositories.<br>Built with <a href="http://eclipse.org/jgit">JGit</a>, <a href="http://wicket.apache.org">Wicket</a>, <a href="http://code.google.com/p/google-code-prettify/">google-code-prettify</a>, <a href="http://eclipse.org/jetty">Jetty</a>, <a href="http://www.slf4j.org">SLF4J</a>, <a href="http://logging.apache.org/log4j">Log4j</a>, and <a href="http://jcommander.org">JCommander</a>.
# Use the client timezone when formatting dates.
# This uses AJAX to determine the browser's timezone and enables Wicket 
# session management for the connection.
useClientTimezone = false
web.useClientTimezone = false
# Date and Time formats
timestampFormat = h:mm a
datestampShortFormat = yyyy-MM-dd
datestampLongFormat = EEEE, MMMM d, yyyy
datetimestampShortFormat = yyyy-MM-dd h:mm a z
datetimestampLongFormat = EEEE, MMMM d, yyyy h:mm a z
web.datestampShortFormat = yyyy-MM-dd
web.datetimestampLongFormat = EEEE, MMMM d, yyyy h:mm a z
# Generates a line graph of repository activity over time on the Summary page.
# This is a real-time graph so generation may be expensive. 
generateActivityGraph = true
web.generateActivityGraph = true
# The number of commits to display on the summary page
# Value must exceed 0 else default of 20 is used
summaryCommitCount = 20
web.summaryCommitCount = 20
# The number of tags/heads to display on the summary page
# Value must exceed 0 else default of 5 is used
summaryRefsCount = 5
web.summaryRefsCount = 5
# The number of commits to show on each page of a Log
# Value must exceed 0 else default of 50 is used
logPageCommitCount = 50
web.logPageCommitCount = 50
# Registered extensions for google-code-prettify
prettyPrintExtensions = c cpp cs css htm html java js php pl prefs properties py rb sh sql xml vb
web.prettyPrintExtensions = c cpp cs css htm html java js php pl prefs properties py rb sh sql xml vb
# Image extensions
imageExtensions = bmp jpg gif png
web.imageExtensions = bmp jpg gif png
# Registered extensions for binary blobs
binaryExtensions = jar pdf tar.gz zip
web.binaryExtensions = jar pdf tar.gz zip
# Example global regex substitutions
regex.global.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!<a href="http://somehost/bug/$3">Bug-Id: $3</a>
regex.global.changeid = \\b(Change-Id:\\s*)([A-Za-z0-9]*)\\b!!!<a href="http://somehost/changeid/$2">Change-Id: $2</a>
# Example per-repository regex substitutions overrides global
regex.myrepository.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!<a href="http://elsewhere/bug/$3">Bug-Id: $3</a>
#regex.myrepository.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!<a href="http://elsewhere/bug/$3">Bug-Id: $3</a>
# Enable ticgit viewer for all repositories (checks for ticgit branch)
ticgit.global = false
# Enable ticgit viewer for specified repository (checks for ticgit branch)
ticgit.myrepository = true
ticgit.ticgit = true
#ticgit.myrepository = true
#
# Jetty Settings
#
# use NIO connectors.  If false, socket connectors will be used.
useNio = true
server.useNio = true
# Standard http port to serve.  <= 0 disables this connector.
httpPort = 0
server.httpPort = 0
# Secure/SSL https port to serve. <= 0 disables this connector.
httpsPort = 443
server.httpsPort = 443
# Password for SSL keystore (keystore password and certificate password must match)
storePassword = dosomegit
server.storePassword = dosomegit
# Port for shutdown monitor to listen on.
shutdownPort = 8081
server.shutdownPort = 8081
src/com/gitblit/.gitignore
New file
@@ -0,0 +1,2 @@
/SettingKeys.java
/Keys.java
src/com/gitblit/Build.java
@@ -3,18 +3,25 @@
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
public class Build {
    public static void main(String... args) {
        runtime();
        compiletime();
        buildSettingKeys();
    }
    public static void runtime() {
@@ -33,6 +40,40 @@
        downloadFromMaven(MavenObject.JUNIT);
    }
    public static void buildSettingKeys() {
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream(Constants.PROPERTIES_FILE));
        } catch (Throwable t) {
            t.printStackTrace();
        }
        List<String> keys = new ArrayList<String>(properties.stringPropertyNames());
        Collections.sort(keys);
        StringBuilder sb = new StringBuilder();
        sb.append("package com.gitblit;\n");
        sb.append("\n");
        sb.append("/*\n");
        sb.append(" * This class is auto-generated from the properties file.\n");
        sb.append(" * Do not version control!\n");
        sb.append(" */\n");
        sb.append("public final class Keys {\n");
        sb.append("\n");
        for (String key : keys) {
            sb.append(MessageFormat.format("\tpublic static final String {0} = \"{1}\";\n\n", key.replace('.', '_'), key));
        }
        sb.append("}");
        try {
            File file = new File("src/com/gitblit/Keys.java");
            file.delete();
            RandomAccessFile raf = new RandomAccessFile(file, "rw");
            raf.writeBytes(sb.toString());
            raf.close();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }
    /**
     * Download a file from a Maven repository.
     * 
src/com/gitblit/Constants.java
@@ -12,6 +12,8 @@
    
    public final static String PUSH_ROLE = "push";
    public final static String PROPERTIES_FILE = "gitblit.properties";
    public static String getGitBlitVersion() {
        return NAME + " v" + VERSION;
    }
src/com/gitblit/GitBlit.java
@@ -46,10 +46,10 @@
    }
    private GitBlit() {
        repositories = new File(StoredSettings.getString("repositoriesFolder", "repos"));
        exportAll = StoredSettings.getBoolean("exportAll", true);
        repositories = new File(StoredSettings.getString(Keys.git_repositoriesFolder, "repos"));
        exportAll = StoredSettings.getBoolean(Keys.git_exportAll, true);
        repositoryResolver = new FileResolver(repositories, exportAll);
        debugMode = StoredSettings.getBoolean("debugMode", false);
        debugMode = StoredSettings.getBoolean(Keys.server_debugMode, false);
    }
    
    public boolean isDebugMode() {
@@ -90,7 +90,7 @@
    }
    
    public List<String> getRepositoryList() {
        return JGitUtils.getRepositoryList(repositories, exportAll, StoredSettings.getBoolean("nestedRepositories", true));
        return JGitUtils.getRepositoryList(repositories, exportAll, StoredSettings.getBoolean(Keys.git_nestedRepositories, true));
    }
    public List<RepositoryModel> getRepositories(Request request) {
src/com/gitblit/GitBlitServer.java
@@ -79,7 +79,7 @@
        }
        if (jc != null) {
            jc.usage();
            System.out.println("\nExample:\n  java -server -Xmx1024M -jar go-git-go.jar --repos c:\\git --port 80 --securePort 443");
            System.out.println("\nExample:\n  java -server -Xmx1024M -jar gitblit.jar --repos c:\\git --port 80 --securePort 443");
        }
        System.exit(0);
    }
@@ -109,7 +109,7 @@
        // instantiate GitBlit
        GitBlit.self();
        
        PatternLayout layout = new PatternLayout(StoredSettings.getString("log4jPattern", "%-5p %d{MM-dd HH:mm:ss.SSS}  %-20.20c{1}  %m%n"));
        PatternLayout layout = new PatternLayout(StoredSettings.getString(Keys.server_log4jPattern, "%-5p %d{MM-dd HH:mm:ss.SSS}  %-20.20c{1}  %m%n"));
        org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
        rootLogger.addAppender(new ConsoleAppender(layout));
@@ -121,7 +121,7 @@
        String osversion = System.getProperty("os.version");
        logger.info("Running on " + osname + " (" + osversion + ")");
        if (StoredSettings.getBoolean("debugMode", false)) {
        if (StoredSettings.getBoolean(Keys.server_debugMode, false)) {
            logger.warn("DEBUG Mode");
        }
@@ -177,7 +177,7 @@
        // Git Servlet
        ServletHolder gitServlet = null;
        String gitServletPathSpec = "/git/*";
        if (StoredSettings.getBoolean("allowPushPull", true)) {
        if (StoredSettings.getBoolean(Keys.git_allowPushPull, true)) {
            gitServlet = rootContext.addServlet(GitServlet.class, gitServletPathSpec);
            gitServlet.setInitParameter("base-path", params.repositoriesFolder);
            gitServlet.setInitParameter("export-all", params.exportAll ? "1" : "0");
@@ -356,43 +356,43 @@
        public Boolean stop = false;
        @Parameter(names = { "--temp" }, description = "Server temp folder")
        public String temp = StoredSettings.getString("tempFolder", "temp");
        public String temp = StoredSettings.getString(Keys.server_tempFolder, "temp");
        /*
         * GIT Servlet Parameters
         */
        @Parameter(names = { "--repos" }, description = "Git Repositories Folder")
        public String repositoriesFolder = StoredSettings.getString("repositoriesFolder", "repos");
        public String repositoriesFolder = StoredSettings.getString(Keys.git_repositoriesFolder, "repos");
        @Parameter(names = { "--exportAll" }, description = "Export All Found Repositories")
        public Boolean exportAll = StoredSettings.getBoolean("exportAll", true);
        public Boolean exportAll = StoredSettings.getBoolean(Keys.git_exportAll, true);
        /*
         * Authentication Parameters
         */
        @Parameter(names = { "--authenticatePushPull" }, description = "Authenticate Git Push/Pull access")
        public Boolean authenticatePushPull = StoredSettings.getBoolean("authenticatePushPull", true);
        public Boolean authenticatePushPull = StoredSettings.getBoolean(Keys.git_authenticate, true);
        @Parameter(names = { "--realm" }, description = "Users Realm Hash File")
        public String realmFile = StoredSettings.getString("realmFile", "users.properties");
        public String realmFile = StoredSettings.getString(Keys.server_realmFile, "users.properties");
        /*
         * JETTY Parameters
         */
        @Parameter(names = { "--nio" }, description = "Use NIO Connector else use Socket Connector.")
        public Boolean useNIO = StoredSettings.getBoolean("useNio", true);
        public Boolean useNIO = StoredSettings.getBoolean(Keys.server_useNio, true);
        @Parameter(names = "--port", description = "HTTP port for to serve. (port <= 0 will disable this connector)")
        public Integer port = StoredSettings.getInteger("httpPort", 80);
        public Integer port = StoredSettings.getInteger(Keys.server_httpPort, 80);
        @Parameter(names = "--securePort", description = "HTTPS port to serve.  (port <= 0 will disable this connector)")
        public Integer securePort = StoredSettings.getInteger("httpsPort", 443);
        public Integer securePort = StoredSettings.getInteger(Keys.server_httpsPort, 443);
        @Parameter(names = "--storePassword", description = "Password for SSL (https) keystore.")
        public String storePassword = StoredSettings.getString("storePassword", "");
        public String storePassword = StoredSettings.getString(Keys.server_storePassword, "");
        @Parameter(names = "--shutdownPort", description = "Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)")
        public Integer shutdownPort = StoredSettings.getInteger("shutdownPort", 8081);
        public Integer shutdownPort = StoredSettings.getInteger(Keys.server_shutdownPort, 8081);
    }
}
src/com/gitblit/ILoginService.java
src/com/gitblit/JettyLoginService.java
src/com/gitblit/StoredSettings.java
@@ -114,11 +114,11 @@
    }
    private static synchronized Properties read() {
        File file = new File("gitblit.properties");
        File file = new File(Constants.PROPERTIES_FILE);
        if (file.exists() && (file.lastModified() > lastread)) {
            try {
                properties = new Properties();
                properties.load(new FileInputStream("gitblit.properties"));
                properties.load(new FileInputStream(Constants.PROPERTIES_FILE));
                lastread = file.lastModified();
            } catch (FileNotFoundException f) {
            } catch (Throwable t) {
src/com/gitblit/tests/JGitUtilsTest.java
src/com/gitblit/utils/HtmlDiffFormatter.java
src/com/gitblit/utils/JGitUtils.java
src/com/gitblit/utils/Utils.java
src/com/gitblit/wicket/AuthorizationStrategy.java
src/com/gitblit/wicket/BasePage.java
@@ -12,6 +12,7 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.wicket.pages.SummaryPage;
@@ -34,7 +35,7 @@
            add(new Label("title", getServerName()));
        }
        // header
        String siteName = StoredSettings.getString("siteName", Constants.NAME);
        String siteName = StoredSettings.getString(Keys.web_siteName, Constants.NAME);
        if (siteName == null || siteName.trim().length() == 0) {
            siteName = Constants.NAME;
        }
@@ -44,20 +45,20 @@
        
        // footer
        User user = null;
        if (StoredSettings.getBoolean("authenticateWebUI", true)) {
        if (StoredSettings.getBoolean(Keys.web_authenticate, true)) {
            user = GitBlitWebSession.get().getUser();
            add(new Label("userText", "Logout " + user.toString()));
        } else {
            add(new Label("userText", ""));
        }
        add(new Label("gbVersion", "v" + Constants.VERSION));
        if (StoredSettings.getBoolean("aggressiveHeapManagement", false)) {
        if (StoredSettings.getBoolean(Keys.server_aggressiveHeapManagement, false)) {
            System.gc();
        }
    }
    
    protected TimeZone getTimeZone() {
        return StoredSettings.getBoolean("useClientTimezone", false) ? GitBlitWebSession.get().getTimezone() : TimeZone.getDefault();
        return StoredSettings.getBoolean(Keys.web_useClientTimezone, false) ? GitBlitWebSession.get().getTimezone() : TimeZone.getDefault();
    }
    
    protected String getServerName() {
src/com/gitblit/wicket/GitBlitWebApp.java
@@ -11,6 +11,7 @@
import org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.wicket.pages.BlobDiffPage;
import com.gitblit.wicket.pages.BlobPage;
@@ -35,14 +36,14 @@
        super.init();
        // Setup page authorization mechanism
        if (StoredSettings.getBoolean("authenticateWebUI", false)) {
        if (StoredSettings.getBoolean(Keys.web_authenticate, false)) {
            AuthorizationStrategy authStrategy = new AuthorizationStrategy();
            getSecuritySettings().setAuthorizationStrategy(authStrategy);
            getSecuritySettings().setUnauthorizedComponentInstantiationListener(authStrategy);
        }
        // Grab Browser info (like timezone, etc)
        if (StoredSettings.getBoolean("useClientTimezone", false)) {
        if (StoredSettings.getBoolean(Keys.web_useClientTimezone, false)) {
            getRequestCycleSettings().setGatherExtendedBrowserInfo(true);
        }
@@ -90,7 +91,7 @@
    }
    public String getCloneUrl(String repositoryName) {
        return StoredSettings.getString("cloneUrl", "https://localhost/git/") + repositoryName;
        return StoredSettings.getString(Keys.git_cloneUrl, "https://localhost/git/") + repositoryName;
    }
    public static GitBlitWebApp get() {
src/com/gitblit/wicket/GitBlitWebSession.java
src/com/gitblit/wicket/LinkPanel.java
src/com/gitblit/wicket/LoginPage.java
src/com/gitblit/wicket/RepositoryPage.java
src/com/gitblit/wicket/User.java
@@ -6,14 +6,14 @@
public class User {
    
    private String username;
    private char [] password;
    private String cookie;
    private boolean canAdmin = false;
    private boolean canClone = false;
    private boolean canPush = false;
    
    public User(String username, char [] password) {
        this.username = username;
        this.password = password;
        this.cookie = Build.getSHA1((Constants.NAME + username + new String(password)).getBytes());
    }
    
    public void canAdmin(boolean value) {
@@ -41,7 +41,7 @@
    }
    public String getCookie() {
        return Build.getSHA1((Constants.NAME + username + new String(password)).getBytes());
        return cookie;
    }
    
    public String toString() {
src/com/gitblit/wicket/WicketUtils.java
@@ -12,6 +12,7 @@
import org.apache.wicket.markup.html.basic.Label;
import org.eclipse.jgit.lib.Constants;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.utils.Utils;
@@ -121,7 +122,7 @@
    }
    public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone) {
        DateFormat df = new SimpleDateFormat(StoredSettings.getString("datestampShortFormat", "MM/dd/yy"));
        DateFormat df = new SimpleDateFormat(StoredSettings.getString(Keys.web_datestampShortFormat, "MM/dd/yy"));
        if (timeZone != null) {
            df.setTimeZone(timeZone);
        }
@@ -139,7 +140,7 @@
    }
    
    public static Label createTimestampLabel(String wicketId, Date date, TimeZone timeZone) {
        DateFormat df = new SimpleDateFormat(StoredSettings.getString("datetimestampLongFormat", "EEEE, MMMM d, yyyy h:mm a z"));
        DateFormat df = new SimpleDateFormat(StoredSettings.getString(Keys.web_datetimestampLongFormat, "EEEE, MMMM d, yyyy h:mm a z"));
        if (timeZone != null) {
            df.setTimeZone(timeZone);
        }
src/com/gitblit/wicket/models/PathModel.java
@@ -4,7 +4,6 @@
import com.gitblit.utils.JGitUtils;
public class PathModel implements Serializable, Comparable<PathModel> {
    private static final long serialVersionUID = 1L;
src/com/gitblit/wicket/models/RefModel.java
@@ -9,7 +9,6 @@
import com.gitblit.utils.JGitUtils;
public class RefModel implements Serializable, Comparable<RefModel> {
    private static final long serialVersionUID = 1L;
src/com/gitblit/wicket/models/TicGitTicket.java
src/com/gitblit/wicket/pages/BlobDiffPage.java
src/com/gitblit/wicket/pages/BlobPage.java
@@ -11,13 +11,13 @@
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
public class BlobPage extends RepositoryPage {
@@ -45,13 +45,13 @@
        // Map the extensions to types
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (String ext : StoredSettings.getStrings("prettyPrintExtensions")) {
        for (String ext : StoredSettings.getStrings(Keys.web_prettyPrintExtensions)) {
            map.put(ext.toLowerCase(), 1);
        }
        for (String ext : StoredSettings.getStrings("imageExtensions")) {
        for (String ext : StoredSettings.getStrings(Keys.web_imageExtensions)) {
            map.put(ext.toLowerCase(), 2);
        }
        for (String ext : StoredSettings.getStrings("binaryExtensions")) {
        for (String ext : StoredSettings.getStrings(Keys.web_binaryExtensions)) {
            map.put(ext.toLowerCase(), 3);
        }
src/com/gitblit/wicket/pages/BranchesPage.java
@@ -5,7 +5,6 @@
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.panels.BranchesPanel;
public class BranchesPage extends RepositoryPage {
    public BranchesPage(PageParameters params) {
src/com/gitblit/wicket/pages/CommitDiffPage.java
src/com/gitblit/wicket/pages/CommitPage.java
@@ -19,7 +19,6 @@
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.PathModel;
public class CommitPage extends RepositoryPage {
    public CommitPage(PageParameters params) {
src/com/gitblit/wicket/pages/PatchPage.java
@@ -13,7 +13,6 @@
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.WicketUtils;
public class PatchPage extends WebPage {
    public PatchPage(PageParameters params) {
src/com/gitblit/wicket/pages/RawPage.java
@@ -14,10 +14,10 @@
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.WicketUtils;
public class RawPage extends WebPage {
@@ -52,10 +52,10 @@
        // Map the extensions to types
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (String ext : StoredSettings.getStrings("imageExtensions")) {
        for (String ext : StoredSettings.getStrings(Keys.web_imageExtensions)) {
            map.put(ext.toLowerCase(), 2);
        }
        for (String ext : StoredSettings.getStrings("binaryExtensions")) {
        for (String ext : StoredSettings.getStrings(Keys.web_binaryExtensions)) {
            map.put(ext.toLowerCase(), 3);
        }
src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -18,6 +18,7 @@
import org.apache.wicket.model.Model;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.utils.Utils;
import com.gitblit.wicket.BasePage;
@@ -26,7 +27,6 @@
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.RepositoryModel;
public class RepositoriesPage extends BasePage {
    public RepositoriesPage() {
@@ -34,11 +34,11 @@
        setupPage("", "");
        
        boolean showAdmin = false;
        if (StoredSettings.getBoolean("authenticateWebUI", true)) {
            boolean allowAdmin = StoredSettings.getBoolean("allowAdministration", false);
        if (StoredSettings.getBoolean(Keys.web_authenticate, true)) {
            boolean allowAdmin = StoredSettings.getBoolean(Keys.web_allowAdministration, false);
            showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin(); 
        } else {
            showAdmin = StoredSettings.getBoolean("allowAdministration", false);
            showAdmin = StoredSettings.getBoolean(Keys.web_allowAdministration, false);
        }
        
        Fragment adminLinks = new Fragment("adminPanel", "adminLinks", this);
@@ -46,7 +46,7 @@
        adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class));        
        add(adminLinks.setVisible(showAdmin));
        
        add(new Label("repositoriesMessage", StoredSettings.getString("repositoriesMessage", "")).setEscapeModelStrings(false));
        add(new Label("repositoriesMessage", StoredSettings.getString(Keys.web_repositoriesMessage, "")).setEscapeModelStrings(false));
        List<RepositoryModel> rows = GitBlit.self().getRepositories(getRequest());
        DataProvider dp = new DataProvider(rows);
src/com/gitblit/wicket/pages/SummaryPage.java
@@ -15,6 +15,7 @@
import com.codecommit.wicket.ChartProvider;
import com.codecommit.wicket.ChartType;
import com.codecommit.wicket.IChartData;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.GitBlitWebApp;
@@ -33,12 +34,12 @@
        int numCommitsDef = 20;
        int numRefsDef = 5;
        
        int numberCommits = StoredSettings.getInteger("summaryCommitCount", numCommitsDef);
        int numberCommits = StoredSettings.getInteger(Keys.web_summaryCommitCount, numCommitsDef);
        if (numberCommits <= 0) {
            numberCommits = numCommitsDef;
        }
        int numberRefs = StoredSettings.getInteger("summaryRefsCount", numRefsDef);
        int numberRefs = StoredSettings.getInteger(Keys.web_summaryRefsCount, numRefsDef);
        if (numberRefs <= 0) {
            numberRefs = numRefsDef;
        }
@@ -72,7 +73,7 @@
    }
    private void insertActivityGraph(List<Metric> metrics) {
        if (StoredSettings.getBoolean("generateActivityGraph", true)) {
        if (StoredSettings.getBoolean(Keys.web_generateActivityGraph, true)) {
            IChartData data = getChartData(metrics);
            ChartProvider provider = new ChartProvider(new Dimension(400, 80), ChartType.LINE, data);
src/com/gitblit/wicket/pages/TagPage.java
@@ -13,7 +13,6 @@
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.RefModel;
public class TagPage extends RepositoryPage {
    public TagPage(PageParameters params) {
src/com/gitblit/wicket/pages/TagsPage.java
@@ -5,7 +5,6 @@
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.panels.TagsPanel;
public class TagsPage extends RepositoryPage {
    public TagsPage(PageParameters params) {
src/com/gitblit/wicket/pages/TicGitPage.java
src/com/gitblit/wicket/pages/TicGitTicketPage.java
src/com/gitblit/wicket/pages/TreePage.java
@@ -21,7 +21,6 @@
import com.gitblit.wicket.models.PathModel;
import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
public class TreePage extends RepositoryPage {
    public TreePage(PageParameters params) {
@@ -36,7 +35,6 @@
        // tree page links
        add(new Label("historyLink", getString("gb.history")));
        add(new BookmarkablePageLink<Void>("headLink", TreePage.class, WicketUtils.newPathParameter(repositoryName, Constants.HEAD, basePath)));
        add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
src/com/gitblit/wicket/panels/BasePanel.java
@@ -4,6 +4,7 @@
import org.apache.wicket.markup.html.panel.Panel;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.wicket.GitBlitWebSession;
@@ -16,6 +17,6 @@
    }
    protected TimeZone getTimeZone() {
        return StoredSettings.getBoolean("useClientTimezone", false) ? GitBlitWebSession.get().getTimezone() : TimeZone.getDefault();
        return StoredSettings.getBoolean(Keys.web_useClientTimezone, false) ? GitBlitWebSession.get().getTimezone() : TimeZone.getDefault();
    }
}
src/com/gitblit/wicket/panels/BranchesPanel.java
src/com/gitblit/wicket/panels/LogPanel.java
@@ -14,12 +14,13 @@
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.Keys;
import com.gitblit.StoredSettings;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.CommitDiffPage;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TreePage;
@@ -31,7 +32,7 @@
    public LogPanel(String wicketId, final String repositoryName, String objectId, Repository r, int limit, int pageOffset) {
        super(wicketId);
        boolean pageResults = limit <= 0;
        int itemsPerPage = StoredSettings.getInteger("logPageCommitCount", 50);
        int itemsPerPage = StoredSettings.getInteger(Keys.web_logPageCommitCount, 50);
        if (itemsPerPage <= 1) {
            itemsPerPage = 50;
        }
src/com/gitblit/wicket/panels/PageLinksPanel.java
src/com/gitblit/wicket/panels/RefsPanel.java
@@ -20,7 +20,6 @@
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.TagPage;
public class RefsPanel extends Panel {
    private static final long serialVersionUID = 1L;
@@ -37,6 +36,7 @@
        ListDataProvider<String> refsDp = new ListDataProvider<String>(refNames);
        DataView<String> refsView = new DataView<String>("ref", refsDp) {
            private static final long serialVersionUID = 1L;
            public void populateItem(final Item<String> item) {
                String entry = item.getModelObject();
                Component c = null;