ChangeEngine should be a new component that would provide functionality for parsing raw records.
Records should be processed sequentially, after parsing each record should be validated and saved as Valid or Error record accordingly. JobExecution and Snapshot statuses should be updated along the way.
For more details refer to the technical design.
In scope of this story an API for the Parser should be defined. Implementation should be provided only parsing MARC records using marc4j library.
Nice to have ChangeEngine should provide parallel execution option.
ChangeEngine should be configurable regarding to:
- the size of a working chunk to update the progress;
- the amount of simultaneously working threads;
- ChangeEngine component exists
- ChangeEngine interacts with MetadataService for getting and updating JobExecution statuses.
- ChangeEngine interacts with mod-source-record-storage via REST for updating Snapshot statuses.
- Functionality is covered with tests