* IDEMPIERE-3101 implement OAuth2 for mail (gmail, outlook and other mail system)
WIP - initial version working on zk with google apps mail using OAuth2 Authorization Code Flow and Client Type = web application
* Enable imap reading with OAuth2 in RequestEMailProcessor
* Simplify the code - tested plain and OAuth2 can use the same methods
* Add +SCOPE parameter to AddAuthorizationForm according to IDEMPIERE-4713
* Rename the form AddAuthorizationMailForm to AddAuthorizationForm as is now more generic
* IDEMPIERE-4713
* Rename migration scripts to make it newer than IDEMPIERE-4713
* Add list of scopes attended by a credential
* Change form to accept other scopes, if no scope parameter is passed, then a list is shown, change the menu to fix the EMail scope
* Add MAuthorizationAccount.refreshAndGetAccessToken
* Add translation for messages
* make call generic oauth, avoid using specific google API
* Tests with microsoft as OAuth2 provider
* Add record for microsoft as provider
* Increase size of tokens
* Define mandatory and secure columns
* Update refresh token when it comes on the refresh call
* Revoke endpoint is optional
* Change the approach to a process instead of a form (WIP)
* Implement servlet to process the OAuth2 code
* Solve context suggestion from hengsin
* Implement the form in an automatic popup approach for running on zkwebui
* i18n - add translations for all messages that are shown to user
* on the form opted for click to avoid the problem with browsers forbidding popups
* clean spaces and tabs on line endings
* avoid logging and copy of the secure columns
* Fix problem reported by @d-ruiz about hidden NPE when SMTP Authentication is disabled
* Add writing to AD_PInstance_Para and AD_PInstance_Log the results of processing the servlet
* Control to avoid using the same authorization URL twice
* IDEMPIERE-4488 Remove .classpath from repository
* IDEMPIERE-4488 Remove .classpath from repository
add ignore for .classpath
* IDEMPIERE-4488 Remove .classpath from repository
remove ".settings/org.eclipse.jdt.core.prefs"
* IDEMPIERE-4488 Remove .classpath from repository
fix false status report for /bin and .project
* IDEMPIERE-4251 Constant definition for all Env Context
replace "#Date" with Env.DATE
* IDEMPIERE-4251 Constant definition for all Env Context
replace "#.." with constant at Env
* IDEMPIERE-4251 Constant definition for all Env Context
Merge patch from Carlos
* IDEMPIERE-4498 Performance: add cache for osgi services factory
add cache for tableName -> IModelFactory
* IDEMPIERE-4498 Performance: add cache for osgi services factory
implement cache for the discovery of osgi services
* IDEMPIERE-4498 Performance: add cache for osgi services factory
added unit test
* IDEMPIERE-4211 Schedulers launched twice - problem with RunOnlyOnIP null running on load balancer
add 1 to 3 minute delay to wait for hazelcast service
* IDEMPIERE-4211 Schedulers launched twice - problem with RunOnlyOnIP null running on load balancer
move waiting to background thread
add MONITOR_INITIAL_WAIT_FOR_CLUSTER_IN_SECONDS and
MONITOR_MAX_WAIT_FOR_CLUSTER_IN_SECONDS sysconfig
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
add support to make PO immutable
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
- added thread safe Immutable and Copy cache implementation for PO.
- migrate most of PO cache to immutable and copy cache.
- added pos sales order test.
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
- add test case for initial client setup and bank statement
- fix error for image editor, location editor, locator editor, initial
client setup, complete bank statement and migrate storage provider.
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
- added ImmutablePOSupport interface. Model class implement this
interface for immutable PO support.
- remove usage of cache for transaction table (rfq, invoice, inventory).
- add getCopy method to some model class to support getting an
updateable copy of PO from the otherwise immutable PO cache.
- the added getCopy method is use to return updateable PO for indirect
PO reference, for e.g MColumn.getAD_Table() and MOrderLine.getProduct.
* IDEMPIERE-4298: remove Bundle-RequiredExecutionEnvironment
when build by tycho value of Bundle-RequiredExecutionEnvironment and jdt need to compatibility
in case we use Bundle-RequiredExecutionEnvironment = 11 then can't build by jdk != 11
so stick on fix value isn't good
eclipse now also support Require-Capability, so don't need Bundle-RequiredExecutionEnvironment anymore
* IDEMPIERE-4298:support update jdk (jdk 12 13 14)
default environment still jdk-11 but you can build for any jdk by below command
export JAVA_HOME=path to jdk
mvn verify -Djdk.version=11
in case on JAVA_HOME is jdk 14 then can set jdk.version for 11, 12, 13, 14 and same for other jdk
at moment java 14 just support on eclipse 2020-03 with install plugin
Java 14 Support for Eclipse 2020-03 (4.15)
* Complete ticket - implement support for XLSX in scheduler, background jobs, jasper reporting, default types
* Synchronize xlsx with xls exporter to use ZK_FOOTER_SERVER_MSG and ZK_FOOTER_SERVER_DATETIME_FORMAT SysConfig
* Excel alerts now export to xlsx instead of xls
https://bugs.eclipse.org/bugs/show_bug.cgihttps://bugs.eclipse.org/bugs/show_bug.cgi?id=537016
1. use latest jdt for support jdk10
2. tycho resolve dependency to javax.activation, javax.xml.bind from jdk, but jdk don't public it.
eclipse resolve by get highest version from com.sun.activation.javax.activation, jaxb-api
so need use Require-Bundle to force tycho choose com.sun.activation.javax.activation
2.1 if keep both import javax.activation and Require-Bundle com.sun.activation.javax.activation with get bellow exception on tycho but org.adempiere.base don't have this issue
[ERROR] /home/hieplq/1Dev/project/native/idempiere-dev-11/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultFeedbackService.java:[16]
[ERROR] import javax.activation.DataSource;
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] Access restriction: The type 'DataSource' is not API (restriction on classpath entry '/home/hieplq/.m2/repository/p2/osgi/bundle/com.sun.activation.javax.activation/1.2.0/com.sun.activation.javax.activation-1.2.0.jar')
3. pass --add-exports for org.adempiere.base, install, server and swing