Class CoverageViewModel

  • All Implemented Interfaces:
    ModelObject, io.jenkins.plugins.datatables.AsyncTableContentProvider

    public class CoverageViewModel
    extends io.jenkins.plugins.datatables.DefaultAsyncTableContentProvider
    implements ModelObject
    Server side model that provides the data for the details view of the coverage results. The layout of the associated view is defined corresponding jelly view 'index.jelly'.
    Ullrich Hafner, Florian Orendi
    • Method Detail

      • getId

        public String getId()
      • getOwner

        public Run<?,​?> getOwner()
      • getNode

        public Node getNode()
      • getJenkinsColorIDs

        public Set<String> getJenkinsColorIDs()
        Gets a set of color IDs which can be used to dynamically load the defined Jenkins colors.
        the available color IDs
      • setJenkinsColors

        public void setJenkinsColors​(String colors)
        Creates a new ColorProvider based on the passed color json string which contains the set Jenkins colors.
        colors - The dynamically loaded Jenkins colors to be used for highlighting the coverage tree as json string
      • getTrendChart

        public String getTrendChart​(String configuration)
        Returns the trend chart configuration.
        configuration - JSON object to configure optional properties for the trend chart
        the trend chart model (converted to a JSON string)
      • getTableModel

        public io.jenkins.plugins.datatables.TableModel getTableModel​(String tableId)
        Returns the table model that matches with the passed table ID and shows the files along with the branch and line coverage.
        Specified by:
        getTableModel in interface io.jenkins.plugins.datatables.AsyncTableContentProvider
        tableId - ID of the table model
        the table model with the specified ID
      • getUrlForBuild

        public String getUrlForBuild​(String selectedBuildDisplayName,
                                     String currentUrl)
        Returns the URL for coverage results of the selected build. Based on the current URL, the new URL will be composed by replacing the current build number with the selected build number.
        selectedBuildDisplayName - the selected build to open the new results for
        currentUrl - the absolute URL to this details view results
        the URL to the results or an empty string if the results are not available
      • getSourceCode

        public String getSourceCode​(String fileHash,
                                    String tableId)
        Gets the source code of the file which is represented by the passed hash code. The coverage of the source code is highlighted by using HTML. Depending on the passed table ID, the source code is returned filtered with only the relevant lines of code.
        fileHash - The hash code of the requested file
        tableId - The ID of the source file table
        the highlighted source code
      • hasSourceCode

        public boolean hasSourceCode()
        Checks whether source files are stored.
        true when source files are stored, false otherwise
      • hasModifiedLinesCoverage

        public boolean hasModifiedLinesCoverage()
        Checks whether modified lines coverage exists.
        true whether modified lines coverage exists, else false
      • isSourceFileAvailable

        public boolean isSourceFileAvailable​(FileNode coverageNode)
        Returns whether the source file is available in Jenkins build folder.
        coverageNode - The Node which is checked if there is a source file available
        true if the source file is available, false otherwise
      • getDynamic

        public Object getDynamic​(String link,
                                 org.kohsuke.stapler.StaplerRequest request,
                                 org.kohsuke.stapler.StaplerResponse response)
        Returns a new sub-page for the selected link.
        link - the link to identify the sub-page to show
        request - Stapler request
        response - Stapler response
        the new sub-page