James Moger
2011-11-18 309c55b5a9670e7c327ad8d4e5d94b8af840d00f
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;
   }
}