From d00a0ca46fcde3e3e580afea6a548b9c12aeac25 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 11 Jul 2012 17:18:02 -0400
Subject: [PATCH] Update to slf4j 1.6.6 and log4j 1.2.17
---
src/com/gitblit/wicket/pages/RepositoriesPage.java | 93 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 81 insertions(+), 12 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java
index d5a21a7..98dade6 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -16,20 +16,29 @@
package com.gitblit.wicket.pages;
import java.io.File;
-import java.io.FileReader;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.MessageFormat;
+import java.util.List;
import org.apache.wicket.Component;
+import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.resource.ContextRelativeResource;
+import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
+import org.eclipse.jgit.lib.Constants;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
+import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
+import com.gitblit.wicket.PageRegistration;
+import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
+import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.RepositoriesPanel;
@@ -37,8 +46,21 @@
public RepositoriesPage() {
super();
- setupPage("", "");
+ setup(null);
+ }
+ public RepositoriesPage(PageParameters params) {
+ super(params);
+ setup(params);
+ }
+
+ @Override
+ protected boolean reusePageParameters() {
+ return true;
+ }
+
+ private void setup(PageParameters params) {
+ setupPage("", "");
// check to see if we should display a login message
boolean authenticateView = GitBlit.getBoolean(Keys.web.authenticateViewPages, true);
if (authenticateView && !GitBlitWebSession.get().isLoggedIn()) {
@@ -56,14 +78,37 @@
Component repositoriesMessage = new Label("repositoriesMessage", message)
.setEscapeModelStrings(false).setVisible(message.length() > 0);
add(repositoriesMessage);
- RepositoriesPanel repositories = new RepositoriesPanel("repositoriesPanel", showAdmin,
- null, getAccessRestrictions());
+
+ List<RepositoryModel> repositories = getRepositories(params);
+
+ RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositoriesPanel", showAdmin,
+ repositories, true, getAccessRestrictions());
// push the panel down if we are hiding the admin controls and the
// welcome message
if (!showAdmin && !repositoriesMessage.isVisible()) {
- WicketUtils.setCssStyle(repositories, "padding-top:5px;");
+ WicketUtils.setCssStyle(repositoriesPanel, "padding-top:5px;");
}
- add(repositories);
+ add(repositoriesPanel);
+ }
+
+ @Override
+ protected void addDropDownMenus(List<PageRegistration> pages) {
+ PageParameters params = getPageParameters();
+
+ DropDownMenuRegistration menu = new DropDownMenuRegistration("gb.filters",
+ RepositoriesPage.class);
+ // preserve time filter option on repository choices
+ menu.menuItems.addAll(getRepositoryFilterItems(params));
+
+ // preserve repository filter option on time choices
+ menu.menuItems.addAll(getTimeFilterItems(params));
+
+ if (menu.menuItems.size() > 0) {
+ // Reset Filter
+ menu.menuItems.add(new DropDownMenuItem(getString("gb.reset"), null, null));
+ }
+
+ pages.add(menu);
}
private String readMarkdown(String messageSource, String resource) {
@@ -77,14 +122,17 @@
File file = new File(messageSource);
if (file.exists()) {
try {
- FileReader reader = new FileReader(file);
+ FileInputStream fis = new FileInputStream(file);
+ InputStreamReader reader = new InputStreamReader(fis,
+ Constants.CHARACTER_ENCODING);
message = MarkdownUtils.transformMarkdown(reader);
+ reader.close();
} catch (Throwable t) {
- message = "Failed to read " + file;
+ message = getString("gb.failedToRead") + " " + file;
warn(message, t);
}
} else {
- message = messageSource + " is not a valid file.";
+ message = messageSource + " " + getString("gb.isNotValidFile");
}
}
}
@@ -92,15 +140,36 @@
}
private String readDefaultMarkdown(String file) {
+ String content = readDefaultMarkdown(file, getLanguageCode());
+ if (StringUtils.isEmpty(content)) {
+ content = readDefaultMarkdown(file, null);
+ }
+ return content;
+ }
+
+ private String readDefaultMarkdown(String file, String lc) {
+ if (!StringUtils.isEmpty(lc)) {
+ // convert to file_lc.mkd
+ file = file.substring(0, file.lastIndexOf('.')) + "_" + lc + file.substring(file.lastIndexOf('.'));
+ }
String message;
- try {
+ try {
ContextRelativeResource res = WicketUtils.getResource(file);
InputStream is = res.getResourceStream().getInputStream();
- InputStreamReader reader = new InputStreamReader(is);
+ InputStreamReader reader = new InputStreamReader(is, Constants.CHARACTER_ENCODING);
message = MarkdownUtils.transformMarkdown(reader);
reader.close();
+ } catch (ResourceStreamNotFoundException t) {
+ if (lc == null) {
+ // could not find default language resource
+ message = MessageFormat.format(getString("gb.failedToReadMessage"), file);
+ error(message, t, false);
+ } else {
+ // ignore so we can try default language resource
+ message = null;
+ }
} catch (Throwable t) {
- message = MessageFormat.format("Failed to read default message from {0}!", file);
+ message = MessageFormat.format(getString("gb.failedToReadMessage"), file);
error(message, t, false);
}
return message;
--
Gitblit v1.9.1