Checkout Tools
  • last updated 6 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1863442 is being indexed.

Improved: Remove ‘UtilMisc#toList’


Improved: Refactor ‘Makeparamlistwithsuffix’


Implemented: Add unit tests for ‘UtilHttp#makeParamListWithSuffix’


Adapt implementation to facilitate mocking.

Improved: Refactor ‘UtilHttp#makeParamValueFromComposite’


Use ‘LocalDateTime’ instead of ‘Calendar’ and

‘HttpServletRequest#getParameterMap’ instead of


The tests and callers has been adapted to remove the ‘locale’ arguments which

made sense only for ‘Calendar’.

Implemented: Add unit tests for ‘UtilHttp#makeParamValueFromComposite’


The implementation has been adapted to facilitate mocking.

Improved: Use ‘HttpServletRequest#getParameterMap’ when possible

It is better to avoid using obsolete ‘Enumeration’ class when possible

so the calls to ‘HttpServletRequest#getParameterNames’ has been

replaced by ‘HttpServletRequest#getParameterMap’.

Improved: Remove useless ‘UtilHttp#parametersToAttributes’


This method was so trivial that it doesn't make sense to provide it.

Improved: Remove unused ‘UtilHttp#checkURLforSpiders’


It was not used anywhere in the framework or the official plugins.

Improved: Use a predicate in ‘UtilHttp#getParameterMap’


Improved: Use a predicate in ‘UtilHttp#getPathInfoOnlyParameterMap’


Improved: Refactor ‘UtilHttp#getParameterMap’


Implemented: Add unit tests for ‘UtilHttp#getParameterMap’


Adapt slightly the implementation to make mocking easier.

Improved: Remove unused ‘UtilHttp#getParameterMap’ overload


Improved: Refactor ‘UtilHttp#getPathInfoOnlyParameterMap’


Implemented: Add unit tests for ‘UtilHttp#getPathInfoOnlyParameterMap’


Improved: Inline one ‘UtilHttp#getPathInfoOnlyParameterMap’ overload


‘getPathInfoOnlyParameterMap(HttpServletRequest, Set, Boolean)’ was

used only once and was not adding much to

‘getPathInfoOnlyParameterMap(String, Set, Boolean)’.

Improved: Do not use ‘UtilMisc#toList’


Improved: Upgrade Hamcrest library to version 2.1


Improved: Remove unnecessary dependency on ‘junit-dep’ artifact


Prior to Junit 4.11, Junit was distributed in two forms ‘junit’ and

‘junit-dep’ where the first was embedding the hamcrest matchers the

second was defining a dependency to it which is more desirable in the

context of package managers like Maven or Gradle. Starting with Junit

4.11 only the second form is distributed which makes ‘junit-dep’


Improved: Move ‘AdminServer’ inside a container


‘AdminServer’ provides a portable way to manage life-cycle of the OFBiz

process remotely by allowing administrator to check its running status

or shutting it down.

Previously the ‘AdminServer’ class was a special thread opening a

socket and launched at startup. However since this class is about

managing some run-time resources with a life-cycle, it matches perfectly

the container abstraction.

A benefit of making ‘AdminServer’ a container is that the startup

process is now simpler and more uniform.

Administrators can now prevent remote shutdown of OFBiz for security

reasons by removing the container declaration. Additionally They can

delegate the process management job to the init process (PID 0) of the

hosting system like Systemd [1] by replacing this container with

another one.

[1] https://www.freedesktop.org/software/systemd/man/systemd-notify.html

Improved: Pass directly the loaders to ‘loadContainersFromConfigurations’


Since only the loaders are used from the configuration, it is better

to pass those directly as a parameter to the

‘loadContainersFromConfigurations’ method instead of the full

configuration object.

Improved: Access configurations inside ‘loadContainersFromConfigurations’


This avoids passing an extra argument to


Improved: Inline ‘filterContainersHavingMatchingLoaders’


The filtering of matching loaders is now done directly inside the

‘loadContainersFromConfigurations’ method.

Improved: Deprecate ‘ContainerConfig#getConfiguration(String, String)’


Since there is no global container configuration file anymore this

method should not be used. It has been superseded by an overload

which do not require to pass the file name of the configuration file.

Improved: Remove support for “ofbiz-containers.xml”


To extend the containers loaded on startup, it was possible too both

edit the “ofbiz-containers.xml” file or alternatively to define a

container in a component.

This redundancy adds extra complexity in the startup process for no

good extensibility reason. The component container loader is more

flexible since it allows developper to add new containers without

touching the framework so it is better to only rely on this option.

The component loader is now hard-coded directly in code.

Removes the Gradle Wrapper files copies in tools\Buildbot\Gradle\Wrapper

The Gradle Wrapper files will stay in branches and trunk, so not point getting

them during builds. As we know all we be handled during RM.

No functional change, updates README.html on wiki
Reverted: Resolve build.gradle warnings


As discussed OFBIZ-11133, reverts r1862326.

Actually only puts back the wrapper files in gradle/wrapper directory

I used

gradlew wrapper --gradle-version=5.0 --distribution-type=bin

to regenerate the version.

Only gradle-wrapper.properties was correctly regenerated, gradle-wrapper.jar was

still the 5.5 version (weird but true).

So I copied gradle-wrapper.jar 5.0 version from


There were no changes in gradlew scripts

Reverted: Remove the Gradle wrapper from our release packages and add a step to

our build notes


As discussed in dev ML and OFBIZ-11133, reverts all commits done for OFBIZ-10145:

r1862356, r1862354, r1862353, r1861783, r1861766

But keeps in README.doc the added line in r1861766:

==== Clean system and load the complete OFBiz data

I'm uncertain about what will happen with the gradle/wrapper directory and the

wrapper version there (currently 5.5 and in between these commits).

But anyway not a big deal to get it back

Improved: Avoid confusing indirections in ‘StartupControlPanel#start’


The ‘StartupControlPanel#start’ method is delegating its job to

smaller private methods to improve readability. However the

conditionnals were previously hidden inside those methods with the

unfortunate consequence of making case analysis hard.

To avoid this undesirable effect, the conditionals has been moved

inside the ‘StartupControlPanel#start’ method and some delegate

methods has been inlined when their implementation was trivial. The

parameters of the remaining delegate methods has be refined to avoid

passing around unneeded things.