hudson.plugins.tasks.util.AbstractAreaRenderer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tasks Show documentation
Show all versions of tasks Show documentation
This plug-in scans the workspace files for open tasks
and generates a trend report.
package hudson.plugins.tasks.util;
import hudson.util.StackedAreaRenderer2;
import hudson.util.ChartUtil.NumberOnlyBuildLabel;
import org.jfree.data.category.CategoryDataset;
/**
* Renderer that provides direct access to the individual results of a build via
* links. This renderer does not render tooltips, these need to be defined in
* sub-classes.
*
* @author Ulli Hafner
*/
public abstract class AbstractAreaRenderer extends StackedAreaRenderer2 {
/** Unique identifier of this class. */
private static final long serialVersionUID = 1440842055316682192L;
/** Base URL of the graph links. */
private final String url;
/** Tooltip provider for the clickable map. */
private final ToolTipBuilder toolTipBuilder;
/**
* Creates a new instance of AbstractAreaRenderer
.
*
* @param url
* base URL of the graph links
* @param toolTipProvider
* tooltip provider for the clickable map
*/
public AbstractAreaRenderer(final String url, final ToolTipProvider toolTipProvider) {
super();
toolTipBuilder = new ToolTipBuilder(toolTipProvider);
this.url = "/" + url + "/";
}
/** {@inheritDoc} */
@Override
public final String generateURL(final CategoryDataset dataset, final int row, final int column) {
return getLabel(dataset, column).build.getNumber() + url;
}
/**
* Gets the tool tip builder.
*
* @return the tool tip builder
*/
public final ToolTipBuilder getToolTipBuilder() {
return toolTipBuilder;
}
/**
* Returns the Hudson build label at the specified column.
*
* @param dataset
* data set of values
* @param column
* the column
* @return the label of the column
*/
private NumberOnlyBuildLabel getLabel(final CategoryDataset dataset, final int column) {
return (NumberOnlyBuildLabel)dataset.getColumnKey(column);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy