The inventory model used for both the OpenNMS Direct and Kafka datasources is currently hard-coded in the application. We should externalize the model giving system integrators complete controller over the types and relationships used.
We can approach this by either moving the model to configuration file(s), or if this is not suitable, we could also use some for scripting / plug-able logic (i.e. JSR-223).
In particular, users should be able to:
- Add new types
- Modify existing types
- Control the weights used for different relationships