From 0145db444fdf75599de30cce2e3dbbc3f048d632 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 18 Mar 2014 21:13:57 -0400
Subject: [PATCH] Merged #35 "Fix authentication security hole with external providers"
---
src/main/java/com/gitblit/wicket/charting/GooglePieChart.java | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/charting/GooglePieChart.java b/src/main/java/com/gitblit/wicket/charting/GooglePieChart.java
index 945e08b..7119166 100644
--- a/src/main/java/com/gitblit/wicket/charting/GooglePieChart.java
+++ b/src/main/java/com/gitblit/wicket/charting/GooglePieChart.java
@@ -16,15 +16,17 @@
package com.gitblit.wicket.charting;
import java.text.MessageFormat;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.List;
import com.gitblit.utils.StringUtils;
/**
* Builds an interactive pie chart using the Visualization API.
- *
+ *
* @author James Moger
- *
+ *
*/
public class GooglePieChart extends GoogleChart {
@@ -44,17 +46,26 @@
line(sb, MessageFormat.format("{0}.addRows({1,number,0});", dName, values.size()));
Collections.sort(values);
+ List<ChartValue> list = new ArrayList<ChartValue>();
+
+ int maxSlices = 10;
+
+ if (values.size() > maxSlices) {
+ list.addAll(values.subList(0, maxSlices));
+ } else {
+ list.addAll(values);
+ }
StringBuilder colors = new StringBuilder("colors:[");
- for (int i = 0; i < values.size(); i++) {
- ChartValue value = values.get(i);
+ for (int i = 0; i < list.size(); i++) {
+ ChartValue value = list.get(i);
colors.append('\'');
colors.append(StringUtils.getColor(value.name));
colors.append('\'');
if (i < values.size() - 1) {
colors.append(',');
}
- line(sb, MessageFormat.format("{0}.setValue({1,number,0}, 0, ''{2}'');", dName, i,
+ line(sb, MessageFormat.format("{0}.setValue({1,number,0}, 0, \"{2}\");", dName, i,
value.name));
line(sb, MessageFormat.format("{0}.setValue({1,number,0}, 1, {2,number,0.0});", dName,
i, value.value));
--
Gitblit v1.9.1