Commit Graph

234 Commits

Author SHA1 Message Date
hengsin 4b923f4d03
IDEMPIERE-5004 add org.adempiere.base.Model annotation support to MappedModelFactory (#930) 2021-10-22 12:27:48 +02:00
hengsin 8fbac60b1a
IDEMPIERE-1250 Multiple BOM (formulas) support for mfg-light (#906)
* IDEMPIERE-1250 Multiple BOM (formulas) support for mfg-light

* IDEMPIERE-1250 Multiple BOM (formulas) support for mfg-light

Fix deprecation warnings

* Update 202109291600_IDEMPIERE-1250.sql

Co-authored-by: Carlos Ruiz <carg67@gmail.com>
2021-10-06 17:06:26 +02:00
hengsin 398333e645
IDEMPIERE-4933 Platform update for 9.x (#910)
Fix jasper report compilation error cause by manifest issue of common
digester bundle.
2021-10-06 15:37:28 +02:00
hengsin 338fecb344
IDEMPIERE-4980 Update model factory of org.idempiere.webservices (#899) 2021-09-27 12:50:59 +02:00
Saulo José Gil 2b4a2be5a2
IDEMPIERE-4842 Easier model registration (#893)
* 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>
2021-09-22 22:42:51 +08:00
hengsin f4894c4cb5
IDEMPIERE-4962 Performance: change PostgreSQL native dialect mode default to true (#889)
- minor refinement and fix Convert_PostreSQLTest
2021-09-20 10:53:30 +02:00
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
hengsin 4b8af33c4e
IDEMPIERE-4955 Add Rest+Json support to iDempiere Web Services (#873) 2021-09-14 13:51:00 +02:00
hengsin ae5a665dd8
IDEMPIERE-4933 Platform update for 9.x (#857)
* IDEMPIERE-4933 Platform update for 9.x

- WIP

* IDEMPIERE-4933 Platform update for 9.x

- project to repackaged some osgi bundles from maven

* IDEMPIERE-4933 Platform update for 9.x

- Fix target platform error

* IDEMPIERE-4933 Platform update for 9.x

* IDEMPIERE-4933 Platform update for 9.x

- minor eclipse setting fix
2021-09-04 16:12:10 +02:00
hengsin 48c6dd40d4
IDEMPIERE-4250 Implement optimistic locking support (#838)
* IDEMPIERE-4250 Implement optimistic locking support

* IDEMPIERE-4250 Implement optimistic locking support

- merge fix from Carlos.
2021-09-03 13:17:20 +08:00
Carlos Ruiz 22f47cd382
IDEMPIERE-4939 Implement ability to discover operating system environment variables when parsing context (FHCA-3026) (#853)
* IDEMPIERE-4939 Implement ability to discover operating system environment variables when parsing context (FHCA-3026)

* IDEMPIERE-4939 Add unit test
2021-08-31 14:24:19 +02:00
Diego Ruiz 24b4643597
IDEMPIERE-4912 - Add unit test (#848)
* IDEMPIERE-4912 - Add unit test

* IDEMPIERE-4912 - Add Unit Test
2021-08-27 12:53:31 +02:00
hengsin ac01e77a40
IDEMPIERE-4880 Replace iText PDF with OpenPDF (#837) 2021-08-17 18:44:32 +02:00
hengsin 2975ff6429
IDEMPIERE-4881 CSS style anomaly - display logic (#786)
Fix regression (empty expression evaluation) introduce by previous
patch.

Pushing this through as the previous change set introduce a significant regression.
2021-07-20 21:47:17 +08:00
hengsin 6169d09924
IDEMPIERE-4881 CSS style anomaly - display logic (#782)
Fix equal evaluation for numeric expression
2021-07-20 11:25:08 +02:00
Patric Massing bb2bbc710c
IDEMPIERE-4828-posting of Allocation with a AR Credit Memos with disc… (#745)
* IDEMPIERE-4828-posting of Allocation with a AR Credit Memos with discount, the tax-correction has the wrong sign

* IDEMPIERE-4828 - posting of Allocation with a AR Credit Memos with discount, the tax-correction has the wrong sign

check for DocBaseType
2021-07-05 21:02:44 +02:00
hengsin 10812c486d
IDEMPIERE-4824 Boolean Logic Expression Enhancements (#748)
* IDEMPIERE-4824 Boolean Logic Expression Enhancements

Fix comparison operator not working for timestamp value
2021-06-29 16:36:50 +02:00
hengsin 401707361d
IDEMPIERE-4824 Boolean Logic Expression Enhancements (#719)
add validation for boolean logic expression in AD
2021-06-14 17:51:15 +02:00
hengsin d7153575e6
IDEMPIERE-4824 Boolean Logic Expression Enhancements (#716)
* IDEMPIERE-4824 Boolean Logic Expression Enhancements

* IDEMPIERE-4824 Boolean Logic Expression Enhancements

Fix handling of conditional variable (i.e @VariableName:DefaultValue@)

* IDEMPIERE-4824 Boolean Logic Expression Enhancements

Fix unit test launch configuration
2021-06-10 23:08:22 +08:00
Carlos Ruiz a4f67eb852
IDEMPIERE-4782 Multi-factor authentication (FHCA-2034) (#705)
* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)

Implement suggestions from Heng Sin

* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)

Fix security warning advised by github/CodeQL

* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)

Implement an incremental delay in zk when the validation code is wrong (to avoid brute-force attacks)
As suggested by Ricardo Santana:
* ensures one-time only use of an OTP
* Log failures in AuthFailure.log

* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)

* Log failures in AuthFailure.log - add case for login with email
* Implement incremental delay also for login panel
2021-06-08 19:49:46 +08:00
hengsin 0da2eb5bd2
IDEMPIERE-4764 Hazelcast distributed cache can be an issue in some environments (#682)
- Fix cache reset and unit test bugs
2021-05-11 14:18:48 +02:00
hengsin a79be8aad8
IDEMPIERE-4749 Allow to use OAuth2 libraries on plugins (#668)
* IDEMPIERE-4749 Allow to use OAuth2 libraries on plugins

- move oauth libraries and dependency to target platform
- require Tycho 2.3.0+ and Eclipse 2021-03+

* IDEMPIERE-4749 Allow to use OAuth2 libraries on plugins

Fix launch configuration.
2021-04-28 14:59:50 +02:00
Carlos Ruiz 3be5c0ac92
IDEMPIERE-4768 Cannot ship in some cases when multiple ASI with different material policy (#660)
* IDEMPIERE-4768 Cannot ship in some cases when multiple ASI with different material policy

* IDEMPIERE-4768 Cannot ship in some cases when multiple ASI with different material policy

* Fix wrong selection of material date policy, must take into account isUseGuaranteeDateForMPolicy
* Fix wrong material receipt, assigning material date policy based on inventory instead of document/ASI

* * Unit tests
2021-04-21 21:42:10 +08:00
hengsin b22ceeabdf
IDEMPIERE-4747 Pass PO object from MWFProcess to MWFActivity (#646)
Fix unit test error.
2021-04-08 21:20:49 +08:00
Elaine Tan 27f21e0384
IDEMPIERE-4696 Wrong GL Currency Balancing in payment allocation for payment reverse/accrual (#621)
* IDEMPIERE-4696 Wrong GL Currency Balancing in payment allocation for payment reverse/accrual
2021-03-15 21:18:25 +08:00
Elaine Tan c7854316be
IDEMPIERE-4263 Wrong matched invoice GL posting (currency balancing) in alternate schema for vendor credit memo if > 1 credit memo line (#619)
* IDEMPIERE-4263 Wrong matched invoice GL posting (currency balancing) in alternate schema for vendor credit memo if > 1 credit memo line
2021-03-10 18:09:13 +08:00
hengsin 1971b4f0dc
IDEMPIERE-4488 Remove .classpath from repository (#607)
* 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
2021-03-03 00:02:03 +01:00
hengsin 3beccdf38e
IDEMPIERE-4722 Remove constraint that idempiere source folder must be… (#606)
* IDEMPIERE-4722 Remove constraint that idempiere source folder must be used as Eclipse workspace

use project_loc of org.adempiere.base instead of workspace_loc
integrate additional fix from Carlos
2021-03-02 20:51:20 +08:00
hengsin 4ebf81b1d2
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)
Fix unit test error when running through maven/jenkin (mvn verify
-DskipTests=false)
2021-02-18 18:22:07 +01:00
hengsin 5e60c443d2
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 (#585) 2021-02-16 11:24:31 +01:00
hengsin 4b20720932
IDEMPIERE-4690 Add column callout factory base class backed by Map and Lambda functional object (#587)
Refactoring. Add unit test for gridtab and callout.
2021-02-16 11:20:42 +01:00
hengsin dda6ede13d
IDEMPIERE-4694 Implement thread safe, annotation based osgi event handling (#581)
Fix testFactValidate unit test fail with seed db due to No Cost error
for Azalea Bush
2021-02-12 10:07:00 +01:00
hengsin ee77620186
IDEMPIERE-4694 Implement thread safe, annotation based osgi event han… (#571)
* IDEMPIERE-4694 Implement thread safe, annotation based osgi event handling

Make sure the component register in the event handler unit test cases
wouldn't have impact on other unit test cases.
2021-02-10 16:12:16 +01:00
hengsin c757fbaab7
IDEMPIERE-4695 Add document factory base class backed by Map and Lambda functional object (#576)
MappedDocumentFactoryTest fail when running idempiere.unit.test due to
document factory cache.
2021-02-10 16:02:13 +01:00
hengsin c159ce5325
IDEMPIERE-4695 Add document factory base class backed by Map and Lambda functional object (#572) 2021-02-09 19:17:15 +01:00
hengsin ddd1c40eb2
IDEMPIERE-4690 Add column callout factory base class backed by Map an… (#567)
* IDEMPIERE-4690 Add column callout factory base class backed by Map and Lambda functional object

Fix column callout factory cache.

Co-authored-by: Carlos Ruiz <carg67@gmail.com>
2021-02-06 14:53:59 +01:00
hengsin 1c5a28aa0a
IDEMPIERE-4689 Add process factory base class backed by Map and Lambda functional object (#566) 2021-02-06 14:37:04 +01:00
hengsin 0f263f1c79
IDEMPIERE-4675 Add model factory base class backed by Map and Lambda … (#555)
- added interface and default mapped model factory service
- added unit test for default mapped model factory service
2021-02-01 15:29:13 +01:00
hengsin f5e9cd9336
IDEMPIERE-4654 Sales Order After Receipt Delivery Rule is not working (#536)
* IDEMPIERE-4654 Sales Order After Receipt Delivery Rule is not working

create shipment if it is fully paid and stock is available
use currencyconvertpayment
- rename after receipt to after payment
- added unit test for invoice payment

Co-authored-by: Carlos Ruiz <carg67@gmail.com>
2021-01-26 19:34:38 +08:00
hengsin 9370dbb77e
IDEMPIERE-4659 MStorageOnHand and MStorageReservation api improvements (#545) 2021-01-24 17:30:51 +01:00
Elaine Tan f3741b8f31
IDEMPIERE-4656 Incorrect rate in the MR postings when the currency type of the order is 'Company' (#537)
* IDEMPIERE-4656 Incorrect rate in the MR postings when the currency type of the order is 'Company'
2021-01-21 11:58:50 +08:00
hengsin d96199a2b6
IDEMPIERE-4251 Constant definition for all Env Context (#519)
* 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
2021-01-12 21:29:50 +08:00
Carlos Ruiz 11dc7a391f
IDEMPIERE-4623 Cash POS Sales Order is leaving wrong BP balance (#504) 2021-01-03 20:08:16 +08:00
Diego Ruiz da6d6b83aa
IDEMPIERE-4607 Cannot export windows via 2pack if any field has a Fie… (#483)
* IDEMPIERE-4607 Cannot export windows via 2pack if any field has a Field Group

* IDEMPIERE-4607 Implement changes discussed in JIRA - Add a new isList method to DisplayType

* IDEMPIERE-4607 Fixed typo

* IDEMPIERE-4607 Implement default method to return false by default - PR CarlosRuiz
2020-12-26 16:35:50 +01:00
Carlos Ruiz 8103ab0732 IDEMPIERE-4604 Release 8.2
Change references to new version
Create new migration folder
2020-12-20 10:15:20 +01:00
Carlos Ruiz 6c5d54d7f7 IDEMPIERE-4604 Release 8.2
Fix import warnings
2020-12-20 09:53:49 +01:00
Carlos Ruiz 6390ce20cd IDEMPIERE-4604 Release 8.2
Fix warnings on MANIFEST.MF
2020-12-20 09:53:21 +01:00
Carlos Ruiz 5da1785572
IDEMPIERE-4596 Cannot create a product and an inventory document in t… (#459)
* IDEMPIERE-4596 Cannot create a product and an inventory document in the same transaction

WIP - commit failing unit test

* IDEMPIERE-4596 Cannot create a product and an inventory document in the same transaction

Implement solution suggested by @hengsin

* minor fix comment
2020-12-12 16:12:31 +01:00
Carlos Ruiz 350f101d0c
IDEMPIERE-4289 Implement Support for JUnit5 Unit Testing (#447)
Fix launcher to avoid adding all custom plugins every time I try to execute it
2020-12-10 06:25:30 +08:00
Carlos Ruiz d654ed5791
IDEMPIERE-4587 Wrong ordered qty when reactivating a purchase order and setting a line to zero (#445) 2020-12-09 20:49:01 +01:00
hieplq 58c6716253
IDEMPIERE-4360 exclude generate and test code to speed up (#440)
* IDEMPIERE-4360 add sonarcloud.io

* IDEMPIERE-4360 add sonarcloud.io (update properties)

* IDEMPIERE-4360 add sonarcloud.io (optimize)

1. when use matrix for codeql-action then job of javascript run same job of java (mvn, sonar)
so don't use matrix do define separate job let javascript job faster a lot
2. reduce maven log and sonar log from info to warn
3. move project info from pom to yml let fork central place customize CI

* IDEMPIERE-4360 turn off sonar at PR because not yet support

https://stackoverflow.com/a/39720346

* IDEMPIERE-4360 exclude generate and test code to speed up

* IDEMPIERE-4360 add sonarcloud.io (optimize)

1. parallel sonar and code QL
2. parameter for repository owner (org)
2020-12-06 16:50:14 +01:00
Carlos Ruiz bf65636e22
IDEMPIERE-4577 Problem creating an invoice vendor negative after the … (#428)
* IDEMPIERE-4577 Problem creating an invoice vendor negative after the shipment

* IDEMPIERE-4577 Problem creating an invoice vendor negative after the shipment

Add unit test
2020-12-02 21:08:41 +08:00
Carlos Ruiz 0eb4986513
IDEMPIERE-4575 Cannot complete Material Receipt from negative PO (#419) 2020-11-28 07:09:39 +08:00
hengsin 0d381faf99
IDEMPIERE-4187 implement the usage of workflows in processes (#416)
- incorporate suggestion from Martin Schönbeck to unit test
2020-11-26 14:17:40 +01:00
Carlos Ruiz 460f7116a2
IDEMPIERE-4567 Resetting payment allocation to a charge leaves wrong … (#414)
* IDEMPIERE-4567 Resetting payment allocation to a charge leaves wrong BP Balance

MAllocationHdr.updateBP was broken, the form Payment Allocation worked just because it was calling bpartner.setTotalOpenBalance() at the end
so, I refactored the MAllocationHdr.updateBP and before/afterDelete to call bpartner.setTotalOpenBalance instead if the broken algorithm

Unit test added for allocating and deleting a customer invoice, a vendor invoice, and a charge

* IDEMPIERE-4567 Resetting payment allocation to a charge leaves wrong BP Balance

- Fix peer review changes requested by @hengsin
- Detected double call to bpartner.setTotalOpenBalance in WAllocation
- Detected some business partners in GardenWorld with wrong TotalOpenBalance or SO_CreditUsed, added migration script to fix it, it made more complicate to write unit tests as the data was wrong
2020-11-26 17:08:05 +08:00
Carlos Ruiz 210e54b05f IDEMPIERE-4521 Release 8.1 - RC
Change versions in pom and manifest files
2020-11-03 21:59:12 +01:00
hieplq 6e96c43303
IDEMPIERE-4492 fix for rest api (#343)
* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 update atmosphere to 2.5.15

* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 (update configuration)

update to default jetty configuration
delete unused configuration (alpn, http2,..)

* IDEMPIERE-4492 update orbit eclipse repository to 4.17

* IDEMPIERE-4492 update orbit eclipse repository to 4.17 (on parent pom)

* IDEMPIERE-4492 update jasper to 6.15.0

* IDEMPIERE-4492 update jasper to 6.15.0 (IDEMPIERE-4504)

get rid of bundle "org.w3c.dom.events version 3.0.0" by use old version of org.w3c.dom.smil

note: on target platform a bundle has multi version then tycho can pickup correct version define on feature (tab included plugins, field version)
but on eclipse when sync launching from .product it don't respect that value, always set highest version to bundle
workaround: on target platform manual un-select bundle org.w3c.dom.smil 1.0.1

* IDEMPIERE-4492 update atmosphere to 2.6.4

* IDEMPIERE-4492 refine target platform

use targetplatform-dsl to generate target platform https://github.com/eclipse-cbi/targetplatform-dsl
   + don't need to care update bundle version when update repository
   + at moment org.idempiere.eclipse.platform-feature include some feature form eclipse repository
     so target has to include that feature so target platform will include all bundler request by feature and bundle request by plugins of that feature and so on (ever optional
     so it make target content has more plugins than what we use on project
     next step will convert include feature to include plugins to define only what we used

* IDEMPIERE-4492 refine target platform (continue)

don't include framework feature, use include plugins to void load transitive dependency so minimize target flatform
remove some unused feature from idempiere product

* IDEMPIERE-4492 update c3p0 and database jdbc (patch from Carlos)

* IDEMPIERE-4492 improve target platform (continue)

provide test bundle require to repository for use on offline
remove some unused bundle
also fix for IDEMPIERE-4475

* IDEMPIERE-4492 improve target platform (continue IDEMPIERE-4475)

add launch for unittest
add more require bundle for unit test

* IDEMPIERE-4492 fix for rest api

refer:https://github.com/eclipse-ee4j/jersey/issues/3588#issuecomment-720033467

* IDEMPIERE-4492 fix for rest api

refer:https://github.com/eclipse-ee4j/jersey/issues/3588#issuecomment-720033467
2020-11-01 13:22:11 +01:00
hengsin b4c93c76b3
IDEMPIERE-4516 InvoiceCustomerTest show NPE at console (#342)
* IDEMPIERE-4516 InvoiceCustomerTest show NPE at console

add NPE check

* IDEMPIERE-4516 InvoiceCustomerTest show NPE at console

- add way to defer the immediate posting of doc that's means to be
posted in the processing of docpostprocess of the source document.
- add severe log check to InvoiceCustomerTest
- DocumentEngine should skip Doc from DocPostProcess that have been
posted
2020-11-01 12:43:36 +01:00
hieplq d2a2e3d19f
Idempiere 4492 improve target platform (continue) (#335)
* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 update atmosphere to 2.5.15

* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 (update configuration)

update to default jetty configuration
delete unused configuration (alpn, http2,..)

* IDEMPIERE-4492 update orbit eclipse repository to 4.17

* IDEMPIERE-4492 update orbit eclipse repository to 4.17 (on parent pom)

* IDEMPIERE-4492 update jasper to 6.15.0

* IDEMPIERE-4492 update jasper to 6.15.0 (IDEMPIERE-4504)

get rid of bundle "org.w3c.dom.events version 3.0.0" by use old version of org.w3c.dom.smil

note: on target platform a bundle has multi version then tycho can pickup correct version define on feature (tab included plugins, field version)
but on eclipse when sync launching from .product it don't respect that value, always set highest version to bundle
workaround: on target platform manual un-select bundle org.w3c.dom.smil 1.0.1

* IDEMPIERE-4492 update atmosphere to 2.6.4

* IDEMPIERE-4492 refine target platform

use targetplatform-dsl to generate target platform https://github.com/eclipse-cbi/targetplatform-dsl
   + don't need to care update bundle version when update repository
   + at moment org.idempiere.eclipse.platform-feature include some feature form eclipse repository
     so target has to include that feature so target platform will include all bundler request by feature and bundle request by plugins of that feature and so on (ever optional
     so it make target content has more plugins than what we use on project
     next step will convert include feature to include plugins to define only what we used

* IDEMPIERE-4492 refine target platform (continue)

don't include framework feature, use include plugins to void load transitive dependency so minimize target flatform
remove some unused feature from idempiere product

* IDEMPIERE-4492 update c3p0 and database jdbc (patch from Carlos)

* IDEMPIERE-4492 improve target platform (continue)

provide test bundle require to repository for use on offline
remove some unused bundle
also fix for IDEMPIERE-4475

* IDEMPIERE-4492 improve target platform (continue IDEMPIERE-4475)

add launch for unittest
add more require bundle for unit test
2020-10-31 13:48:16 +01:00
hieplq 58258ad506
Idempiere-4492 update library (eclipse-4.17, jasper 6-15, jetty-9.4.33, atmosphere-2.6.4) (#331)
* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 update atmosphere to 2.5.15

* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 (update configuration)

update to default jetty configuration
delete unused configuration (alpn, http2,..)

* IDEMPIERE-4492 update orbit eclipse repository to 4.17

* IDEMPIERE-4492 update orbit eclipse repository to 4.17 (on parent pom)

* IDEMPIERE-4492 update jasper to 6.15.0

* IDEMPIERE-4492 update jasper to 6.15.0 (IDEMPIERE-4504)

get rid of bundle "org.w3c.dom.events version 3.0.0" by use old version of org.w3c.dom.smil

note: on target platform a bundle has multi version then tycho can pickup correct version define on feature (tab included plugins, field version)
but on eclipse when sync launching from .product it don't respect that value, always set highest version to bundle
workaround: on target platform manual un-select bundle org.w3c.dom.smil 1.0.1

* IDEMPIERE-4492 update atmosphere to 2.6.4

* IDEMPIERE-4492 refine target platform

use targetplatform-dsl to generate target platform https://github.com/eclipse-cbi/targetplatform-dsl
   + don't need to care update bundle version when update repository
   + at moment org.idempiere.eclipse.platform-feature include some feature form eclipse repository
     so target has to include that feature so target platform will include all bundler request by feature and bundle request by plugins of that feature and so on (ever optional
     so it make target content has more plugins than what we use on project
     next step will convert include feature to include plugins to define only what we used

* IDEMPIERE-4492 refine target platform (continue)

don't include framework feature, use include plugins to void load transitive dependency so minimize target flatform
remove some unused feature from idempiere product

* IDEMPIERE-4492 update c3p0 and database jdbc (patch from Carlos)
2020-10-31 06:53:36 +08:00
hengsin 9162b60af7
IDEMPIERE-4498 Performance: add cache for osgi services factory (#321)
* 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
2020-10-26 18:53:10 +01:00
hengsin 6e9a547049
IDEMPIERE-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency (#317)
- minor unit testing improvement
2020-10-26 18:24:57 +01:00
hengsin 57e4e3fceb
IDEMPIERE-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency (#316)
- Fix error in setting the currency for source amount
- Improve unit test to check source amount precision as well
2020-10-22 20:48:07 +08:00
Elaine Tan c4b39eac8c
IDEMPIERE-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency (#313)
* IDEMPIERE-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency

* IDEMPIERE-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency - Added MatchInvTest.testMatReceiptPostingWithDiffCurrencyPrecision test case
2020-10-22 15:40:42 +08:00
hengsin 4c1ba12a3f
IDEMPIERE-3212 Quantity MatchPO wrong validation (#269)
Fix auto matching for matchpo and matchinv
2020-09-21 20:00:31 +02:00
hengsin dd2ef468b0
IDEMPIERE 4287 (#247)
* 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.
2020-09-21 14:03:00 +08:00
Elaine Tan 79d6c1e903
IDEMPIERE-4263 Wrong matched invoice GL posting (currency balancing) in alternate schema for vendor credit memo if > 1 credit memo line (#250)
* IDEMPIERE-4263 Wrong matched invoice GL posting (currency balancing) in alternate schema for vendor credit memo if > 1 credit memo line
2020-09-18 20:58:14 +08:00
Carlos Ruiz 703ce7bda8
IDEMPIERE-4289 Implement Support for JUnit5 Unit Testing (#262)
Move the old Convert_PostgreSQLTest to the new structure
2020-09-18 12:17:40 +02:00
Elaine Tan 236729e3f5
IDEMPIERE-4173 Wrong GL postings for matched invoice in RMA/Vendor Re… (#239)
* IDEMPIERE-4173 Wrong GL postings for matched invoice in RMA/Vendor Return/Credit Memo

* IDEMPIERE-4173 Wrong GL postings for matched invoice in RMA/Vendor Return/Credit Memo - Added test case
2020-09-10 20:49:25 +08:00
hengsin 7324dde78e
IDEMPIERE-4187 implement the usage of workflows in processes (#236)
Implement chaining of workflow through the use of Process Action
Implement overwrite of Record_ID for Process through Node Parameter
2020-08-27 14:34:26 +02:00
hengsin 60f4ea4215
IDEMPIERE-4406 Performance: PO Cache should not always reset all entr… (#212)
* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record

PO update - reset cache by record id

* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record

refine unit test

* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record

add cache reset fix for delete

* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record

Fix exception when cache is empty
Expose hidden cache reset exception
2020-08-11 14:55:03 +02:00
hengsin c17f1ae733
IDEMPIERE-4389 (#206)
* IDEMPIERE-4389 Implement Copy Constructor support for PO

Implement PO support for copy constructor

* IDEMPIERE-4389 Implement Copy Constructor support for PO

deprecate clone
replace clone with copy constructor

* IDEMPIERE-4389 Implement Copy Constructor support for PO

add unit test for MPrintFormat copy constructor

* IDEMPIERE-4389 Implement Copy Constructor support for PO

fix wrong import
2020-08-05 21:03:40 +02:00
hengsin f010b10446
IDEMPIERE-4393 Replace Oracle outer join synax (+) with SQL standard outer join (#199)
add native postgresql unit test for GenericPaymentExport
remove unnecessary static and fix sql exception doesn't stop the export
replace Oracle (+) with standard sql outer joint
2020-08-03 12:04:53 +02:00
hengsin 40efcea51e
IDEMPIERE-4381 Order Line QtyReserved not updated correctly for negative shipment (#180)
Fix update of QtyReserved
2020-07-26 10:48:55 +02:00
Carlos Ruiz e057072bc7
IDEMPIERE-829 Implement MInvoice.getOpenAmt with paymentDate (#135) 2020-06-30 12:45:14 +02:00
Carlos Ruiz f19ac52dd5
Revert "IDEMPIERE-4319 Cascade workflow activities (#110)" (#124)
This reverts commit fb67a8f375.
2020-06-17 19:35:23 +02:00
Carlos Ruiz fb67a8f375
IDEMPIERE-4319 Cascade workflow activities (#110)
Test case is different now because raising the exception, the order is not Invalid, but Draft
Jenkins test job failing:
https://jenkins.idempiere.org/job/iDempiereDaily/239/org.idempiere$org.idempiere.test/testReport/org.idempiere.test.model/SalesOrderTest/testDatePromisedValidation/
2020-06-13 12:58:34 +08:00
hieplq 9a35f2054d
IDEMPIERE-4314:eclipse project setting independent JDK (#90) 2020-06-01 11:30:00 +08:00
hieplq 595e0df99c
Idempiere-4298:support update jdk (jdk 12 13 14) (#69)
* 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)
2020-05-20 11:18:31 +08:00
hengsin ad756782e7
IDEMPIERE-2699 Performance: Constant visits to database for MTable not cached (#63)
add unit testing
2020-05-19 10:05:56 +02:00
hengsin 77bf87f88a
IDEMPIERE-235 Generate Shipments is generating partial for complete orders (#64)
Add unit testing for DatePromised validation
2020-05-15 16:46:26 +02:00
hengsin 4487904bde
IDEMPIERE-4292 QueryTest.testOnlySelection fail on fresh db (#62)
Fix test failure on fresh db.
2020-05-15 10:19:07 +02:00
hengsin ce107f3678
IDEMPIERE-2698 Performance: Report checking for zoom condition on dat… (#59)
* IDEMPIERE-2698 Performance: Report checking for zoom condition on database - must be cached

Add unit testing

* IDEMPIERE-2699 Performance: Constant visits to database for MTable not cached

Should usually access from tenant instead system client.
2020-05-14 15:41:39 +02:00
hengsin 4c03fef8a8
IDEMPIERE-4289 Implement Support for JUnit5 Unit Testing (#53)
Add JUnit5 unit testing project org.idempiere.test
Add tycho sure fire test (skip by default)
2020-05-12 17:17:36 +02:00