* Add semantic tag registry + REST API to manage user tags
Related to #3619
New registry for semantic tags.
New default semantic tags provider for all built-in semantic tags.
New managed provider to add/remove/update user semantic tags.
Storage of user semantic tags in a JSON DB file.
New REST API to add/remove/update user tags in the semantic model.
New REST API to get a sub-tree of the semantic tags.
Semantic tag class annotations are removed.
Semantic tag classes are now created at runtime.
Classes Locations, Equipments, Points and Properties are removed
Static methods SemanticTags.add removed
The adding of semantic tag classes is now managed only by the tag registry.
Avoids calling static method SemanticTags.getById when possible
SemanticsMetadataProvider service now requires semanticTagRegistry to start.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Update groovy license headers to 2022
* Reuse existing header file and use Groovy 3.0.9
Updates the year in a few groovy file headers that were missed in #2671.
Signed-off-by: Wouter Born <github@maindrain.net>
* Add profile to generate semantics classes with groovy-maven-plugin
This way you can generate the classes with Maven when adding -DgenerateTagClasses to your build command.
I.e. you no longer need to have Groovy locally installed for this.
Also properly sorts the generated imports so they match the Spotless configuration.
Signed-off-by: Wouter Born <github@maindrain.net>
Related to #1791
Also-by: Christoph Weitkamp <github@christophweitkamp.de>
Also-by: Mark <m.stroeve@appsoftware.nl>
Signed-off-by: Laurent Garnier <lg.hc@free.fr>