/** * Creates a PNG image trend graph with clickable map. * * @param configuration * the configuration parameters * @param resultAction * the result action to start the graph computation from * @param pluginName * the name of the plug-in * @return the graph */ @Override public JFreeChart create(final GraphConfiguration configuration, final ResultAction<? extends BuildResult> resultAction, final String pluginName) { JFreeChart chart = createChart(configuration, resultAction); attachRenderers(configuration, pluginName, chart, resultAction.getToolTipProvider()); return chart; }
/** * Creates the chart by iterating through all available actions. * * @param configuration * the configuration parameters * @param action * the action to start with * @return the created chart */ protected JFreeChart createChart(final GraphConfiguration configuration, final ResultAction<? extends BuildResult> action) { CategoryDataset dataSet; if (configuration.useBuildDateAsDomain()) { Map<LocalDate, List<Integer>> averagePerDay = averageByDate(createSeriesPerBuild(configuration, action.getResult())); dataSet = createDatasetPerDay(averagePerDay); } else { dataSet = createDatasetPerBuildNumber(createSeriesPerBuild(configuration, action.getResult())); } return createChart(dataSet); }
/** * Aggregates the series per build to a series per date. * * @param valuesPerBuild * the series per build * @return the series per date */ @SuppressWarnings("rawtypes") private Map<LocalDate, List<Integer>> averageByDate( final Map<AbstractBuild, List<Integer>> valuesPerBuild) { return createSeriesPerDay(createMultiSeriesPerDay(valuesPerBuild)); }
/** * Creates a PNG image trend graph with clickable map. * * @param configuration * the configuration parameters * @param resultActions * the result actions to start the graph computation from * @param pluginName * the name of the plug-in * @return the graph */ @Override @edu.umd.cs.findbugs.annotations.SuppressWarnings("WMI") public JFreeChart createAggregation(final GraphConfiguration configuration, final Collection<ResultAction<? extends BuildResult>> resultActions, final String pluginName) { Set<LocalDate> availableDates = Sets.newHashSet(); Map<ResultAction<? extends BuildResult>, Map<LocalDate, List<Integer>>> averagesPerJob = Maps.newHashMap(); for (ResultAction<? extends BuildResult> resultAction : resultActions) { Map<LocalDate, List<Integer>> averageByDate = averageByDate( createSeriesPerBuild(configuration, resultAction.getResult())); averagesPerJob.put(resultAction, averageByDate); availableDates.addAll(averageByDate.keySet()); } JFreeChart chart = createChart(createDatasetPerDay( createTotalsForAllAvailableDates(resultActions, availableDates, averagesPerJob))); attachRenderers(configuration, pluginName, chart, resultActions.iterator().next().getToolTipProvider()); return chart; }
/** * Attach the renderers to the created graph. * * @param configuration * the configuration parameters * @param pluginName * the name of the plug-in * @param chart * the graph to attach the renderer to * @param toolTipProvider the tooltip provider for the graph */ private void attachRenderers(final GraphConfiguration configuration, final String pluginName, final JFreeChart chart, final ToolTipProvider toolTipProvider) { CategoryItemRenderer renderer = createRenderer(configuration, pluginName, toolTipProvider); CategoryPlot plot = chart.getCategoryPlot(); plot.setRenderer(renderer); setColors(chart, getColors()); }
String parameterValue = configuration.getParameterValue(); while (true) { if (isBuildTooOld(configuration, current)) { break; if (passesFilteringByParameter(current.getOwner(), parameterName, parameterValue)) { valuesPerBuild.put(current.getOwner(), computeSeries(current));
Map<AbstractBuild, List<Integer>> valuesPerBuild = Maps.newHashMap(); while (true) { if (isBuildTooOld(configuration, current)) { break; valuesPerBuild.put(current.getOwner(), computeSeries(current));
/** * Creates a PNG image trend graph with clickable map. * * @param configuration * the configuration parameters * @param resultActions * the result actions to start the graph computation from * @param pluginName * the name of the plug-in * @return the graph */ @Override @SuppressFBWarnings("WMI") public JFreeChart createAggregation(final GraphConfiguration configuration, final Collection<ResultAction<? extends BuildResult>> resultActions, final String pluginName) { Set<LocalDate> availableDates = Sets.newHashSet(); Map<ResultAction<? extends BuildResult>, Map<LocalDate, List<Integer>>> averagesPerJob = Maps.newHashMap(); for (ResultAction<? extends BuildResult> resultAction : resultActions) { Map<LocalDate, List<Integer>> averageByDate = averageByDate( createSeriesPerBuild(configuration, resultAction.getResult())); averagesPerJob.put(resultAction, averageByDate); availableDates.addAll(averageByDate.keySet()); } JFreeChart chart = createChart(createDatasetPerDay( createTotalsForAllAvailableDates(resultActions, availableDates, averagesPerJob))); attachRenderers(configuration, pluginName, chart, resultActions.iterator().next().getToolTipProvider()); return chart; }
/** * Attach the renderers to the created graph. * * @param configuration * the configuration parameters * @param pluginName * the name of the plug-in * @param chart * the graph to attach the renderer to * @param toolTipProvider the tooltip provider for the graph */ private void attachRenderers(final GraphConfiguration configuration, final String pluginName, final JFreeChart chart, final ToolTipProvider toolTipProvider) { CategoryItemRenderer renderer = createRenderer(configuration, pluginName, toolTipProvider); CategoryPlot plot = chart.getCategoryPlot(); plot.setRenderer(renderer); setColors(chart, getColors()); }
/** * Creates the chart by iterating through all available actions. * * @param configuration * the configuration parameters * @param action * the action to start with * @return the created chart */ protected JFreeChart createChart(final GraphConfiguration configuration, final ResultAction<? extends BuildResult> action) { CategoryDataset dataSet; if (configuration.useBuildDateAsDomain()) { Map<LocalDate, List<Integer>> averagePerDay = averageByDate(createSeriesPerBuild(configuration, action.getResult())); dataSet = createDatasetPerDay(averagePerDay); } else { dataSet = createDatasetPerBuildNumber(createSeriesPerBuild(configuration, action.getResult())); } return createChart(dataSet); }
/** * Aggregates the series per build to a series per date. * * @param valuesPerBuild * the series per build * @return the series per date */ @SuppressWarnings("rawtypes") private Map<LocalDate, List<Integer>> averageByDate( final Map<Run, List<Integer>> valuesPerBuild) { return createSeriesPerDay(createMultiSeriesPerDay(valuesPerBuild)); }
/** * Creates a PNG image trend graph with clickable map. * * @param configuration * the configuration parameters * @param resultAction * the result action to start the graph computation from * @param pluginName * the name of the plug-in * @return the graph */ @Override public JFreeChart create(final GraphConfiguration configuration, final ResultAction<? extends BuildResult> resultAction, final String pluginName) { JFreeChart chart = createChart(configuration, resultAction); attachRenderers(configuration, pluginName, chart, resultAction.getToolTipProvider()); return chart; }