From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 05 Jan 2012 17:34:05 -0500 Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders --- src/com/gitblit/wicket/WicketUtils.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 98 insertions(+), 12 deletions(-) diff --git a/src/com/gitblit/wicket/WicketUtils.java b/src/com/gitblit/wicket/WicketUtils.java index f47663c..59a9450 100644 --- a/src/com/gitblit/wicket/WicketUtils.java +++ b/src/com/gitblit/wicket/WicketUtils.java @@ -16,6 +16,7 @@ package com.gitblit.wicket; import java.text.DateFormat; +import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -57,6 +58,12 @@ public static void setCssStyle(Component container, String value) { container.add(new SimpleAttributeModifier("style", value)); + } + + public static void setCssBackground(Component container, String value) { + String background = MessageFormat.format("background-color:{0};", + StringUtils.getColor(value)); + container.add(new SimpleAttributeModifier("style", background)); } public static void setHtmlTooltip(Component container, String value) { @@ -129,7 +136,7 @@ filename = "bullet_white.png"; break; case PENDING: - case NOCHANGE: + case NOCHANGE: default: filename = "bullet_black.png"; } @@ -239,17 +246,21 @@ } }); } - + public static PageParameters newTokenParameter(String token) { return new PageParameters("t=" + token); } - + public static PageParameters newRegistrationParameter(String url, String name) { return new PageParameters("u=" + url + ",n=" + name); } public static PageParameters newUsernameParameter(String username) { return new PageParameters("user=" + username); + } + + public static PageParameters newTeamnameParameter(String teamname) { + return new PageParameters("team=" + teamname); } public static PageParameters newRepositoryParameter(String repositoryName) { @@ -284,9 +295,9 @@ return newObjectParameter(repositoryName, objectId); } if (StringUtils.isEmpty(objectId)) { - return new PageParameters("r=" + repositoryName + ",page=" + pageNumber); + return new PageParameters("r=" + repositoryName + ",pg=" + pageNumber); } - return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",page=" + pageNumber); + return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",pg=" + pageNumber); } public static PageParameters newHistoryPageParameter(String repositoryName, String objectId, @@ -295,10 +306,10 @@ return newObjectParameter(repositoryName, objectId); } if (StringUtils.isEmpty(objectId)) { - return new PageParameters("r=" + repositoryName + ",f=" + path + ",page=" + pageNumber); + return new PageParameters("r=" + repositoryName + ",f=" + path + ",pg=" + pageNumber); } - return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",f=" + path - + ",page=" + pageNumber); + return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",f=" + path + ",pg=" + + pageNumber); } public static PageParameters newBlobDiffParameter(String repositoryName, String baseCommitId, @@ -323,10 +334,10 @@ String search, Constants.SearchType type, int pageNumber) { if (StringUtils.isEmpty(commitId)) { return new PageParameters("r=" + repositoryName + ",s=" + search + ",st=" + type.name() - + ",page=" + pageNumber); + + ",pg=" + pageNumber); } return new PageParameters("r=" + repositoryName + ",h=" + commitId + ",s=" + search - + ",st=" + type.name() + ",page=" + pageNumber); + + ",st=" + type.name() + ",pg=" + pageNumber); } public static String getRepositoryName(PageParameters params) { @@ -355,17 +366,37 @@ public static int getPage(PageParameters params) { // index from 1 - return params.getInt("page", 1); + return params.getInt("pg", 1); + } + + public static String getRegEx(PageParameters params) { + return params.getString("x", ""); + } + + public static String getSet(PageParameters params) { + return params.getString("set", ""); + } + + public static String getTeam(PageParameters params) { + return params.getString("team", ""); + } + + public static int getDaysBack(PageParameters params) { + return params.getInt("db", 14); } public static String getUsername(PageParameters params) { return params.getString("user", ""); } + public static String getTeamname(PageParameters params) { + return params.getString("team", ""); + } + public static String getToken(PageParameters params) { return params.getString("t", ""); } - + public static String getUrlParameter(PageParameters params) { return params.getString("u", ""); } @@ -404,6 +435,61 @@ return label; } + public static Label createTimeLabel(String wicketId, Date date, TimeZone timeZone) { + String format = GitBlit.getString(Keys.web.timeFormat, "HH:mm"); + DateFormat df = new SimpleDateFormat(format); + if (timeZone != null) { + df.setTimeZone(timeZone); + } + String timeString; + if (date.getTime() == 0) { + timeString = "--"; + } else { + timeString = df.format(date); + } + String title = TimeUtils.timeAgo(date); + Label label = new Label(wicketId, timeString); + WicketUtils.setCssClass(label, TimeUtils.timeAgoCss(date)); + if (!StringUtils.isEmpty(title)) { + WicketUtils.setHtmlTooltip(label, title); + } + return label; + } + + public static Label createDatestampLabel(String wicketId, Date date, TimeZone timeZone) { + String format = GitBlit.getString(Keys.web.datestampLongFormat, "EEEE, MMMM d, yyyy"); + DateFormat df = new SimpleDateFormat(format); + if (timeZone != null) { + df.setTimeZone(timeZone); + } + String dateString; + if (date.getTime() == 0) { + dateString = "--"; + } else { + dateString = df.format(date); + } + String title = null; + if (TimeUtils.isToday(date)) { + title = "today"; + } else if (TimeUtils.isYesterday(date)) { + title = "yesterday"; + } else if (date.getTime() <= System.currentTimeMillis()) { + // past + title = TimeUtils.timeAgo(date); + } + if ((System.currentTimeMillis() - date.getTime()) < 10 * 24 * 60 * 60 * 1000L) { + String tmp = dateString; + dateString = title; + title = tmp; + } + Label label = new Label(wicketId, dateString); + WicketUtils.setCssClass(label, TimeUtils.timeAgoCss(date)); + if (!StringUtils.isEmpty(title)) { + WicketUtils.setHtmlTooltip(label, title); + } + return label; + } + public static Label createTimestampLabel(String wicketId, Date date, TimeZone timeZone) { String format = GitBlit.getString(Keys.web.datetimestampLongFormat, "EEEE, MMMM d, yyyy h:mm a z"); -- Gitblit v1.9.1