Gil Portenseigne

Improved: Refactor UelFunctions.java to remove error management via Exception

(OFBIZ-11213)

This refactoring was initiated since using UelFunction::getSize throws

ClassCastException and log a consequent unneeded stack trace to test

Object class type. The log is unnecessary, because it is the result of

each supported class cast trial.

This issue show up that lot of possible NPE were not checked against,

but catched by 'Exception'.

Fix parenthesis syntax error in groovy

(OFBIZ-11186)

Thanks Samuel Trégouët for your contribution

Fix parenthesis syntax error in groovy

(OFBIZ-11186)

Thanks Samuel Trégouët for your contribution

Fix parenthesis syntax error in groovy

(OFBIZ-11186)

Thanks Samuel Trégouët for your contribution

Improved: Get correct information history for Company Header in pdf document

(OFBIZ-11177)

CompanyHeader.groovy now use the rendered document date

as a reference to retrieve company data.

Thanks Carl Demus for your contribution

Fixed: User depersonation do not clean out impersonated user session.

(OFBIZ-10942)

Thank you Leila Mekika for reporting and providing the patch.

Fixed: User depersonation do not clean out impersonated user session.

(OFBIZ-10942)

Thank you Leila Mekika for reporting and providing the patch.

Fixed: Switch ftpNotificationEnabled test condition to respect configuration meaning

(OFBIZ-10245)

Fixed: Switch ftpNotificationEnabled test condition to respect configuration meaning

(OFBIZ-10245)

Improved: Remove unneeded code in ‘entity’ component

(OFBIZ-10777)

Thanks Mathieu Lirzin for your contribution

Improved: Refactoring ‘EntityCondition’ - Rewrite EntityConditionListBase class

(OFBIZ-10691)

Unecessary ‘this’ has been removed and the javadoc has been

expanded. The visibility of the class has been reduced to package

only. The ‘conditionList’ field has been renamed to ‘conditions’ and

the subclasses has been adapted.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Rewrite EntityExpr class

(OFBIZ-10691)

Remove useless ‘this’ and useless imports. An ‘isNullField’ private

method has been addded to factorize the check of null field.

Additionally the 120 characters per line limit has been enforced.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Rewrite EntityDateFilterCondition class

(OFBIZ-10691)

The ‘makeCondition’ methods has been simplified and the javadoc has·

been expanded.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Rewrite EntityWhereString class

(OFBIZ-10691)

The ‘equals’ method has been simplified and the javadoc has been

expanded.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Rewrite EntityFieldMap class

(OFBIZ-10691)

Useless explicit type parameters, and ‘this’ has been removed. The·

javadoc has been expanded.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Rewrite EntityConditionList class

(OFBIZ-10691)

This class is now final. The ‘getConditionListSize’ and

‘getConditionIterator’ methods has been inlined instead of overidding

them from ‘EntityConditionListBase’. The Javadoc has been expanded.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Rename EntityConditionFunction class to EntityNotCondition

(OFBIZ-10691)

‘EntityConditionFunction’ was representing an expression containing a

unary prefix condition operator or in other words a one argument

predicate. Actually, there exists only one meaningful implementation

for this kind of operators in the SQL language which is the NOT·

predicate. Having a ‘EntityNotCondition’ class allows us to have

simpler semantics while achieving the same completeness in term of SQL·

support.

The ‘EntityConditionVisitor’ and its documentation has been adapted to

the new class hierarchy.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Turn EntityCondition into an interface

(OFBIZ-10691)

This is done in the spirit of favouring abstraction over

implementation. To achieve that the following change has been made:

* The useless ‘EntityCondition#eval’ methods has been removed

* The ‘PriceServices#calculatePurchasePrice’ method has been fixed to

refer to ‘EntityCondition#makeCondition’ instead of

‘EntityExpr#makeCondition’.

Additionally, the genericity of the ‘makeCondition’ methods has been

improved to allow having a hierarchy of class between the

‘EntityCondition’ type and the subtypes.

Exceptionally a ‘serialVersionUID’ has been used instead of

suppressing the 'serial' warning for the ‘EntityCondition’ interface

to satisfy both Eclipse and OpenJDK linting features which disagree on

