From ea936aa63d7a756ca7d0284f76b830656d1e8918 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 27 Sep 2011 09:49:57 -0400
Subject: [PATCH] Documentation.

---
 src/com/gitblit/wicket/pages/RepositoriesPage.java |   67 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 9 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java
index e421c89..619d42e 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -1,9 +1,25 @@
+/*
+ * Copyright 2011 gitblit.com.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.gitblit.wicket.pages;
 
 import java.io.File;
 import java.io.FileReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.text.MessageFormat;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
@@ -13,9 +29,11 @@
 import com.gitblit.Keys;
 import com.gitblit.utils.MarkdownUtils;
 import com.gitblit.utils.StringUtils;
-import com.gitblit.wicket.BasePage;
 import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.panels.FederationProposalsPanel;
+import com.gitblit.wicket.panels.FederationRegistrationsPanel;
+import com.gitblit.wicket.panels.FederationTokensPanel;
 import com.gitblit.wicket.panels.RepositoriesPanel;
 import com.gitblit.wicket.panels.UsersPanel;
 
@@ -26,14 +44,14 @@
 		setupPage("", "");
 
 		final boolean showAdmin;
-		if (GitBlit.self().settings().getBoolean(Keys.web.authenticateAdminPages, true)) {
-			boolean allowAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false);
+		if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) {
+			boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false);
 			showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin();
 			// authentication requires state and session
 			setStatelessHint(false);
 		} else {
-			showAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false);
-			if (GitBlit.self().settings().getBoolean(Keys.web.authenticateViewPages, false)) {
+			showAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false);
+			if (GitBlit.getBoolean(Keys.web.authenticateViewPages, false)) {
 				// authentication requires state and session
 				setStatelessHint(false);
 			} else {
@@ -46,10 +64,18 @@
 		String cachedMessage = GitBlitWebSession.get().clearErrorMessage();
 		if (!StringUtils.isEmpty(cachedMessage)) {
 			error(cachedMessage);
+		} else if (showAdmin) {
+			int pendingProposals = GitBlit.self().getPendingFederationProposals().size();
+			if (pendingProposals == 1) {
+				info("There is 1 federation proposal awaiting review.");
+			} else if (pendingProposals > 1) {
+				info(MessageFormat.format("There are {0} federation proposals awaiting review.",
+						pendingProposals));
+			}
 		}
 
 		// Load the markdown welcome message
-		String messageSource = GitBlit.self().settings().getString(Keys.web.repositoriesMessage, "gitblit");
+		String messageSource = GitBlit.getString(Keys.web.repositoriesMessage, "gitblit");
 		String message = "<br/>";
 		if (messageSource.equalsIgnoreCase("gitblit")) {
 			// Read default welcome message
@@ -58,6 +84,7 @@
 				InputStream is = res.getResourceStream().getInputStream();
 				InputStreamReader reader = new InputStreamReader(is);
 				message = MarkdownUtils.transformMarkdown(reader);
+				reader.close();
 			} catch (Throwable t) {
 				message = "Failed to read default welcome message!";
 				error(message, t, false);
@@ -72,16 +99,38 @@
 						message = MarkdownUtils.transformMarkdown(reader);
 					} catch (Throwable t) {
 						message = "Failed to read " + file;
-						error(message, t, false);
+						warn(message, t);
 					}
 				} else {
 					message = messageSource + " is not a valid file.";
 				}
 			}
 		}
-		Component repositoriesMessage = new Label("repositoriesMessage", message).setEscapeModelStrings(false);
+		Component repositoriesMessage = new Label("repositoriesMessage", message)
+				.setEscapeModelStrings(false);
 		add(repositoriesMessage);
-		add(new RepositoriesPanel("repositoriesPanel", showAdmin, getAccessRestrictions()));		
+		add(new RepositoriesPanel("repositoriesPanel", showAdmin, null, getAccessRestrictions()));
 		add(new UsersPanel("usersPanel", showAdmin).setVisible(showAdmin));
+		boolean showFederation = showAdmin && GitBlit.canFederate();
+		add(new FederationTokensPanel("federationTokensPanel", showFederation)
+				.setVisible(showFederation));
+		FederationProposalsPanel proposalsPanel = new FederationProposalsPanel(
+				"federationProposalsPanel");
+		if (showFederation) {
+			proposalsPanel.hideIfEmpty();
+		} else {
+			proposalsPanel.setVisible(false);
+		}
+
+		boolean showRegistrations = GitBlit.getBoolean(Keys.web.showFederationRegistrations, false);
+		FederationRegistrationsPanel registrationsPanel = new FederationRegistrationsPanel(
+				"federationRegistrationsPanel");
+		if (showAdmin || showRegistrations) {
+			registrationsPanel.hideIfEmpty();
+		} else {
+			registrationsPanel.setVisible(false);
+		}
+		add(proposalsPanel);
+		add(registrationsPanel);
 	}
 }

--
Gitblit v1.9.1