From a4231d30c4d2765c80f57df79cd1d4d39a9795ea Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 30 Oct 2012 17:05:30 -0400 Subject: [PATCH] Added null checkinng and logging for edit user permissions (issue 155) --- src/com/gitblit/wicket/pages/RepositoriesPage.java | 35 ++++++++++++++++++++++++++++------- 1 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index 839f4e3..97c6aa2 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -26,6 +26,7 @@ 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; @@ -80,7 +81,7 @@ List<RepositoryModel> repositories = getRepositories(params); RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositoriesPanel", showAdmin, - repositories, true, getAccessRestrictions()); + true, repositories, true, getAccessRestrictions()); // push the panel down if we are hiding the admin controls and the // welcome message if (!showAdmin && !repositoriesMessage.isVisible()) { @@ -126,11 +127,11 @@ 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"); } } } @@ -138,15 +139,35 @@ } 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 { - ContextRelativeResource res = WicketUtils.getResource(file); - InputStream is = res.getResourceStream().getInputStream(); + try { + InputStream is = GitBlit.self().getResourceAsStream(file); 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