From 357109c5a5518db5925f49a6700a87e7ed30ca14 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 28 Dec 2011 16:19:29 -0500
Subject: [PATCH] Unit testing. Documentation.
---
src/com/gitblit/client/DateCellRenderer.java | 34 +++++++++++++++++++++++++++++++---
1 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/src/com/gitblit/client/DateCellRenderer.java b/src/com/gitblit/client/DateCellRenderer.java
index 591926b..3d0ab15 100644
--- a/src/com/gitblit/client/DateCellRenderer.java
+++ b/src/com/gitblit/client/DateCellRenderer.java
@@ -15,29 +15,57 @@
*/
package com.gitblit.client;
+import java.awt.Color;
import java.awt.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JTable;
+import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
+import com.gitblit.utils.TimeUtils;
+
+/**
+ * Time ago cell renderer with real date tooltip.
+ *
+ * @author James Moger
+ *
+ */
public class DateCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = 1L;
private final String pattern;
- public DateCellRenderer(String pattern) {
+ public DateCellRenderer(String pattern, Color foreground) {
this.pattern = (pattern == null ? "yyyy-MM-dd HH:mm" : pattern);
+ setForeground(foreground);
+ setHorizontalAlignment(SwingConstants.CENTER);
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (value instanceof Date) {
- String strDate = new SimpleDateFormat(pattern).format((Date) value);
- this.setText(strDate);
+ Date date = (Date) value;
+ String title;
+ String dateString;
+ if (date.getTime() == 0) {
+ title = "--";
+ dateString = "never";
+ } else {
+ title = TimeUtils.timeAgo(date);
+ dateString = new SimpleDateFormat(pattern).format((Date) value);
+ }
+
+ if ((System.currentTimeMillis() - date.getTime()) > 10 * 24 * 60 * 60 * 1000L) {
+ String tmp = dateString;
+ dateString = title;
+ title = tmp;
+ }
+ this.setText(title);
+ this.setToolTipText(dateString);
}
return this;
}
--
Gitblit v1.9.1