Class AnalysisResult
- java.lang.Object
-
- io.jenkins.plugins.analysis.core.model.AnalysisResult
-
- All Implemented Interfaces:
AnalysisBuildResult
,StaticAnalysisRun
,Serializable
public class AnalysisResult extends Object implements Serializable, StaticAnalysisRun
Stores the results of a static analysis run. Provides support for persisting the results of the build and loading and saving of issues (all, new, and fixed) and delta computation.- Author:
- Ullrich Hafner
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description AnalysisResult(Run<?,?> owner, String id, DeltaReport report, io.jenkins.plugins.forensics.blame.Blames blames, io.jenkins.plugins.forensics.miner.RepositoryStatistics totals, QualityGateStatus qualityGateStatus, Map<String,Integer> sizePerOrigin)
Creates a new instance ofAnalysisResult
.protected
AnalysisResult(Run<?,?> owner, String id, DeltaReport report, io.jenkins.plugins.forensics.blame.Blames blames, io.jenkins.plugins.forensics.miner.RepositoryStatistics repositoryStatistics, QualityGateStatus qualityGateStatus, Map<String,Integer> sizePerOrigin, boolean canSerialize)
Creates a new instance ofAnalysisResult
.AnalysisResult(Run<?,?> owner, String id, DeltaReport report, io.jenkins.plugins.forensics.blame.Blames blames, io.jenkins.plugins.forensics.miner.RepositoryStatistics totals, QualityGateStatus qualityGateStatus, Map<String,Integer> sizePerOrigin, AnalysisResult previousResult)
Creates a new instance ofAnalysisResult
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.jenkins.plugins.forensics.blame.Blames
getBlames()
Returns the blames for the report.edu.hm.hafner.echarts.Build
getBuild()
int
getDeltaSize()
org.eclipse.collections.api.list.ImmutableList<String>
getErrorMessages()
Returns the error messages of the analysis run.edu.hm.hafner.analysis.Report
getFixedIssues()
Returns all fixed issues of the associated static analysis run.int
getFixedSize()
Returns the number of fixed issues in this analysis run.io.jenkins.plugins.forensics.miner.RepositoryStatistics
getForensics()
Returns the repository statistics for the report.String
getId()
Returns the ID of the static analysis result.org.eclipse.collections.api.list.ImmutableList<String>
getInfoMessages()
Returns the info messages of the analysis run.edu.hm.hafner.analysis.Report
getIssues()
Returns all issues of the associated static analysis run.int
getNewErrorSize()
Returns the number of new errors in this analysis run.int
getNewHighPrioritySize()
Returns the number of new high severity issues in this analysis run.edu.hm.hafner.analysis.Report
getNewIssues()
Returns all new issues of the associated static analysis run.int
getNewLowPrioritySize()
Returns the number of new low severity issues in this analysis run.int
getNewNormalPrioritySize()
Returns the number of new normal severity issues in this analysis run.int
getNewSize()
Returns the number of new issues in this analysis run.int
getNewSizeOf(edu.hm.hafner.analysis.Severity severity)
Returns the new number of issues in this analysis run that have the specifiedSeverity
.Map<edu.hm.hafner.analysis.Severity,Integer>
getNewSizePerSeverity()
Returns the new number of issues in this analysis run, mapped bySeverity
.int
getNoIssuesSinceBuild()
Returns the build number since the associated job has no issues.edu.hm.hafner.analysis.Report
getOutstandingIssues()
Returns all outstanding issues of the associated static analysis run.Run<?,?>
getOwner()
Returns the run that created this static analysis result.QualityGateStatus
getQualityGateStatus()
Returns theQualityGateStatus
of theQualityGateEvaluator
evaluation of the static analysis run.Optional<Run<?,?>>
getReferenceBuild()
Returns the reference static analysis run that has been used to compute the new issues.Map<String,Integer>
getSizePerOrigin()
Returns the number of issues in this analysis run, mapped by their origin.Map<edu.hm.hafner.analysis.Severity,Integer>
getSizePerSeverity()
Returns the number of issues in this analysis run, mapped bySeverity
.int
getSuccessfulSinceBuild()
Returns the build number since the associated job has a successful static analysis result.int
getTotalErrorsSize()
Returns the total number of errors in this analysis run.int
getTotalHighPrioritySize()
Returns the total number of high severity issues in this analysis run.int
getTotalLowPrioritySize()
Returns the total number of low severity issues in this analysis run.int
getTotalNormalPrioritySize()
Returns the total number of normal severity issues in this analysis run.IssuesStatistics
getTotals()
int
getTotalSize()
Returns the total number of issues in this analysis run.int
getTotalSizeOf(edu.hm.hafner.analysis.Severity severity)
Returns the total number of issues in this analysis run that have the specifiedSeverity
.boolean
hasNoNewWarnings()
Check ifAnalysisResult
issues does not have any new warnings.boolean
isEmpty()
Check ifAnalysisResult
issues are empty (including new, outstanding and fixed).boolean
isSuccessful()
Returns whether the static analysis result is successful with respect to the definedQualityGateEvaluator
.protected Object
readResolve()
Called after de-serialization to retain backward compatibility.void
setOwner(Run<?,?> owner)
Sets the run for this result after Jenkins read its data from disk.String
toString()
-
-
-
Constructor Detail
-
AnalysisResult
public AnalysisResult(Run<?,?> owner, String id, DeltaReport report, io.jenkins.plugins.forensics.blame.Blames blames, io.jenkins.plugins.forensics.miner.RepositoryStatistics totals, QualityGateStatus qualityGateStatus, Map<String,Integer> sizePerOrigin, AnalysisResult previousResult)
Creates a new instance ofAnalysisResult
.- Parameters:
owner
- the current build as owner of this actionid
- ID of the resultsreport
- the issues of this resultblames
- author and commit information for all issuestotals
- repository statistics for all issuesqualityGateStatus
- the quality gate statussizePerOrigin
- the number of issues per originpreviousResult
- the analysis result of the previous run
-
AnalysisResult
public AnalysisResult(Run<?,?> owner, String id, DeltaReport report, io.jenkins.plugins.forensics.blame.Blames blames, io.jenkins.plugins.forensics.miner.RepositoryStatistics totals, QualityGateStatus qualityGateStatus, Map<String,Integer> sizePerOrigin)
Creates a new instance ofAnalysisResult
.- Parameters:
owner
- the current build as owner of this actionid
- ID of the resultsreport
- the issues of this resultblames
- author and commit information for all issuestotals
- repository statistics for all issuesqualityGateStatus
- the quality gate statussizePerOrigin
- the number of issues per origin
-
AnalysisResult
protected AnalysisResult(Run<?,?> owner, String id, DeltaReport report, io.jenkins.plugins.forensics.blame.Blames blames, io.jenkins.plugins.forensics.miner.RepositoryStatistics repositoryStatistics, QualityGateStatus qualityGateStatus, Map<String,Integer> sizePerOrigin, boolean canSerialize)
Creates a new instance ofAnalysisResult
.- Parameters:
owner
- the current run as owner of this actionid
- ID of the resultsreport
- the issues of this resultblames
- author and commit information for all issuesrepositoryStatistics
- source code repository statistics for all issuesqualityGateStatus
- the quality gate statussizePerOrigin
- the number of issues per origincanSerialize
- determines whether the result should be persisted in the build folder
-
-
Method Detail
-
readResolve
protected Object readResolve()
Called after de-serialization to retain backward compatibility.- Returns:
- this
-
getBlames
public io.jenkins.plugins.forensics.blame.Blames getBlames()
Returns the blames for the report.- Returns:
- the blames
-
getForensics
public io.jenkins.plugins.forensics.miner.RepositoryStatistics getForensics()
Returns the repository statistics for the report.- Returns:
- the statistics
-
getId
public String getId()
Description copied from interface:StaticAnalysisRun
Returns the ID of the static analysis result.- Specified by:
getId
in interfaceStaticAnalysisRun
- Returns:
- the ID
-
getOwner
public Run<?,?> getOwner()
Description copied from interface:StaticAnalysisRun
Returns the run that created this static analysis result.- Specified by:
getOwner
in interfaceStaticAnalysisRun
- Returns:
- the run
-
setOwner
public void setOwner(Run<?,?> owner)
Sets the run for this result after Jenkins read its data from disk.- Parameters:
owner
- the initialized run
-
getErrorMessages
public org.eclipse.collections.api.list.ImmutableList<String> getErrorMessages()
Description copied from interface:StaticAnalysisRun
Returns the error messages of the analysis run.- Specified by:
getErrorMessages
in interfaceStaticAnalysisRun
- Returns:
- the error messages
-
getInfoMessages
public org.eclipse.collections.api.list.ImmutableList<String> getInfoMessages()
Description copied from interface:StaticAnalysisRun
Returns the info messages of the analysis run.- Specified by:
getInfoMessages
in interfaceStaticAnalysisRun
- Returns:
- the info messages
-
getIssues
public edu.hm.hafner.analysis.Report getIssues()
Returns all issues of the associated static analysis run. These include outstanding issues as well as new issues.- Returns:
- all issues
-
isEmpty
public boolean isEmpty()
Check ifAnalysisResult
issues are empty (including new, outstanding and fixed).- Returns:
- true if
AnalysisResult
issues are empty, else false.
-
hasNoNewWarnings
public boolean hasNoNewWarnings()
Check ifAnalysisResult
issues does not have any new warnings.- Returns:
- true if
AnalysisResult
issues has no new warnings.
-
getOutstandingIssues
public edu.hm.hafner.analysis.Report getOutstandingIssues()
Returns all outstanding issues of the associated static analysis run. I.e. all issues, that are part of the current and previous report.- Returns:
- all outstanding issues
-
getNewIssues
public edu.hm.hafner.analysis.Report getNewIssues()
Returns all new issues of the associated static analysis run. I.e. all issues, that are part of the current report but have not been shown up in the previous report.- Returns:
- all new issues
-
getFixedIssues
public edu.hm.hafner.analysis.Report getFixedIssues()
Returns all fixed issues of the associated static analysis run. I.e. all issues, that are part of the previous report but are not present in the current report anymore.- Returns:
- all fixed issues
-
getNoIssuesSinceBuild
public int getNoIssuesSinceBuild()
Description copied from interface:StaticAnalysisRun
Returns the build number since the associated job has no issues.- Specified by:
getNoIssuesSinceBuild
in interfaceStaticAnalysisRun
- Returns:
- the build number since there are no issues, or -1 if issues have been reported
-
getSuccessfulSinceBuild
public int getSuccessfulSinceBuild()
Description copied from interface:StaticAnalysisRun
Returns the build number since the associated job has a successful static analysis result.- Specified by:
getSuccessfulSinceBuild
in interfaceStaticAnalysisRun
- Returns:
- the build number since the static analysis result is successful, or -1 if the result is not successful
-
isSuccessful
public boolean isSuccessful()
Returns whether the static analysis result is successful with respect to the definedQualityGateEvaluator
.- Returns:
true
if the static analysis result is successful,false
if the static analysis result isQualityGateStatus.WARNING
orQualityGateStatus.FAILED
- See Also:
QualityGateEvaluator
-
getQualityGateStatus
public QualityGateStatus getQualityGateStatus()
Description copied from interface:StaticAnalysisRun
Returns theQualityGateStatus
of theQualityGateEvaluator
evaluation of the static analysis run.- Specified by:
getQualityGateStatus
in interfaceStaticAnalysisRun
- Returns:
- the quality gate status
-
getReferenceBuild
public Optional<Run<?,?>> getReferenceBuild()
Description copied from interface:StaticAnalysisRun
Returns the reference static analysis run that has been used to compute the new issues.- Specified by:
getReferenceBuild
in interfaceStaticAnalysisRun
- Returns:
- the reference build
-
getTotals
public IssuesStatistics getTotals()
-
getSizePerOrigin
public Map<String,Integer> getSizePerOrigin()
Description copied from interface:AnalysisBuildResult
Returns the number of issues in this analysis run, mapped by their origin. The origin is the tool that created the report.- Specified by:
getSizePerOrigin
in interfaceAnalysisBuildResult
- Returns:
- number of issues per origin
-
getSizePerSeverity
public Map<edu.hm.hafner.analysis.Severity,Integer> getSizePerSeverity()
Returns the number of issues in this analysis run, mapped bySeverity
.- Returns:
- number of issues per severity
-
getNewSizePerSeverity
public Map<edu.hm.hafner.analysis.Severity,Integer> getNewSizePerSeverity()
Returns the new number of issues in this analysis run, mapped bySeverity
.- Returns:
- number of issues per severity
-
getTotalSize
public int getTotalSize()
Description copied from interface:AnalysisBuildResult
Returns the total number of issues in this analysis run.- Specified by:
getTotalSize
in interfaceAnalysisBuildResult
- Returns:
- total number of issues
-
getTotalSizeOf
public int getTotalSizeOf(edu.hm.hafner.analysis.Severity severity)
Description copied from interface:AnalysisBuildResult
Returns the total number of issues in this analysis run that have the specifiedSeverity
.- Specified by:
getTotalSizeOf
in interfaceAnalysisBuildResult
- Parameters:
severity
- the severity of the issues to match- Returns:
- total number of issues
-
getTotalErrorsSize
public int getTotalErrorsSize()
Returns the total number of errors in this analysis run.- Returns:
- total number of errors
-
getTotalHighPrioritySize
public int getTotalHighPrioritySize()
Returns the total number of high severity issues in this analysis run.- Returns:
- total number of high severity issues
-
getTotalNormalPrioritySize
public int getTotalNormalPrioritySize()
Returns the total number of normal severity issues in this analysis run.- Returns:
- total number of normal severity issues
-
getTotalLowPrioritySize
public int getTotalLowPrioritySize()
Returns the total number of low severity issues in this analysis run.- Returns:
- total number of low severity of issues
-
getNewSize
public int getNewSize()
Description copied from interface:AnalysisBuildResult
Returns the number of new issues in this analysis run.- Specified by:
getNewSize
in interfaceAnalysisBuildResult
- Returns:
- number of new issues
-
getNewSizeOf
public int getNewSizeOf(edu.hm.hafner.analysis.Severity severity)
Description copied from interface:AnalysisBuildResult
Returns the new number of issues in this analysis run that have the specifiedSeverity
.- Specified by:
getNewSizeOf
in interfaceAnalysisBuildResult
- Parameters:
severity
- the severity of the issues to match- Returns:
- total number of issues
-
getNewErrorSize
public int getNewErrorSize()
Returns the number of new errors in this analysis run.- Returns:
- number of new errors issues
-
getNewHighPrioritySize
public int getNewHighPrioritySize()
Returns the number of new high severity issues in this analysis run.- Returns:
- number of new high severity issues
-
getNewNormalPrioritySize
public int getNewNormalPrioritySize()
Returns the number of new normal severity issues in this analysis run.- Returns:
- number of new normal severity issues
-
getNewLowPrioritySize
public int getNewLowPrioritySize()
Returns the number of new low severity issues in this analysis run.- Returns:
- number of new low severity of issues
-
getFixedSize
public int getFixedSize()
Description copied from interface:AnalysisBuildResult
Returns the number of fixed issues in this analysis run.- Specified by:
getFixedSize
in interfaceAnalysisBuildResult
- Returns:
- number of fixed issues
-
getDeltaSize
public int getDeltaSize()
-
getBuild
public edu.hm.hafner.echarts.Build getBuild()
-
-