| | |
| | | import java.util.HashMap;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | | import java.util.TimeZone;
|
| | |
|
| | | import org.eclipse.jgit.lib.Constants;
|
| | | import org.eclipse.jgit.lib.ObjectId;
|
| | |
| | | * @param objectId
|
| | | * the branch to retrieve. If this value is null or empty all
|
| | | * branches are queried.
|
| | | * @param timezone
|
| | | * the timezone for aggregating commits
|
| | | * @return
|
| | | */
|
| | | public static List<Activity> getRecentActivity(List<RepositoryModel> models, int daysBack,
|
| | | String objectId) {
|
| | | String objectId, TimeZone timezone) {
|
| | |
|
| | | // Activity panel shows last daysBack of activity across all
|
| | | // repositories.
|
| | |
| | | // Build a map of DailyActivity from the available repositories for the
|
| | | // specified threshold date.
|
| | | DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
| | | df.setTimeZone(GitBlit.getTimezone());
|
| | | df.setTimeZone(timezone);
|
| | | Calendar cal = Calendar.getInstance();
|
| | | cal.setTimeZone(GitBlit.getTimezone());
|
| | | cal.setTimeZone(timezone);
|
| | |
|
| | | Map<String, Activity> activity = new HashMap<String, Activity>();
|
| | | for (RepositoryModel model : models) {
|
| | |
| | | branches.add(objectId);
|
| | | }
|
| | | Map<ObjectId, List<RefModel>> allRefs = JGitUtils
|
| | | .getAllRefs(repository);
|
| | | .getAllRefs(repository, model.showRemoteBranches);
|
| | |
|
| | | for (String branch : branches) {
|
| | | String shortName = branch;
|
| | |
| | | * @param email
|
| | | * address to query Gravatar
|
| | | * @param width
|
| | | * size of thumbnail. if width <= 0, the defalt of 60 is used.
|
| | | * size of thumbnail. if width <= 0, the default of 50 is used.
|
| | | * @return
|
| | | */
|
| | | public static String getGravatarThumbnailUrl(String email, int width) {
|
| | | if (width <= 0) {
|
| | | width = 60;
|
| | | width = 50;
|
| | | }
|
| | | String emailHash = StringUtils.getMD5(email);
|
| | | String url = MessageFormat.format(
|
| | | "http://www.gravatar.com/avatar/{0}?s={1,number,0}&d=identicon", emailHash, width);
|
| | | "https://www.gravatar.com/avatar/{0}?s={1,number,0}&d=identicon", emailHash, width);
|
| | | return url;
|
| | | }
|
| | |
|
| | |
| | | * @throws IOException
|
| | | */
|
| | | public static GravatarProfile getGravatarProfile(String hash) throws IOException {
|
| | | String url = MessageFormat.format("http://www.gravatar.com/{0}.json", hash);
|
| | | String url = MessageFormat.format("https://www.gravatar.com/{0}.json", hash);
|
| | | // Gravatar has a complex json structure
|
| | | Type profileType = new TypeToken<Map<String, List<GravatarProfile>>>() {
|
| | | }.getType();
|