Class JpaProductCharacteristicDisabledPropagationHandler
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.transition.PropagationAware,com.broadleafcommerce.data.tracking.core.transition.PropagationHandler,org.springframework.core.Ordered
Implementation of PropagationHandler that is used to disable propagation of
JpaProductCharacteristic. Please see the Javadocs of JpaProductCharacteristic for
more details.
- Since:
- Catalog Services 2.3.0, Release Train 2.3.0
- See Also:
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanHandle(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, com.broadleafcommerce.data.tracking.core.Trackable candidate, com.broadleafcommerce.data.tracking.core.type.OperationType changeType) intgetOrder()We want to disable the standard catalog propagation of characteristics.com.broadleafcommerce.data.tracking.core.TrackablehandleCreate(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository) com.broadleafcommerce.data.tracking.core.TrackablehandleDelete(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, com.broadleafcommerce.data.tracking.core.Trackable candidate, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository) com.broadleafcommerce.data.tracking.core.TrackablehandleUpdate(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, com.broadleafcommerce.data.tracking.core.Trackable candidate, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository)
-
Constructor Details
-
JpaProductCharacteristicDisabledPropagationHandler
public JpaProductCharacteristicDisabledPropagationHandler()
-
-
Method Details
-
getOrder
public int getOrder()We want to disable the standard catalog propagation of characteristics. However, in projects that have marketplace sandbox propagation enabled, we don't want to preclude that specialized sandbox propagation behavior.
Thus, we order this propagation handler with a higher priority than
DefaultPropagationHandler, but lower thanVendorSandboxPropagationHandler. That way, ifVendorSandboxPropagationHandlercan handle a request to propagate characteristic changes from a vendor catalog to a marketplace, it will do so. However, ifVendorSandboxPropagationHandlercan't handle the request (meaning it's not a case of a vendor -> marketplace propagation), then we will intercept beforeDefaultPropagationHandlercan pick up the request, and simply execute as a no-op.- Specified by:
getOrderin interfaceorg.springframework.core.Ordered- Specified by:
getOrderin interfacecom.broadleafcommerce.data.tracking.core.transition.PropagationHandler- Returns:
- the relative ordering of this handler to define its priority
-
canHandle
public boolean canHandle(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, @Nullable com.broadleafcommerce.data.tracking.core.Trackable candidate, com.broadleafcommerce.data.tracking.core.type.OperationType changeType) - Specified by:
canHandlein interfacecom.broadleafcommerce.data.tracking.core.transition.PropagationHandler
-
handleDelete
public com.broadleafcommerce.data.tracking.core.Trackable handleDelete(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, @Nullable com.broadleafcommerce.data.tracking.core.Trackable candidate, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository) - Specified by:
handleDeletein interfacecom.broadleafcommerce.data.tracking.core.transition.PropagationAware
-
handleCreate
public com.broadleafcommerce.data.tracking.core.Trackable handleCreate(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository) - Specified by:
handleCreatein interfacecom.broadleafcommerce.data.tracking.core.transition.PropagationAware
-
handleUpdate
public com.broadleafcommerce.data.tracking.core.Trackable handleUpdate(com.broadleafcommerce.data.tracking.core.Trackable incoming, String incomingCatalog, String parentCatalog, String propagationId, @Nullable com.broadleafcommerce.data.tracking.core.Trackable candidate, com.broadleafcommerce.data.tracking.core.TrackableRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository) - Specified by:
handleUpdatein interfacecom.broadleafcommerce.data.tracking.core.transition.PropagationAware
-