Class StaticAnalysisLabelProvider

  • All Implemented Interfaces:
    DescriptionProvider
    Direct Known Subclasses:
    IconLabelProvider

    public class StaticAnalysisLabelProvider
    extends Object
    implements DescriptionProvider
    A generic label provider for static analysis results. Creates pre-defined labels that are parameterized with a string placeholder, that will be replaced with the actual name of the static analysis tool. Moreover, such a default label provider decorates the links and summary boxes with the default icon of the warnings plug-in.
    Author:
    Ullrich Hafner
    • Field Detail

      • EMPTY_DESCRIPTION

        protected static final DescriptionProvider EMPTY_DESCRIPTION
        Provides an empty description.
    • Constructor Detail

      • StaticAnalysisLabelProvider

        public StaticAnalysisLabelProvider​(String id,
                                           @CheckForNull
                                           String name)
        Creates a new StaticAnalysisLabelProvider with the specified ID.
        Parameters:
        id - the ID
        name - the name of the static analysis tool
      • StaticAnalysisLabelProvider

        public StaticAnalysisLabelProvider​(String id,
                                           @CheckForNull
                                           String name,
                                           DescriptionProvider descriptionProvider)
        Creates a new StaticAnalysisLabelProvider with the specified ID.
        Parameters:
        id - the ID
        name - the name of the static analysis tool
        descriptionProvider - provides additional descriptions for an issue
    • Method Detail

      • getIssuesModel

        public DetailsTableModel getIssuesModel​(Run<?,​?> build,
                                                String url,
                                                edu.hm.hafner.analysis.Report report)
        Returns the model for the issues details table.
        Parameters:
        build - the build of the results
        url - the URL of the results
        report - the report to show
        Returns:
        the table model
      • getFileNameRenderer

        protected FileNameRenderer getFileNameRenderer​(Run<?,​?> owner)
        Creates a FileNameRenderer for the specified run.
        Parameters:
        owner - the run to get the file names for
        Returns:
        the age builder
      • getId

        public String getId()
        Returns the ID of the tool.
        Returns:
        the ID
      • getName

        public String getName()
        Returns the human readable name of the tool. If the name has not been set, then the default name is returned.
        Returns:
        the name
      • setName

        public StaticAnalysisLabelProvider setName​(@CheckForNull
                                                   String name)
        Sets the human readable name of the tool.
        Parameters:
        name - the name of the tool
        Returns:
        the name
      • getLinkName

        public String getLinkName()
        Returns the name of the link to the results. The name will be sanitized and may contain HTML entities.
        Returns:
        the name of the side panel link
      • getRawLinkName

        public String getRawLinkName()
        Returns the name of the link to the results in Jenkins' side panel.
        Returns:
        the name of the side panel link
      • getTrendName

        public String getTrendName()
        Returns the legend for the trend chart in the project overview.
        Returns:
        the legend of the trend chart
      • getSmallIconUrl

        public String getSmallIconUrl()
        Returns the absolute URL to the small icon for the tool.
        Returns:
        absolute URL
      • getLargeIconUrl

        public String getLargeIconUrl()
        Returns the absolute URL to the large icon for the tool.
        Returns:
        absolute URL
      • getTitle

        public j2html.tags.ContainerTag getTitle​(AnalysisResult result,
                                                 boolean hasErrors)
        Returns the title for the small information box in the corresponding build page.
        Parameters:
        result - the result
        hasErrors - indicates if an error has been reported
        Returns:
        the title div
      • getNewIssuesLabel

        public j2html.tags.ContainerTag getNewIssuesLabel​(int newSize)
        Returns the HTML label for the link to the new issues of the build.
        Parameters:
        newSize - the number of new issues
        Returns:
        the legend of the trend chart
      • getFixedIssuesLabel

        public j2html.tags.ContainerTag getFixedIssuesLabel​(int fixedSize)
        Returns the HTML label for the link to the fixed issues of the build.
        Parameters:
        fixedSize - the number of fixed issues
        Returns:
        the legend of the trend chart
      • getNoIssuesSinceLabel

        public j2html.tags.DomContent getNoIssuesSinceLabel​(int currentBuild,
                                                            int noIssuesSinceBuild)
        Returns the HTML text showing the number of builds since the project has no issues.
        Parameters:
        currentBuild - the current build number
        noIssuesSinceBuild - the build since there are no issues
        Returns:
        the legend of the trend chart
      • getQualityGateResult

        public j2html.tags.DomContent getQualityGateResult​(QualityGateStatus qualityGateStatus)
        Returns the HTML text showing the result of the quality gate.
        Parameters:
        qualityGateStatus - the status of the quality gate
        Returns:
        the legend of the trend chart
      • getQualityGateResult

        public j2html.tags.DomContent getQualityGateResult​(QualityGateStatus qualityGateStatus,
                                                           boolean hasResetLink)
        Returns the HTML text showing the result of the quality gate.
        Parameters:
        qualityGateStatus - the status of the quality gate
        hasResetLink - determines whether the reset reference link is shown
        Returns:
        the legend of the trend chart
      • getReferenceBuild

        public j2html.tags.DomContent getReferenceBuild​(Run<?,​?> referenceBuild)
        Returns the HTML text showing a link to the reference build.
        Parameters:
        referenceBuild - the reference build
        Returns:
        the legend of the trend chart
      • getToolTip

        public String getToolTip​(int numberOfItems)
        Returns a short description describing the total number of issues.
        Parameters:
        numberOfItems - the number of issues to report
        Returns:
        the description
      • getDescription

        public String getDescription​(edu.hm.hafner.analysis.Issue issue)
        Description copied from interface: DescriptionProvider
        Returns a detailed description of the specified issue.
        Specified by:
        getDescription in interface DescriptionProvider
        Parameters:
        issue - the issue to get the description for
        Returns:
        the description
      • getSourceCodeDescription

        public String getSourceCodeDescription​(Run<?,​?> build,
                                               edu.hm.hafner.analysis.Issue issue)
        Returns an additional description of the specified issue that will be shown with the source code.
        Parameters:
        build - the current build
        issue - the issue
        Returns:
        the additional description