Files
hsiegeln f6ff279a60 feat(02-01): extend ingestion to populate Phase 2 columns with integration tests
- Refactored flattenProcessors to flattenWithMetadata (FlatProcessor record with depth/parentIndex)
- INSERT now populates 12 new columns: exchange_bodies, exchange_headers, processor_depths,
  processor_parent_indexes, processor_error_messages, processor_error_stacktraces,
  processor_input_bodies, processor_output_bodies, processor_input_headers,
  processor_output_headers, processor_diagram_node_ids, diagram_content_hash
- Exchange bodies/headers concatenated from all processor snapshots + route-level snapshots
- Null ExchangeSnapshot handled gracefully (empty string defaults)
- Headers serialized to JSON via Jackson ObjectMapper
- IngestionSchemaIT verifies 3-level tree metadata, body concatenation, null snapshot handling
- DiagramRenderer/DiagramLayout stubs created to fix pre-existing compilation error (Rule 3)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 16:15:41 +01:00

1.1 KiB

Deferred Items - Phase 02

Pre-existing Issues

ElkDiagramRendererTest breaks Spring context when run in full suite

  • Found during: 02-01, Task 2
  • Issue: When ElkDiagramRendererTest runs before Spring Boot integration tests in the same Surefire JVM, ELK's static initialization fails with NoClassDefFoundError: org/eclipse/xtext/xbase/lib/CollectionLiterals, which then prevents the Spring context from creating the diagramRenderer bean for all subsequent integration tests.
  • Impact: Full mvn test for the app module shows 30 errors (all integration tests fail after ElkDiagramRendererTest runs)
  • Tests pass individually and in any grouping that excludes ElkDiagramRendererTest
  • Root cause: ELK 0.11.0's service loader initializes LayeredMetaDataProvider which uses xtext's CollectionLiterals in a static initializer. The class is present on the classpath (dependency resolves correctly) but fails in the Surefire fork's classloading order when combined with Spring Boot's fat classloader.
  • Suggested fix: Configure Surefire to fork per test class, or defer ElkDiagramRendererTest to its own module/phase.