In the new graph world we operate on generic graph elements (GenericGraph and its associated classes GenericVertex, GenericEdge). This is sufficient for most use cases like persistence, caching etc.
However in some cases we want to use domain specific implementations of the graph elements.
- we always operate on the generic elements but can use wrappers around them where needed.
- the wrapper takes a generic element and enriches it with methods that operate on the generic element
- each domain graph element can inherit from the wrappers and extend them by domain specific methods
- This will replace the SimpleGraph, Simple Edge etc. implementations from the old graph world
- define the wrapper elements and implement proxy methods for the generic element's methods
- replace or rewrite the classes in org.opennms.netmgt.graph.simple with the wrappers
- fix all code that uses org.opennms.netmgt.graph.simple.*
Base branch ist features/graph-service