From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 25 Feb 2013 08:40:30 -0500
Subject: [PATCH] Merge pull request #75 from thefake/master

---
 src/com/gitblit/wicket/panels/CommitLegendPanel.java |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/src/com/gitblit/wicket/panels/CommitLegendPanel.java b/src/com/gitblit/wicket/panels/CommitLegendPanel.java
index 417241b..1e906ef 100644
--- a/src/com/gitblit/wicket/panels/CommitLegendPanel.java
+++ b/src/com/gitblit/wicket/panels/CommitLegendPanel.java
@@ -17,6 +17,7 @@
 
 import java.text.MessageFormat;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -28,9 +29,8 @@
 import org.apache.wicket.markup.repeater.data.ListDataProvider;
 import org.eclipse.jgit.diff.DiffEntry.ChangeType;
 
-import com.gitblit.utils.JGitUtils;
+import com.gitblit.models.PathModel.PathChangeModel;
 import com.gitblit.wicket.WicketUtils;
-import com.gitblit.wicket.models.PathModel.PathChangeModel;
 
 public class CommitLegendPanel extends Panel {
 
@@ -38,8 +38,9 @@
 
 	public CommitLegendPanel(String id, List<PathChangeModel> paths) {
 		super(id);
-		final Map<ChangeType, AtomicInteger> stats = JGitUtils.getChangedPathsStats(paths);		
-		ListDataProvider<ChangeType> legendDp = new ListDataProvider<ChangeType>(new ArrayList<ChangeType>(stats.keySet()));
+		final Map<ChangeType, AtomicInteger> stats = getChangedPathsStats(paths);
+		ListDataProvider<ChangeType> legendDp = new ListDataProvider<ChangeType>(
+				new ArrayList<ChangeType>(stats.keySet()));
 		DataView<ChangeType> legendsView = new DataView<ChangeType>("legend", legendDp) {
 			private static final long serialVersionUID = 1L;
 
@@ -50,8 +51,8 @@
 				WicketUtils.setChangeTypeCssClass(changeType, entry);
 				item.add(changeType);
 				int count = stats.get(entry).intValue();
-				String description  = "";
-				switch(entry) {
+				String description = "";
+				switch (entry) {
 				case ADD:
 					description = MessageFormat.format(getString("gb.filesAdded"), count);
 					break;
@@ -67,10 +68,21 @@
 				case RENAME:
 					description = MessageFormat.format(getString("gb.filesRenamed"), count);
 					break;
-				}				
+				}
 				item.add(new Label("description", description));
 			}
 		};
 		add(legendsView);
 	}
+
+	protected Map<ChangeType, AtomicInteger> getChangedPathsStats(List<PathChangeModel> paths) {
+		Map<ChangeType, AtomicInteger> stats = new HashMap<ChangeType, AtomicInteger>();
+		for (PathChangeModel path : paths) {
+			if (!stats.containsKey(path.changeType)) {
+				stats.put(path.changeType, new AtomicInteger(0));
+			}
+			stats.get(path.changeType).incrementAndGet();
+		}
+		return stats;
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1