Interface IReportGenerator<T extends ISubmissionMatchGroup>

  • All Known Implementing Classes:
    ReportGenerator

    public interface IReportGenerator<T extends ISubmissionMatchGroup>
    Implementations of this interface are used by the Report Manager to generate reports for files where plagiarism is suspected (though it can be run for any file in principle).
    • Method Detail

      • generateSubmissionComparison

        java.util.List<T> generateSubmissionComparison​(java.util.List<ISubmission> submissions,
                                                       java.util.List<? extends ICodeBlockGroup> codeBlockGroups)
        Compare two submissions and find all the instances of detected plagiarism between all files within them.
        Parameters:
        submissions - The submissions to compare (should be a list of two submissions only; any submissions beyond the first two are ignored)
        codeBlockGroups - The ICodeBlockGroups that contain at least one file from either submission.
        Returns:
        a list of SubmissionMatchGroup objects, which each contain a list of SubmissionMatches and a score for the corresponding IResultTask.
      • generateSubmissionReport

        ITuple<java.util.List<T>,​java.lang.String> generateSubmissionReport​(ISubmission submission,
                                                                                  java.util.List<? extends ICodeBlockGroup> codeBlockGroups,
                                                                                  float subScore)
        Generate a report for a single submission, containing all matches for all files within it, and creating a summary in the process.
        Parameters:
        submission - The submission to generate the report for.
        codeBlockGroups - The ICodeBlockGroups that contain at least one file from the submission.
        subScore - The overall score for this submission.
        Returns:
        a tuple containing a list of SubmissionMatchGroup objects, which each contain a list of SubmissionMatches and a score for the corresponding IResultTask. The tuple also contains a string which serves as a summary of the report.