eventhub/README_PATCH.md

1.9 KiB

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.