The communication between Quarterfall and this plugin works exclusively by using a JSOn-object. The JSON-Object should be named "qf.json" and is supposed to be in the root directory of this project. When using Quarterfall to interface with his programme, the qf.json will automatically be generated for you.
Please find the needed properties in the table below. Properties marked with a * will be automatically generated by Quarterfall and should only be manually written to if this programme is not used in conjunction with Quarterfall.
Property | Description | Optional |
---|---|---|
checkerClass | The exact name and path of the checker-class that is to be executed. If this property is omitted, the class eu.qped.java.checkers.mass.Mass is used as default. |
true |
mainSettings | The overarching settings governing every checker. Also contains configuration for syntax checks. Please refer to this readme.md for further instructions on how to use the settings. | true |
styleSettings | The configuration for checking style. Please refer to this readme.md for further instructions. | true |
semSettings | The configuration for checking the semantics. Please refer to this readme.md for further instructions. | true |
designSettings | The configuration for checking the design of classes. Please refer to this readme.md for further instructions. | true |
answer* | This field contains the code or answer produced by the learner which will then be analyzed by the checkers. | * |
file* | A link to the files that were handed in by the learner as their answer. If present, this will be used as the basis for the analyzation instead of answer. Files should be made available as a single zip-archive. | * |
user* | A JSON-Object containing the user information of the Quarterfall user that solved the task. Only the language-property is used to generate feedback appropriate to the language of the user. If filled in manually, please refer to the google-translate-language codes (e.g. en, de, etc). | * |
Normally, the CheckerRunner
will be executed from the Quarterfall Cloud check server or from the SystemTest
framework.
They will provide the necessary configuration in terms of the qf.json
file which will be overwritten when the CheckerRunner terminates.
To facilitate executing the CheckerRunner
with Quarterfall object files stored in a different location (for more flexible manual execution), the
class CheckerRunner
can be started with a command line option which is the filename of the Quarterfall object, stored as a JSON file.
If this command line option is provided, the JSON file is not overwritten when the CheckerRunner
terminates, but the resulting Quarterfall object
is printed to the standard output instead.