package hudson.plugins.codescanner; // NOPMD
import hudson.model.AbstractBuild;
import hudson.plugins.analysis.core.BuildHistory;
import hudson.plugins.analysis.core.BuildResult;
import hudson.plugins.analysis.core.ParserResult;
import hudson.plugins.analysis.core.ResultAction;
import com.thoughtworks.xstream.XStream;
/**
* Represents the results of the warning analysis. One instance of this class is persisted for
* each build via an XML file.
*
* @author Maximilian Odendahl
*/
public class CodescannerResult extends BuildResult {
/** Unique identifier of this class. */
private static final long serialVersionUID = -137460587767210579L;
/**
* Creates a new instance of {@link CodescannerResult}.
*
* @param build
* the current build as owner of this action
* @param defaultEncoding
* the default encoding to be used when reading and parsing files
* @param result
* the parsed result with all annotations
*/
public CodescannerResult(final AbstractBuild<?, ?> build, final String defaultEncoding, final ParserResult result) {
super(build, defaultEncoding, result);
}
/**
* Creates a new instance of {@link CodescannerResult}.
*
* @param build
* the current build as owner of this action
* @param defaultEncoding
* the default encoding to be used when reading and parsing files
* @param result
* the parsed result with all annotations
* @param history
* the plug-in history
*/
protected CodescannerResult(final AbstractBuild<?, ?> build, final String defaultEncoding, final ParserResult result,
final BuildHistory history) {
super(build, defaultEncoding, result, history);
}
/** {@inheritDoc} */
@Override
protected void configure(final XStream xstream) {
xstream.alias("warning", Warning.class);
}
/**
* Returns a summary message for the summary.jelly file.
*
* @return the summary message
*/
public String getSummary() {
return ResultSummary.createSummary(this);
}
/** {@inheritDoc} */
@Override
protected String createDeltaMessage() {
return ResultSummary.createDeltaMessage(this);
}
/** {@inheritDoc} */
@Override
protected String getSerializationFileName() {
return "compiler-Codescanner.xml";
}
/** {@inheritDoc} */
public String getDisplayName() {
return Messages.Codescanner_ProjectAction_Name();
}
/** {@inheritDoc} */
@Override
protected Class<? extends ResultAction<? extends BuildResult>> getResultActionType() {
return CodescannerResultAction.class;
}
}