Skip to content

[Phase 1.4] EnvDataDesc DOP JSON Schema Support #4

@rettde

Description

@rettde

Beschreibung

In cda-core/src/diag_kernel/schema.rs werden Environment Data Description DOPs (Data Object Properties) nicht unterstuetzt bei der JSON-Schema-Generierung. Das fuehrt dazu, dass SOVD-Clients fuer bestimmte Datentypen kein Schema erhalten und die Daten nicht korrekt interpretieren koennen.

Betroffene Dateien

  • cda-core/src/diag_kernel/schema.rs — Schema-Generierung
  • cda-core/src/diag_kernel/mod.rs — Diagnostic Kernel Hauptmodul
  • cda-interfaces/src/datatypes/ — DOP Datentyp-Definitionen
  • cda-database/ — MDD Parsing fuer EnvDataDesc

Implementierungs-Tasks

  • EnvDataDesc DOP Struktur analysieren (ODX-Spezifikation)
  • JSON Schema Mapping fuer EnvDataDesc definieren
  • Schema-Generierung in map_dop_to_schema() erweitern
  • Verschachtelte EnvData-Strukturen korrekt abbilden
  • Unterstuetzung fuer EnvData mit multiplen Werten (Arrays)
  • include-schema=true Query fuer betroffene Endpoints testen
  • Fehlerbehandlung: Graceful Degradation wenn EnvData nicht mappbar

Unit Tests (Pflicht)

  • Test: Einfache EnvDataDesc -> korrektes JSON Schema
  • Test: EnvDataDesc mit multiplen Parametern
  • Test: EnvDataDesc mit verschachtelten Strukturen
  • Test: EnvDataDesc Schema ueber SOVD API abrufbar
  • Test: Unbekannter EnvDataDesc Typ -> Fehlerbehandlung
  • Test: Schema-Validierung gegen generierte Daten (roundtrip)
  • Test: Leere EnvDataDesc -> minimales Schema

CrossCheck & Constraints

  • Pruefung gegen ISO 22901-1 (ODX) EnvDataDesc Definition
  • Pruefung gegen ISO 17978-3 Schema-Anforderungen
  • Constraint: Generiertes Schema muss JSON Schema Draft-07 konform sein
  • Constraint: Schema darf keine zirkulaeren Referenzen enthalten
  • Constraint: Schema-Groesse muss bounded sein (kein Memory-Blow-up)
  • Regressionstests: Bestehende DOP-Schema-Generierung unveraendert

Security Audit

  • Schema-Generierung darf bei malformed MDD nicht crashen (Fuzzing)
  • Keine Pfad-Informationen aus MDD in Schema leaken
  • Memory-Bounds bei grossen EnvDataDesc Strukturen

Zeitschaetzung

Aufwand
Konventioneller Entwickler 3 PT
KI-Agent 1 PT

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions