* IDEMPIERE-5093 Scheduler cron pattern scheduling is always using server time zone
* minor fix for oracle/202203240830_IDEMPIERE-5093.sql
* IDEMPIERE-5093 cheduler cron pattern scheduling is always using server time zone
- add time zone comment for cronpattern field
- use fix format for elapsed time (day'hour:minutes:seconds.millisecond)
- use time zone formatting at server monitor
- include etc/gmt* timezone id. fix handling of invalid user input
- fix wrong editor (date) use for timestamp with time zone field
* IDEMPIERE-5093 cheduler cron pattern scheduling is always using server time zone
- Fix MSchedule.getNextRunMS call.
* IDEMPIERE-5093 Scheduler cron pattern scheduling is always using server time zone
- add T_Timestamp to Test table and window.
- fix date time editor doesn't capture seconds for timestamp with time
zone.
- date time editor: use tenant time zone (if set), fallback to browser
time zone.
- date time editor: fix processing of timestamp with time zone value.
- time zone editor: drop the confusing etc/gmt* entries and support
entry of GMT(+/-)hh:mm custom zone id.
* IDEMPIERE-5093 Scheduler cron pattern scheduling is always using server time zone
Fix NPE
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-5056 Order and Invoice: Tax lookup interface
* IDEMPIERE-5056 Order and Invoice: Tax lookup interface
- add default value for MSysConfig.getValue call.
* IDEMPIERE-5198 Print Format Cache do not reload Print Format Items
* IDEMPIERE-5198 Print Format Cache do not reload Print Format Items / add reset(int id) for the cache
* IDEMPIERE-5198 Print Format Cache do not reload Print Format Items / change cache key from String to StringBuilder
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-5184 Cost Adjustment sets incorrect cost for other schema when currency blank on header
- also add check to unit test
* IDEMPIERE-5184 Cost Adjustment sets incorrect cost for other schema
- add currency id check to minventory before save
* IDEMPIERE-5173 fix Accounting fact quantity incorrect
- also add unit tests
* IDEMPIERE-5173 remove c_uom_id check
* IDEMPIERE-5173 Use MMatchInv.isReversal() in preference to MMatch.getReversal_ID() > 0
* IDEMPIERE-5173 Update isReversal() method
- add new test for is Reversal() when reversing a credit memo
- Add MatchInv test using standard costing and check Invoice Price Variance
- General improvements using assertEquals where appropriate and
comparing actual values rather than just >0
- minor fixes to MProduct test
* IDEMPIERE-5155 Inventory Document: Auto picking of storage record should ignore record with Serial
* IDEMPIERE-5155 Inventory Document: Auto picking of storage record should ignore record with Serial
add unit test
Regression for problem solved at IDEMPIERE-4465 Native Postgres - Error on Convert Layer
Revert the changes on Convert_PostgreSQL and Convert_PostgreSQLTest
Fix the Convert_PostgreSQLTest to allow testing native and non-native cases
- set mulch product category to Standard Costing category, so that the standard cost of the component is compared to the standard cost of the parent, mulchx.
* IDEMPIERE-5126 Virtual column lazy loading
Virtual columns are now loaded only whenever their respective getters are invoked. This functionality works irrespective of the PO constructor used.
Query class now uses lazy loading by default as well.
* IDEMPIERE-5126 Virtual column lazy loading
Have the model generator ignore virtual columns with the @SQL prefix, as
their generated getters would always return null.
* IDEMPIERE-5126 Virtual column lazy loading
Added quoting to virtual column names
* IDEMPIERE-5126 Virtual column lazy loading
Reload virtual columns if the record was reloaded.
* IDEMPIERE-5126 Virtual column lazy loading
Fixed class cast exception in unit test.
* IDEMPIERE-5126 Virtual column lazy loading
Support for loading selected virtual columns along with regular table
columns, skipping lazy loading.
* IDEMPIERE-5126 Virtual column lazy loading
Fine-grained virtual column loading support for Query.
* IDEMPIERE-5126 Virtual column lazy loading
Support for loading selected virtual columns along with regular table
columns, skipping lazy loading.
* IDEMPIERE-5126 Virtual column lazy loading
Improved support for the constructor PO.PO(Properties, int, String,
String...).
* IDEMPIERE-5126 Virtual column lazy loading
Refactoring. Reduced size of messages sent and received from database
engine when lazy loading virtual columns. Other minor changes.
* IDEMPIERE-5126 Virtual column lazy loading
Added testing assertions.
* IDEMPIERE-5126 Virtual column lazy loading
Silenced Eclipse warnings.
* iIDEMPIERE-4214 Javadoc: correct warnings on newest java version / fix problem to generate javadoc again
* IDEMPIERE-4214 Javadoc: correct warnings on newest java version / Fix javadoc warnings
* IDEMPIERE-4836 Adding Access tab on Document Status (Activity) / fix unit test
* IDEMPIERE-4836 Adding Access tab on Document Status (Activity) / fix condition for access (must be AND instead of OR for role and user)
* IDEMPIERE-4186 allow workflow to be suspended until after commit of actual transaction / fix Split Join = AND
* Add unit test for Split AND
* Fix test case - commit and cleanup the changes to workflow
* IDEMPIERE-5065 Material Receipt Line not available for matching after reversal of Match PO
* IDEMPIERE-5065 Material Receipt Line not available for matching after reversal of Match PO
Fix unit test
* IDEMPIERE-5065 Material Receipt Line not available for matching after reversal of Match PO
Remove unreliable and potentially dangerous match po consolidation
* IDEMPIERE-2172 Attribute set with mandatory type = When Shipping not working
Fix reversal and add more unit test
* IDEMPIERE-2172 Attribute set with mandatory type = When Shipping not working
Use constant for movement type checking
* IDEMPIERE-2172 Attribute set with mandatory type = When Shipping not working
* IDEMPIERE-2172 Attribute set with mandatory type = When Shipping not working
- added MTransaction
- added reversal handling
* IDEMPIERE-5039 Negative Lost Sales Quantity
* IDEMPIERE-5039 Negative Lost Sales Quantity
* IDEMPIERE-5039 Negative Lost Sales Quantity
add unit test
* IDEMPIERE-5031 Implement auto produce upon shipment for mfg light
* IDEMPIERE-5031 Implement auto produce upon shipment for mfg light
Fix clean up of unit test
* 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>
* 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>
Fix regression (empty expression evaluation) introduce by previous
patch.
Pushing this through as the previous change set introduce a significant regression.
* 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
* 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
* 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.
* 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
* 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-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
* 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.
* 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>
* 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>
* 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-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
* 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
* 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)
* 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
* 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
* 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
* 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
* 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 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-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-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
* 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-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
* 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
* 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
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
* 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)
* 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.