* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window / also in new Attachment button
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window / change approach to constructor
* IDEMPIERE-4992 email from archive dialog
* IDEMPIERE-4721 : Financial Report : exclude all adjustment periods - fix NPE
reported by @CarlosRuiz-globalqss ; see https://idempiere.atlassian.net/browse/IDEMPIERE-4721?focusedCommentId=47539
* IDEMPIERE-4721 : Financial Report : exclude all adjustment periods - fix NPE
Using Carlos's suggestion
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / Shell script
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / Java Shell script -> beanshell/groovy
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / Remove java class option, fixes for script
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / rename to ScriptJSR223
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / add audit information to SQL statements, shell and JSR223 scripts
* IDEMPIERE-4842 Easier model registration
- Needs to enable jar scanning to support felix/console installation of
plugin jar.
- add rejectJars call to reduce startup delay after enable of jar
scanning. keep the list short to reduce future maintenance hazard.
- remove the not supported use of acceptPackagesNonRecursive and
acceptClasses together.
- change getAcceptClassesPatterns() default to X_* and M*. Withouut
acceptPackages, we need to scan both X and M classes.
* IDEMPIERE-4842 Easier model registration
- remove use of rejectJars since the performance difference is small and
need maintenance.
- remove warning for not overriding getPackages(). Plugin that doesn't
has many model class (< 100) doesn't have to override getPackages() as
performance is good enough with the use of acceptClasses(...).
* 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>
* IDEMPIERE-4866 : Multiple smtp per tenant
Same PR as https://github.com/idempiere/idempiere/pull/783
* IDEMPIERE-4866 : Multiple smtp per tenant - various fixes
Fixes suggested by Carlos on https://github.com/idempiere/idempiere/pull/783 (remove System.out, change AD_Element name, tab in SingleRow mode) + fix NPE
* IDEMPIERE-4866 : Multiple smtp per tenant : implement cache
* IDEMPIERE-4866 : Multiple smtp per tenant : process EMailTest was not set on column
Fixes by Carlos
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4906 Dashboard showing donation message on first log-in
* IDEMPIERE-4906 Dashboard showing donation message on first log-in / make dashboard collapsible
* IDEMPIERE-4842 Easier model registration
- Temporary disable AnnotationBasedModelFactory until getSubclasses()
doesn't work for subclass from different package is resolve.
* IDEMPIERE-4842 Easier model registration
- turn of annotation processing in editor which causes slow editor
performance
* 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>
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info
Use customized image from tenant level when opening the panel
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info - fix migration scripts name
* IDEMPIERE-4961 Minor performance enhancement for AD Window
* IDEMPIERE-4961 Minor performance enhancement for AD Window
Fix potential mtab not found issue with 2pack import.
* IDEMPIERE-4960 Performance improvement for the opening of info window
* IDEMPIERE-4960 Performance improvement for the opening of info window
Query.scroll and Query.list basically offer the same db performance, the
previous change is unnecessary.
* IDEMPIERE-4959 Performance improvement for the opening of form window
* IDEMPIERE-4959 Performance improvement for the opening of form window
minor cache name change.
* IDEMPIERE-4958 Performance improvement for the opening of process dialog
* IDEMPIERE-4958 Performance improvement for the opening of process dialog
Query.scroll and Query.list has similar db performance, the previous
change is not needed.
At the end of table sorting, trigger data status change event before UI
event, so that GridTab data is changed before UI refresh, which is
needed for Swing UI.