Fixed a bug that occurred when importing a product update with no changes, the product didn’t show up in the list grid.
Updated AbstractImportBatchHandler to replace usages of the deprecated property userSandboxPersistenceNotificationEnabled with the new property persistenceNotificationEnabled.
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