Workflow transition performance refactoring. See Workflow Transition Performance.
New properties related to import behavior config
As of Broadleaf Release Train 2.0.0-GA, all common libraries have been upgraded to Spring Boot 3.
This version includes all changes up to 1.7.4-GA
Clear the context currency by default after processing a batch.
Compliments change in MoneyCommon to support to set the default currency of a ThreadLocale
object.
Ensured that the system currency context is initialized at the beginning of imports so that priceable entities are deserialized correctly.
Introduced new ImportBatchHandler#initializeContextForBatch
method that is called before #handle
by the BatchListener
that can be used to initialize the import’s context in general.
The default implementation of this is provided by AbstractImportBatchHandler
, which sets the currency context to match either the Application’s or Catalog’s default currency as applicable.
It also sets up a base ContextInfo
to be reused for persistent operations.
This can be overridden for specific batch handlers that have different sources of truth for currency.
Fixed ChangeContainer not using highest-level parent entity mapping when imports include child entities like Variants or Entity Assets.
This change was to ContextUtil#overrideChangeContainerForChildOfEntity
specifically.
Update AbstractImportBatchHandler
to introduce a new overloaded variant of the persist()
method that further breaks down persistence requests into smaller batches of the specified size.
Useful for situations where a large list of persistence requests may be submitted at once and need to be broken down.
Update AbstractImportBatchHandler
to introduce a new failRecordAndDependentsEarly()
method allowing subclasses to mark a record and its dependents as failed.
Introduce a new ContextUtil
utility class with a overrideChangeContainerForChildOfEntity()
method to allow dependent entities to override their change container to match a parent.
Update ConversionResponse
class to have an operationType
field, which should allow converters to determine operation type and return it to the caller
Update IdResolver
and DefaultUlidIdGenerator
to have a new nextId()
method that simply generates a new value
Update RowUtils
to define new constants useful for complex column value structures, and also to define new methods for processing input row maps