From: <jbo...@li...> - 2005-12-16 12:29:05
|
Author: aron.gombas Date: 2005-12-16 07:28:50 -0500 (Fri, 16 Dec 2005) New Revision: 1822 Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java Log: Barchart visualized commits-over-time Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java 2005-12-16 12:28:24 UTC (rev 1821) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java 2005-12-16 12:28:50 UTC (rev 1822) @@ -249,7 +249,7 @@ // save basic stats if (stats.createdDate == null) stats.createdDate = logEntry.getDate(); - stats.commits.add(new ScmRepositoryChange(logEntry.getDate(), logEntry.getAuthor(), logEntry.getMessage())); + stats.commits.add(new ScmRepositoryChange(logEntry.getDate(), logEntry.getAuthor(), logEntry.getMessage()));// TODO pass "(+1 -1 0 0)" string here // count commits-over-period and author-over-period long ageInMillis = now - logEntry.getDate().getTime(); @@ -377,11 +377,11 @@ stats.commitsPerFileChartUrl = storeFile(prefix + "_commits_per_file.png", new ByteArrayInputStream(out.toByteArray())); out.reset(); - ChartUtils.writeChartAsPng(ChartUtils.generateTimeChart(stats.commitsPerWeek), out); + ChartUtils.writeChartAsPng(ChartUtils.generateTimeBarChart(stats.commitsPerWeek), out); stats.commitsPerWeekChartUrl = storeFile(prefix + "_commits_per_week.png", new ByteArrayInputStream(out.toByteArray())); out.reset(); - ChartUtils.writeChartAsPng(ChartUtils.generateTimeChart(stats.repoEntriesPerWeek), out); + ChartUtils.writeChartAsPng(ChartUtils.generateTimeLineChart(stats.repoEntriesPerWeek), out); stats.repoEntriesPerWeekChartUrl = storeFile(prefix + "_files_per_week.png", new ByteArrayInputStream(out.toByteArray())); } } Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java 2005-12-16 12:28:24 UTC (rev 1821) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java 2005-12-16 12:28:50 UTC (rev 1822) @@ -22,6 +22,7 @@ import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; +import org.jfree.chart.renderer.xy.XYBarRenderer; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; @@ -80,18 +81,32 @@ } /** Returns the time-chart generated from the passed data. */ - public static JFreeChart generateTimeChart(TimeSeries dataset) { + public static JFreeChart generateTimeLineChart(TimeSeries dataset) { // generate chart JFreeChart chart = ChartFactory.createTimeSeriesChart(null, null, null, new TimeSeriesCollection(dataset), false, false, false); chart.setBackgroundPaint(TRANSPARENT_COLOR); + // override renderer XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)(chart.getXYPlot().getRenderer()); renderer.setShapesVisible(true); renderer.setShape(RECTANGLE_SHAPE); return chart; - } + } + /** Returns the time-barchart generated from the passed data. */ + public static JFreeChart generateTimeBarChart(TimeSeries dataset) { + // generate chart + JFreeChart chart = generateTimeLineChart(dataset); + + // override renderer with bar type + XYBarRenderer renderer = new XYBarRenderer(0.2); + renderer.setDrawBarOutline(false); + chart.getXYPlot().setRenderer(renderer); + + return chart; + } + /** Writes the given chart to the output-stream in PNG image format. */ public static void writeChartAsPng(JFreeChart chart, OutputStream out) throws IOException { ChartUtilities.writeChartAsPNG(out, chart, CHART_RESOLUTION_X, CHART_RESOLUTION_Y, true, 0); |