James Moger
2014-04-17 1d78b8b372f15d89f10fd32cb0227a6a7966de3c
src/main/java/com/gitblit/wicket/WicketUtils.java
@@ -21,7 +21,6 @@
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
@@ -39,13 +38,10 @@
import org.apache.wicket.protocol.http.WebRequest;
import org.apache.wicket.resource.ContextRelativeResource;
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.wicketstuff.googlecharts.AbstractChartData;
import org.wicketstuff.googlecharts.IChartData;
import com.gitblit.Constants;
import com.gitblit.Constants.AccessPermission;
import com.gitblit.Constants.FederationPullStatus;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.models.FederationModel;
import com.gitblit.models.Metric;
@@ -190,11 +186,10 @@
         return newImage(wicketId, "file_settings_16x16.png");
      }
      List<String> mdExtensions = GitBlit.getStrings(Keys.web.markdownExtensions);
      for (String ext : mdExtensions) {
         if (filename.endsWith('.' + ext.toLowerCase())) {
            return newImage(wicketId, "file_world_16x16.png");
         }
      MarkupProcessor processor = new MarkupProcessor(GitBlitWebApp.get().settings());
      String ext = StringUtils.getFileExtension(filename).toLowerCase();
      if (processor.getMarkupExtensions().contains(ext)) {
         return newImage(wicketId, "file_world_16x16.png");
      }
      return newImage(wicketId, "file_16x16.png");
   }
@@ -438,6 +433,16 @@
      return new PageParameters(parameterMap);
   }
   public static PageParameters newBlameTypeParameter(String repositoryName,
         String commitId, String path, String blameType) {
      Map<String, String> parameterMap = new HashMap<String, String>();
      parameterMap.put("r", repositoryName);
      parameterMap.put("h", commitId);
      parameterMap.put("f", path);
      parameterMap.put("blametype", blameType);
      return new PageParameters(parameterMap);
   }
   public static String getProjectName(PageParameters params) {
      return params.getString("p", "");
   }
@@ -512,10 +517,10 @@
   }
   public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone, TimeUtils timeUtils, boolean setCss) {
      String format = GitBlit.getString(Keys.web.datestampShortFormat, "MM/dd/yy");
      String format = GitBlitWebApp.get().settings().getString(Keys.web.datestampShortFormat, "MM/dd/yy");
      DateFormat df = new SimpleDateFormat(format);
      if (timeZone == null) {
         timeZone = GitBlit.getTimezone();
         timeZone = GitBlitWebApp.get().getTimezone();
      }
      df.setTimeZone(timeZone);
      String dateString;
@@ -529,7 +534,7 @@
         // past
         title = timeUtils.timeAgo(date);
      }
      if ((System.currentTimeMillis() - date.getTime()) < 10 * 24 * 60 * 60 * 1000L) {
      if (title != null && (System.currentTimeMillis() - date.getTime()) < 10 * 24 * 60 * 60 * 1000L) {
         String tmp = dateString;
         dateString = title;
         title = tmp;
@@ -545,10 +550,10 @@
   }
   public static Label createTimeLabel(String wicketId, Date date, TimeZone timeZone, TimeUtils timeUtils) {
      String format = GitBlit.getString(Keys.web.timeFormat, "HH:mm");
      String format = GitBlitWebApp.get().settings().getString(Keys.web.timeFormat, "HH:mm");
      DateFormat df = new SimpleDateFormat(format);
      if (timeZone == null) {
         timeZone = GitBlit.getTimezone();
         timeZone = GitBlitWebApp.get().getTimezone();
      }
      df.setTimeZone(timeZone);
      String timeString;
@@ -566,10 +571,10 @@
   }
   public static Label createDatestampLabel(String wicketId, Date date, TimeZone timeZone, TimeUtils timeUtils) {
      String format = GitBlit.getString(Keys.web.datestampLongFormat, "EEEE, MMMM d, yyyy");
      String format = GitBlitWebApp.get().settings().getString(Keys.web.datestampLongFormat, "EEEE, MMMM d, yyyy");
      DateFormat df = new SimpleDateFormat(format);
      if (timeZone == null) {
         timeZone = GitBlit.getTimezone();
         timeZone = GitBlitWebApp.get().getTimezone();
      }
      df.setTimeZone(timeZone);
      String dateString;
@@ -582,10 +587,13 @@
      if (TimeUtils.isToday(date, timeZone)) {
         title = timeUtils.today();
      } else if (TimeUtils.isYesterday(date, timeZone)) {
            title = timeUtils.yesterday();
         title = timeUtils.yesterday();
      } else if (date.getTime() <= System.currentTimeMillis()) {
         // past
         title = timeUtils.timeAgo(date);
      } else {
         // future
         title = timeUtils.inFuture(date);
      }
      if ((System.currentTimeMillis() - date.getTime()) < 10 * 24 * 60 * 60 * 1000L) {
         String tmp = dateString;
@@ -600,11 +608,11 @@
   }
   public static Label createTimestampLabel(String wicketId, Date date, TimeZone timeZone, TimeUtils timeUtils) {
      String format = GitBlit.getString(Keys.web.datetimestampLongFormat,
      String format = GitBlitWebApp.get().settings().getString(Keys.web.datetimestampLongFormat,
            "EEEE, MMMM d, yyyy HH:mm Z");
      DateFormat df = new SimpleDateFormat(format);
      if (timeZone == null) {
         timeZone = GitBlit.getTimezone();
         timeZone = GitBlitWebApp.get().getTimezone();
      }
      df.setTimeZone(timeZone);
      String dateString;
@@ -625,32 +633,6 @@
      return label;
   }
   public static IChartData getChartData(Collection<Metric> metrics) {
      final double[] commits = new double[metrics.size()];
      final double[] tags = new double[metrics.size()];
      int i = 0;
      double max = 0;
      for (Metric m : metrics) {
         commits[i] = m.count;
         if (m.tag > 0) {
            tags[i] = m.count;
         } else {
            tags[i] = -1d;
         }
         max = Math.max(max, m.count);
         i++;
      }
      IChartData data = new AbstractChartData(max) {
         private static final long serialVersionUID = 1L;
         @Override
         public double[][] getData() {
            return new double[][] { commits, tags };
         }
      };
      return data;
   }
   public static double maxValue(Collection<Metric> metrics) {
      double max = Double.MIN_VALUE;
      for (Metric m : metrics) {
@@ -660,31 +642,4 @@
      }
      return max;
   }
   public static IChartData getScatterData(Collection<Metric> metrics) {
      final double[] y = new double[metrics.size()];
      final double[] x = new double[metrics.size()];
      int i = 0;
      double max = 0;
      for (Metric m : metrics) {
         y[i] = m.count;
         if (m.duration > 0) {
            x[i] = m.duration;
         } else {
            x[i] = -1d;
         }
         max = Math.max(max, m.count);
         i++;
      }
      IChartData data = new AbstractChartData(max) {
         private static final long serialVersionUID = 1L;
         @Override
         public double[][] getData() {
            return new double[][] { x, y };
         }
      };
      return data;
   }
}