Package studentrepoloader.model.villecsv.impl


package studentrepoloader.model.villecsv.impl
Contains default implementations of the VilleSubmission and GitLabSubmission interfaces.

This package provides concrete classes that interpret specific ViLLe CSV field arrangements. Because field positions and names vary per assignment, each implementation hardcodes its own understanding of which CSV index maps to which semantic field.

Implementations in this package are intended to be used with SubmissionMapper, which constructs instances using a required constructor: (String[] row, ViLLeCsvFile source).

Key classes:

  • DefaultVilleSubmission – Provides a baseline implementation of VilleSubmission.
  • DefaultGitLabSubmission – Adds support for GitLab links, AI disclosures, and group work info. Delegates Git link cleanup to GitLabRepoUrl.
  • MyOwnVilleDefaultSubmission – An example customization based on the default implementation.

Implementors are expected to align field indexes with their actual ViLLe CSV structure, as there is no reliable schema enforcement at the parser level.

These implementations may apply additional validation logic (e.g., link cleanup, folder name formatting) that is tightly coupled to the Git workflow.