core-jgi/org.idempiere.test
Saulo José Gil 602e450a93
IDEMPIERE-4842 Easier model registration (#877)
* Preliminary support for automatic model class registration

Model classes can be tagged with a new @Model annotation that allows for
easy/fast class scanning/registration, based on the ClassIndex library.
The list of annotated model classes is generated at compile time, thus
reducing reflection reliance to a bare minimum.

NOTE: Eclipse uses its own Java compiler which is not strictly standard
compliant and requires extra configuration. In Java Compiler ->
Annotation Processing -> Factory Path you need to add ClassIndex jar
file

* Annotation based model factory

* Improve classloader determination for annotation scanning

ClassIndex default annotation scanning method determines the classloader
to be used by calling Thread.currentThread().getContextClassLoader(),
which should not be used in an OSGi environment.

* Enable ClassIndex's annotation processor under Eclipse

Make sure annotation processing is enabled at Module Properties -> Java
Compiler -> Annotation Processing

* Refactoring annotation-based model class detection

Eliminated the need of annotating M* classes, by using ClassIndex's
@IndexSubclasses annotation.

* Minor change

* Minor changes

* Creation of AbstractModelFactory

* Documentation

* Make AnnotationBasedModelFactory extend AbstractModelFactory

* IDEMPIERE-4842 Easier model registration

- add annotation processor jdt settings
- fix @Component annotation for AnnotationBasedModelFactory
- fix generated x_* class missing "org.atteo.classindex.IndexSubclasses"
import

* Expose ClassIndex lib to other bundles

* Updated model classes

Co-authored-by: hengsin <hengsin@gmail.com>
2021-09-18 13:35:57 +08:00
..
.settings IDEMPIERE-4933 Platform update for 9.x (#857) 2021-09-04 16:12:10 +02:00
META-INF IDEMPIERE-4933 Platform update for 9.x (#857) 2021-09-04 16:12:10 +02:00
OSGI-INF IDEMPIERE-4694 Implement thread safe, annotation based osgi event han… (#571) 2021-02-10 16:12:16 +01:00
src/org/idempiere/test IDEMPIERE-4842 Easier model registration (#877) 2021-09-18 13:35:57 +08:00
.project IDEMPIERE-4488 Remove .classpath from repository (#607) 2021-03-03 00:02:03 +01:00
build.properties IDEMPIERE-4704 Add base interface and class that uses generic type and lambda function for osgi factory that create new instance by class name or a string key (#595) 2021-02-18 18:22:07 +01:00
idempiere.unit.test.launch IDEMPIERE-4955 Add Rest+Json support to iDempiere Web Services (#873) 2021-09-14 13:51:00 +02:00
pom.xml IDEMPIERE-4933 Platform update for 9.x (#857) 2021-09-04 16:12:10 +02:00