James Moger
2011-10-27 8e40cd53b6b1579e383bd5e993cb3c35ce4583c4
Add version number and date to ServerStatus. Conditionally hide status.
4 files modified
69 ■■■■ changed files
src/com/gitblit/client/GitblitPanel.java 12 ●●●●● patch | view | raw | blame | history
src/com/gitblit/client/StatusPanel.java 27 ●●●● patch | view | raw | blame | history
src/com/gitblit/models/ServerStatus.java 26 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.properties 4 ●●● patch | view | raw | blame | history
src/com/gitblit/client/GitblitPanel.java
@@ -530,11 +530,13 @@
            Utils.packColumns(settingsTable, 5);
        } else {
            // remove the settings tab
            String settingsTitle = Translation.get("gb.settings");
            for (int i = 0; i < tabs.getTabCount(); i++) {
                if (tabs.getTitleAt(i).equals(settingsTitle)) {
                    tabs.removeTabAt(i);
                    break;
            String[] titles = { Translation.get("gb.settings"), Translation.get("gb.status") };
            for (String title : titles) {
                for (int i = 0; i < tabs.getTabCount(); i++) {
                    if (tabs.getTitleAt(i).equals(title)) {
                        tabs.removeTabAt(i);
                        break;
                    }
                }
            }
        }
src/com/gitblit/client/StatusPanel.java
@@ -27,8 +27,10 @@
import javax.swing.JScrollPane;
import javax.swing.JTable;
import com.gitblit.Constants;
import com.gitblit.models.ServerStatus;
import com.gitblit.utils.ByteFormat;
import com.gitblit.utils.TimeUtils;
/**
 * This panel displays the server status.
@@ -46,6 +48,8 @@
    private JLabel heapUsed;
    private PropertiesTableModel model;
    private HeaderPanel headerPanel;
    private JLabel version;
    private JLabel releaseDate;
    public StatusPanel() {
        super();
@@ -58,6 +62,8 @@
    }
    private void initialize() {
        version = new JLabel();
        releaseDate = new JLabel();
        bootDate = new JLabel();
        servletContainer = new JLabel();
@@ -65,7 +71,17 @@
        heapAllocated = new JLabel();
        heapUsed = new JLabel();
        JPanel fieldsPanel = new JPanel(new GridLayout(0, 1));
        JPanel fieldsPanel = new JPanel(new GridLayout(0, 1, 0, 5)) {
            private static final long serialVersionUID = 1L;
            @Override
            public Insets getInsets() {
                return insets;
            }
        };
        fieldsPanel.add(createFieldPanel("gb.version", version));
        fieldsPanel.add(createFieldPanel("gb.releaseDate", releaseDate));
        fieldsPanel.add(createFieldPanel("gb.bootDate", bootDate));
        fieldsPanel.add(createFieldPanel("gb.servletContainer", servletContainer));
        fieldsPanel.add(createFieldPanel("gb.heapUsed", heapUsed));
@@ -90,10 +106,10 @@
    }
    private JPanel createFieldPanel(String key, JLabel valueLabel) {
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));
        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0));
        JLabel textLabel = new JLabel(Translation.get(key));
        textLabel.setFont(textLabel.getFont().deriveFont(Font.BOLD));
        textLabel.setPreferredSize(new Dimension(120, valueLabel.getFont().getSize() + 4));
        textLabel.setPreferredSize(new Dimension(120, 10));
        panel.add(textLabel);
        panel.add(valueLabel);
        return panel;
@@ -106,7 +122,10 @@
    public void setStatus(ServerStatus status) {
        headerPanel.setText(Translation.get("gb.status"));
        bootDate.setText(status.bootDate.toString());
        version.setText(Constants.NAME + (status.isGO ? " GO v" : " WAR v") + status.version);
        releaseDate.setText(status.releaseDate);
        bootDate.setText(status.bootDate.toString() + " (" + TimeUtils.timeAgo(status.bootDate)
                + ")");
        servletContainer.setText(status.servletContainer);
        ByteFormat byteFormat = new ByteFormat();
        heapMaximum.setText(byteFormat.format(status.heapMaximum));
src/com/gitblit/models/ServerStatus.java
@@ -20,6 +20,8 @@
import java.util.Map;
import java.util.TreeMap;
import com.gitblit.Constants;
/**
 * ServerStatus encapsulates runtime status information about the server
 * including some information about the system environment.
@@ -32,26 +34,32 @@
    private static final long serialVersionUID = 1L;
    public final Date bootDate;
    public final String version;
    public final String releaseDate;
    public final boolean isGO;
    public final Map<String, String> systemProperties;
    public final long heapMaximum;
    public volatile long heapAllocated;
    public volatile long heapFree;
    public String servletContainer;
    public ServerStatus(boolean isGO) {
        bootDate = new Date();
        this.bootDate = new Date();
        this.version = Constants.VERSION;
        this.releaseDate = Constants.VERSION_DATE;
        this.isGO = isGO;
        heapMaximum = Runtime.getRuntime().maxMemory();
        systemProperties = new TreeMap<String, String>();
        this.heapMaximum = Runtime.getRuntime().maxMemory();
        this.systemProperties = new TreeMap<String, String>();
        put("file.encoding");
        put("java.home");
        put("java.io.tmpdir");
src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -173,4 +173,6 @@
gb.heapMaximum = maximum heap
gb.heapAllocated = allocated heap
gb.heapUsed = used heap
gb.free = free
gb.free = free
gb.version = version
gb.releaseDate = release date