33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
# Generic runtime event mixing refactoring
|
|
|
|
This patch removes tachograph-specific source roles and representations from the common runtime mixing contracts.
|
|
|
|
## Main changes
|
|
|
|
- `RuntimeEventMixingRule` now uses generic `RuntimeEventSelector` objects, generic pair constraints, compatibility-policy ids, and fusion-policy ids.
|
|
- `RuntimeEventDescriptor` and `RuntimeEventSourceProfile` expose opaque classification values instead of `RuntimeTachographEvidenceSourceRole` and `RuntimeTachographRepresentation` fields.
|
|
- `RuntimeEventDescriptorFactory` consumes pluggable `RuntimeEventSemantics` adapters.
|
|
- `RuntimeEventMixingRuleRegistry` aggregates pluggable `RuntimeEventMixingRuleProvider` implementations.
|
|
- Compatibility and primary-event enrichment are delegated to policy registries.
|
|
- Tachograph-specific country/region/coordinate normalization and vehicle/VIN enrichment were moved out of common classes.
|
|
- Common diagnostics now expose classification-count maps instead of tachograph-specific scalar fields.
|
|
- `eventMixingMode=FULL` is the generic default. The tachograph provider still accepts `TACHOGRAPH_SAME_SOURCE` for request compatibility.
|
|
|
|
## Tachograph behavior retained
|
|
|
|
The tachograph provider still implements:
|
|
|
|
- database/file-session same-role duplicate suppression;
|
|
- driver-card/vehicle-unit activity mixing;
|
|
- driver-card/vehicle-unit support-event mixing;
|
|
- semantic place lifecycle normalization;
|
|
- tachograph nation and region normalization;
|
|
- coordinate tolerance checks;
|
|
- vehicle/VIN enrichment of the retained primary event.
|
|
|
|
## Validation
|
|
|
|
- The complete modified mixing package was compiled with Java 21 using local stubs for external Spring/Jackson/validation APIs.
|
|
- A Java runtime harness confirmed that duplicate DB/file-session driver-card activity events are reduced to one event and that generic classification diagnostics are populated.
|
|
- Maven is not installed in the execution environment, so the complete project test suite was not run.
|