the validity of using the ‘@SuppressWarnings’ annotation in the case

of interfaces extending ‘Serializable’.

Thanks Mathieu for the contribution

Improved: Refactoring ‘EntityCondition’ - Remove EntityConditionBase class

(OFBIZ-10691)

This is removing an abuse of inheritance for code reuse which was·

breaking Liskov substitution principle. This has been achieved with

the following changes:

* The ‘Serializable’ interface which was implemented by

‘EntityConditionBase’ is now implemented directly by the·

‘EntityCondition’, ‘EntityConditionValue’, and ‘EntityOperator’

classes.

* ‘emptyList’ and ‘_emptyMap’ useless static members has been removed

and ‘emptyAliases’ has been move down to the ‘EntityConditionValue’

subclass.

* The ‘castBoolean’ method has been removed due to the automatic

boxing/unboxing of boolean and Boolean values which make it useless.

* ‘equals’ and ‘hashCode’ pseudo abstract methods (meaning methods

throwing an unsupported operation exception) has been moved down to

the ‘EntityCondition’ and ‘EntityConditionValue’ sub classes.

‘Objects#equals’ and ‘Objects#hashCode’ standard methods has been

used in the EntityCondition class hierarchy instead.

* The ‘getColName’ methods has been moved down to the·

‘EntityConditionValue’ class which is the unique class using those

methods.

* The remaining static methods ‘getField’ and ‘addValue’ has been

moved to a new ‘EntityConditionUtils’ class. The unused override of

‘addValue’ has been removed which allowed us to make this method

static.

Thanks Mathieu for the contribution

Improved: Extract verification of certificates in ‘RequestHandler’

(OFBIZ-10450)

No functional change. Reducte the size of RequestHandler::doRequest method.

Add somes unit tests.

Thanks Mathieu

Fixed: Demo Data based on the proposed design to support replenishment planning through any inter-company facility. (OFBIZ-7357)

Fix double fk-name in ProductFacility entity relations, leading to a double index error.

Improve overall formatting of the entity declaration

Improved: Improve entityConditionVisitor basic test

(OFBIZ-10593)

Use print instead of println to avoid newline failure on windows, thanks Jacques for the feedback.

Improved: Rewrite EntityConditionVisitor interface to respect visitor Pattern

(OFBIZ-10593)

Remove visit methods from current EntityConditionBase type hierarchy.

Add or rewrite accept method in EntityCondition type hierachy.

Add documentation in EntityConditionVisitor, introducing implementation examples.

Add junit test validating documented examples.

Thanks to Mathieu Lirzin for your contribution, and Jacques for the review.

  1. … 3 more files in changeset.
Fixed : Impersonation of userLogin feature

(OFBIZ-10515)

Fix default value of impersonation feature to true (unchanged after last test before commit...)

Implemented : Impersonation of userLogin feature

(OFBIZ-10515)

Introduce a new feature that allow the impersonation of a login by an authorized user.

Add the documentation with all the details in security-impersonation.adoc.

Big thanks to Leila, Nicolas and Jacques for your contribution to this implementation.

Big thanks to Mathieu, Jacques, Pierre and Taher for your remarks and reviews that

improved this contribution quality.

  1. … 20 more files in changeset.
Implemented : Deprecate shoppingCart.makeItemShipGroupAndAssoc with newShipGroup boolean parameter

(OFBIZ-10576)

Deprecates ShoppingCart.makeItemShipGroupAndAssoc with newShipGroup boolean parameter, since this parameters is not used.

Impact method usage

Improved : Update missing entries in GDSL descriptors and cleanup findOne to use EntityQuery instead.

(OFBIZ-10566)

Deprecation of findOne DSL method in favor of entityQuery from DSL method

Implemented: Refactor EntityUtil findBy methods using Stream API

(OFBIZ-10537)

Fixed variable name to make it more meaningful

Implemented: Refactor EntityUtil findBy methods using Stream API

(OFBIZ-10537)

Thanks Jacques and Mathieu for the review

Fixed: Use of layered-modal with parameter does not work

(OFBIZ-10511)

Thanks Deepak and Aditya for the review and providing a better patch