File was renamed from src/main/java/com/gitblit/wicket/charting/GoogleChart.java |
| | |
| | |
|
| | | import java.io.Serializable;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | | import java.util.TimeZone;
|
| | |
|
| | | import com.gitblit.Keys;
|
| | | import com.gitblit.utils.StringUtils;
|
| | | import com.gitblit.wicket.GitBlitWebApp;
|
| | | import com.gitblit.wicket.GitBlitWebSession;
|
| | |
|
| | | /**
|
| | | * Abstract parent class for Google Charts built with the Visualization API.
|
| | | * Abstract parent class for different type of chart: bar, pie & line
|
| | | *
|
| | | * @author James Moger
|
| | | *
|
| | | */
|
| | | public abstract class GoogleChart implements Serializable {
|
| | | public abstract class Chart implements Serializable {
|
| | |
|
| | | private static final long serialVersionUID = 1L;
|
| | | final String tagId;
|
| | |
| | | final String keyName;
|
| | | final String valueName;
|
| | | final List<ChartValue> values;
|
| | | final List<ChartValue> highlights;
|
| | | int width;
|
| | | int height;
|
| | | boolean showLegend;
|
| | | String dateFormat = "MMM dd";
|
| | | String clickUrl = null;
|
| | |
|
| | | public GoogleChart(String tagId, String title, String keyName, String valueName) {
|
| | | public Chart(String tagId, String title, String keyName, String valueName) {
|
| | | this.tagId = tagId;
|
| | | this.dataName = StringUtils.getSHA1(title).substring(0, 8);
|
| | | this.dataName = StringUtils.getSHA1(tagId).substring(0, 8);
|
| | | this.title = title;
|
| | | this.keyName = keyName;
|
| | | this.valueName = valueName;
|
| | | values = new ArrayList<ChartValue>();
|
| | | highlights = new ArrayList<ChartValue>();
|
| | | showLegend = true;
|
| | | }
|
| | |
|
| | |
| | | public void addValue(String name, double value) {
|
| | | values.add(new ChartValue(name, (float) value));
|
| | | }
|
| | | |
| | | public void addValue(Date date, int value) {
|
| | | values.add(new ChartValue(String.valueOf(date.getTime()), value));
|
| | | }
|
| | | |
| | | public void addHighlight(Date date, int value) {
|
| | | highlights.add(new ChartValue(String.valueOf(date.getTime()), value));
|
| | | }
|
| | |
|
| | | protected abstract void appendChart(StringBuilder sb);
|
| | |
|
| | | protected void line(StringBuilder sb, String line) {
|
| | | sb.append(line);
|
| | | sb.append('\n');
|
| | | }
|
| | | |
| | | protected TimeZone getTimeZone() {
|
| | | return GitBlitWebApp.get().settings().getBoolean(Keys.web.useClientTimezone, false) ? GitBlitWebSession.get()
|
| | | .getTimezone() : GitBlitWebApp.get().getTimezone();
|
| | | }
|
| | |
|
| | | protected class ChartValue implements Serializable, Comparable<ChartValue> {
|
| | |
| | | return 0;
|
| | | }
|
| | | }
|
| | |
|
| | | public String getDateFormat() {
|
| | | return dateFormat;
|
| | | }
|
| | |
|
| | | public void setDateFormat(String dateFormat) {
|
| | | this.dateFormat = dateFormat;
|
| | | }
|
| | |
|
| | | public String getClickUrl() {
|
| | | return clickUrl;
|
| | | }
|
| | |
|
| | | public void setClickUrl(String clickUrl) {
|
| | | this.clickUrl = clickUrl;
|
| | | }
|
| | | }
|