* IDEMPIERE-4842 Easier model registration
- Change from https://github.com/atteo/classindex to
https://github.com/classgraph/classgraph, remove annotation processor
config.
- Change service.ranking of DefaultModelFactory to -1 and
service.ranking of AnnotationBasedModelFactory to 0. This give
AnnotationBasedModelFactory higher priority over DefaultModelFactory and
allow plugins to have higher priority over AnnotationBasedModelFactory
with server.ranking of 1 (the common practise before the introduction of
AnnotationBasedModelFactory).
- Added resultset constructor to MTree. This is to allow the use of
MTree with model factory.
- Remove classindex annotation from org.adempiere.base.Model and X_*
model classes.
- Added unit test for table to model class mapping
- AnnotationBasedModelFactory: Change from using annotation processor to
runtime annotation scanning using the classgraph library. The default
setting scans all the X_* model class and travels the inheritance
hierarchy to discover the M* model class. Plugin needs to create a
subclass of AnnotationBasedModelFactory and register it as an OSGi
component to scan the plugin's annotated model classes (the plugin's
custom AnnotationBasedModelFactory component should have service.ranking
> 0).
* IDEMPIERE-4842 Easier model registration
minor refinement
* Minor changes
Co-authored-by: hengsin <hengsin@gmail.com>