Github user ottobackwards commented on the issue:
https://github.com/apache/metron/pull/856
https://github.com/apache/metron/pull/856/commits/65278a67a07f1c4c23ab2d95ebb6de92e1cac731
introduces conceptually what @nickwallen and I have been discussing.
I need to think about reworking the description.
From the commit ->
----------------
Refactor based on review and inspiration from review.
Although the original implementation was functional, it required
maintainence to keep current.
The suggested 'best state' was to have it be possible, maybe through
annotations, for the validation
system to be able to handle any config, regarless or composition using
annotations.
That would leave it up to the implementor to propertly annotate thier
configurations, and allow for support of new fields.
This is an implementation of that.
I have refactored the implemenations and details, but kept the discovery
and mechanics ( loading and visitation ) somewhat the same.
Hopefully keeping the good and reworking to a more sustainable solution.
Several annotations where created to marks ceratin stellar configruation
objects or scenarios.
A holder object, to hold the configuration object, but knows how to process
the annotations and run the visitation was added.
This holder object and the annotations have parameters and handling for
several special scenarios, such as 2x nested maps.
This implementation should facilitate follow on work to validate files and
streams and blobs by using implementing the StellarValidator interface
and re-using the holder concept ( replacing the providers )
---