Class DefaultTransitionRequestManager
- All Implemented Interfaces:
TransitionRequestManager
- Author:
- Jeff Fischer
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The default level that promotions happen in. -
Constructor Summary
ConstructorsConstructorDescriptionDefaultTransitionRequestManager
(ChangeSummaryService<ChangeSummary> summaryService, ChangeSummaryGroupService<ChangeSummaryGroup> groupService, com.broadleafcommerce.common.messaging.repository.ResourceLockRepository<?, ?> resourceLockRepository, com.broadleafcommerce.common.messaging.notification.NotificationManager notificationManager, ChangeSummaryRepository<?> changeSummaryRepository, com.broadleafcommerce.common.messaging.notification.MessageSerializationHelper helper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, DeploymentRequestHandler deploymentRequestHandler, com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManager validator, BatchTransitionService batchTransitionService) -
Method Summary
Modifier and TypeMethodDescriptionvoid
approve
(ChangeSummaryGroups groups, String sandbox) Moves theChangeSummaryGroup
instances identified by the approveGroups param into theChangeState.APPROVED
state.void
approve
(ChangeSummaryGroups groups, String sandbox, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Moves theChangeSummaryGroup
instances identified by the approveGroups param into theChangeState.APPROVED
state.void
clearDeployment
(String changeDeployId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Accepts an ID for aChangeDeploy
that previously failed and starts the process of clearing the error state of the deployment.void
deploy
(ChangeSummaryGroups groups, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox, int level) Moves theChangeSummaryGroup
instances identified by the scheduleGroups param into theChangeStatusType.DEPLOYING
status.findExistingChangeGroup
(List<ChangeSummary> changeSummaries) Retrieve the common ChangeSummaryGroup for a list of summariesfindExistingChangeGroup
(List<ChangeSummary> changeSummaries, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieve the common ChangeSummaryGroup for a list of summariesprotected boolean
Whether or not vendor processing is enabled.void
promote
(PromoteSummaries summaries, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String sandbox) Moves theChangeSummaries
identified by thePromoteSummaries.getChangeSummaries()
into thePROMOTING status
and notifies all interested microservices managing matchingTrackable entities
that they should perform a promotion for each of said entities.void
promoteDeploy
(PromoteSummaries summaries, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String sandbox) Moves theChangeSummaries
identified by thePromoteSummaries.getChangeSummaries()
into theDeploying status
and notifies all interested microservices managing matchingTrackable entities
that they should perform a deployment for each of said entities.void
rebase
(ChangeSummaries summaries, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox) Moves theChangeSummaries
identified by theChangeSummaries.getChangeSummaryIds()
into theREBASING status
and notifies all interested microservices that manage matchingTrackable entities
that they should perform a rebase for each of the said entities.void
reject
(ChangeSummaryGroups groups, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
it targets those with theChangeState
of PROMOTEDvoid
rejectApproved
(ChangeSummaryGroups groups, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
it targets those with theChangeState
of APPROVEDprotected void
rejectInternal
(ChangeSummaryGroups groups, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox, String whereState, List<String> whereStatuses) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
with a state matchingwhereState
and a status matching one ofwhereStatuses
.void
rejectPromoted
(ChangeSummaryGroups groups, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
it targets those with theChangeState
of PROMOTEDremove
(ChangeSummaryRemovalRequest request) Remove theChangeSummaries
of the provided ids from theirChangeSummaryGroup
and add them to a new one.remove
(ChangeSummaryRemovalRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Remove theChangeSummaries
of the provided ids from theirChangeSummaryGroup
and add them to a new one.protected void
IfvendorProcessingEnabled
, then updates the datastore such that the temporary placeholder frominitializeVendorFields(ChangeSummaryGroup)
is removed from the givengroupId
.void
revert
(ChangeSummaries summaries, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox) Moves theChangeSummaries
identified by theChangeSummaries.getChangeSummaryIds()
into theREVERTING status
and notifies all interested microservices that manage matchingTrackable entities
that they should perform a reversion for each of the said entities.void
scheduleDeployment
(ChangeSummaryGroups scheduleGroups, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String sandbox, Instant deployTime, int level) Moves theChangeSummaryGroup
instances identified by the scheduleGroups param into theChangeStatusType.SCHEDULING
status.void
setVendorProcessingEnabled
(boolean vendorProcessingEnabled) Whether or not vendor processing is enabled.void
unscheduleDeployment
(String changeDeployId) Accepts an ID for aChangeDeploy
that was previously scheduled and starts the process of unscheduling the deployment.void
unscheduleDeployment
(String changeDeployId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Accepts an ID for aChangeDeploy
that was previously scheduled and starts the process of unscheduling the deployment.
-
Field Details
-
PROMOTION_TRACKING_LEVEL
public static final int PROMOTION_TRACKING_LEVELThe default level that promotions happen in. Intentionally not maintained inTrackingLevel
to promote the eventual idea of flexible workflow steps in tracking- See Also:
-
-
Constructor Details
-
DefaultTransitionRequestManager
public DefaultTransitionRequestManager(ChangeSummaryService<ChangeSummary> summaryService, ChangeSummaryGroupService<ChangeSummaryGroup> groupService, com.broadleafcommerce.common.messaging.repository.ResourceLockRepository<?, ?> resourceLockRepository, com.broadleafcommerce.common.messaging.notification.NotificationManager notificationManager, ChangeSummaryRepository<?> changeSummaryRepository, com.broadleafcommerce.common.messaging.notification.MessageSerializationHelper helper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, DeploymentRequestHandler deploymentRequestHandler, com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidatorManager validator, BatchTransitionService batchTransitionService)
-
-
Method Details
-
approve
Description copied from interface:TransitionRequestManager
Moves theChangeSummaryGroup
instances identified by the approveGroups param into theChangeState.APPROVED
state. Also, moves anyChangeSummary
instances identified byChangeSummaryGroup.getChangeSummaryIds()
into theChangeState.APPROVED
state as well.This transition should be performed in a multi-user safe way so that multiple requests for transitions on the same ChangeSummaryGroup instances cannot happen concurrently.
A QualifiedStateException can be thrown for any id values determined to be in an incorrect state from that expected to perform a transition operation. For example, if a
ChangeSummaryGroup
was in an APPROVED state, but a reject was requested on it, this exception would be thrown because the expected state for a reject is PROMOTED.- Specified by:
approve
in interfaceTransitionRequestManager
- Parameters:
groups
- Construct that identifies one or moreChangeSummaryGroup
instancessandbox
- the sandbox to filter the search on
-
approve
public void approve(@NonNull ChangeSummaryGroups groups, @NonNull String sandbox, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:TransitionRequestManager
Moves theChangeSummaryGroup
instances identified by the approveGroups param into theChangeState.APPROVED
state. Also, moves anyChangeSummary
instances identified byChangeSummaryGroup.getChangeSummaryIds()
into theChangeState.APPROVED
state as well.This transition should be performed in a multi-user safe way so that multiple requests for transitions on the same ChangeSummaryGroup instances cannot happen concurrently.
A QualifiedStateException can be thrown for any id values determined to be in an incorrect state from that expected to perform a transition operation. For example, if a
ChangeSummaryGroup
was in an APPROVED state, but a reject was requested on it, this exception would be thrown because the expected state for a reject is PROMOTED.- Specified by:
approve
in interfaceTransitionRequestManager
- Parameters:
groups
- Construct that identifies one or moreChangeSummaryGroup
instancessandbox
- the sandbox to filter the search oncontextInfo
- context information surrounding sandboxing and multitenant state
-
promote
public void promote(@NonNull PromoteSummaries summaries, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @NonNull String sandbox) Description copied from interface:TransitionRequestManager
Moves theChangeSummaries
identified by thePromoteSummaries.getChangeSummaries()
into thePROMOTING status
and notifies all interested microservices managing matchingTrackable entities
that they should perform a promotion for each of said entities. This notification is performed via aWorkflowPromoteRequest
.When
ChangeSummaries.isAllChangeSummaries()
is true, this operation will promote all items owned by the current user in theUSER state
. IfChangeSummaries.isAllChangeSummaries()
is false, then only the items specified inChangeSummaries.getChangeSummaryIds()
are promoted.ChangeSummaries.isAllChangeSummaries()
is false by default.Finally, if any of the requested change summaries are diverged, then this promotion is cancelled and a
DivergedChangeException
is thrown. A summary can be diverged when it has not absorbed allChangeDetail entries
produced by another ChangeSummary for the same entity but promoted by another author. Meaning, the current ChangeSummary is unaware of some changes already promoted in advance and, thus, is considered diverged. Diverged ChangeSummaries must be rebased before they are allowed to promote (seeTransitionRequestManager.rebase(ChangeSummaries, ContextInfo, String)
).- Specified by:
promote
in interfaceTransitionRequestManager
- Parameters:
summaries
- Construct that identifies one or moreChangeSummary
instances.contextInfo
- Request context information identifying the usersandbox
- the sandbox to filter the search on
-
promoteDeploy
public void promoteDeploy(@NonNull PromoteSummaries summaries, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @NonNull String sandbox) Description copied from interface:TransitionRequestManager
Moves theChangeSummaries
identified by thePromoteSummaries.getChangeSummaries()
into theDeploying status
and notifies all interested microservices managing matchingTrackable entities
that they should perform a deployment for each of said entities. This notification is performed via aWorkflowDeployRequest
.When
ChangeSummaries.isAllChangeSummaries()
is true, this operation will deploy all items owned by the current user in theUSER state
. IfChangeSummaries.isAllChangeSummaries()
is false, then only the items specified inChangeSummaries.getChangeSummaryIds()
are deployed.ChangeSummaries.isAllChangeSummaries()
is false by default.Finally, if any of the requested change summaries are diverged, then this promotion is cancelled and a
DivergedChangeException
is thrown. A summary can be diverged when it has not absorbed allChangeDetail entries
produced by another ChangeSummary for the same entity but promoted by another author. Meaning, the current ChangeSummary is unaware of some changes already promoted in advance and, thus, is considered diverged. Diverged ChangeSummaries must be rebased before they are allowed to promote (seeTransitionRequestManager.rebase(ChangeSummaries, ContextInfo, String)
).- Specified by:
promoteDeploy
in interfaceTransitionRequestManager
- Parameters:
summaries
- Construct that identifies on or moreChangeSummary
instances.contextInfo
- Request context information identifying the usersandbox
- the sandbox to filter the search on
-
rebase
public void rebase(@NonNull ChangeSummaries summaries, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox) Description copied from interface:TransitionRequestManager
Moves theChangeSummaries
identified by theChangeSummaries.getChangeSummaryIds()
into theREBASING status
and notifies all interested microservices that manage matchingTrackable entities
that they should perform a rebase for each of the said entities. This notification is performed via aWorkflowRebaseRequest
.When
ChangeSummaries.isAllChangeSummaries()
is true, this operation will rebase all items owned by the current user in theUSER state
. IfChangeSummaries.isAllChangeSummaries()
is false, then only the items specified inChangeSummaries.getChangeSummaryIds()
are rebased.ChangeSummaries.isAllChangeSummaries()
is false by default.If any of the items contained by a
ChangeSummary
identified in theChangeSummaries
are not owned by the author identified byContextInfo.getAuthor()
, then anEntityMissingException
is thrown.- Specified by:
rebase
in interfaceTransitionRequestManager
- Parameters:
summaries
- Construct that identifies on or moreChangeSummary
instances.context
- Request context information identifying user, sandbox, etc...sandbox
- the sandbox to filter the search on
-
reject
public void reject(@NonNull ChangeSummaryGroups groups, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
it targets those with theChangeState
of PROMOTED- Specified by:
reject
in interfaceTransitionRequestManager
- Parameters:
groups
-ChangeSummaryGroup
that you would like to rejectcontext
- context information surrounding sandboxingsandbox
- The sandbox for which change summaries should be filtered
-
rejectPromoted
public void rejectPromoted(@NonNull ChangeSummaryGroups groups, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
it targets those with theChangeState
of PROMOTED- Specified by:
rejectPromoted
in interfaceTransitionRequestManager
- Parameters:
groups
-ChangeSummaryGroup
that you would like to rejectcontext
- context information surrounding sandboxingsandbox
- The sandbox for which change summaries should be filtered
-
rejectApproved
public void rejectApproved(@NonNull ChangeSummaryGroups groups, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
it targets those with theChangeState
of APPROVED- Specified by:
rejectApproved
in interfaceTransitionRequestManager
- Parameters:
groups
-ChangeSummaryGroup
that you would like to rejectcontext
- context information surrounding sandboxingsandbox
- The sandbox for which change summaries should be filtered
-
rejectInternal
protected void rejectInternal(@NonNull ChangeSummaryGroups groups, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox, @NonNull String whereState, @NonNull List<String> whereStatuses) Rejects the targeted changeSummaryGroupIds inChangeSummaryGroups
with a state matchingwhereState
and a status matching one ofwhereStatuses
.- Parameters:
groups
-ChangeSummaryGroup
that you would like to rejectcontext
- context information surrounding sandboxingsandbox
- The sandbox for which change summaries and change summary groups should be filteredwhereState
- theChangeState
that the summaries and summary groups should match to be considered eligible for rejectionwhereStatuses
- thestatuses
that the summaries and summary groups should match one of to be considered eligible for rejection
-
revert
public void revert(@NonNull ChangeSummaries summaries, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox) Description copied from interface:TransitionRequestManager
Moves theChangeSummaries
identified by theChangeSummaries.getChangeSummaryIds()
into theREVERTING status
and notifies all interested microservices that manage matchingTrackable entities
that they should perform a reversion for each of the said entities. This notification is performed via aWorkflowRevertRequest
.When
ChangeSummaries.isAllChangeSummaries()
is true, this operation will rebase all items owned by the current user in theUSER state
. IfChangeSummaries.isAllChangeSummaries()
is false, then only the items specified inChangeSummaries.getChangeSummaryIds()
are rebased.ChangeSummaries.isAllChangeSummaries()
is false by default.If any of the items contained by a
ChangeSummary
identified in theChangeSummaries
are not owned by the author identified byContextInfo.getAuthor()
, then anEntityMissingException
is thrown.- Specified by:
revert
in interfaceTransitionRequestManager
- Parameters:
summaries
- Construct that identifies on or moreChangeSummary
instances.context
- Request context information identifying user, sandbox, etc...sandbox
- theSandbox.getId()
on which to filter the search
-
scheduleDeployment
public void scheduleDeployment(@NonNull ChangeSummaryGroups scheduleGroups, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox, @NonNull Instant deployTime, int level) Description copied from interface:TransitionRequestManager
Moves theChangeSummaryGroup
instances identified by the scheduleGroups param into theChangeStatusType.SCHEDULING
status. Also, moves anyChangeSummary
instances identified byChangeSummaryGroup.getChangeSummaryIds()
into the same status. Finally, this will create a newChangeDeploy
that is scheduled to deploy at the specifieddeployTime
.When
ChangeSummaryGroups.isAllChangeSummaryGroups()
is true, this operation will schedule all groups owned by the current user in theAPPROVED state
. Otherwise, only the items specified inChangeSummaryGroups.getChangeSummaryGroupIds()
are deployed.ChangeSummaryGroups.isAllChangeSummaryGroups()
is false by default.A QualifiedStateException can be thrown for any id values determined to be in an incorrect state from that expected to perform a transition operation. For example, if a
ChangeSummaryGroup
was in a DEPLOYED state already, but a scheduling was requested for it, this exception would be thrown because the expected state for a scheduling is APPROVED.- Specified by:
scheduleDeployment
in interfaceTransitionRequestManager
- Parameters:
scheduleGroups
- Construct that identifies one or moreChangeSummaryGroup
instances to be scheduled for a future deployment.context
- Information about the deploy request containing the ID of the request's author.sandbox
- The sandbox ID upon which to filter searches on when retrieving the group instances and their summaries.level
- The tracking level from which to perform the deployment (seeTrackingLevel
)
-
unscheduleDeployment
Description copied from interface:TransitionRequestManager
Accepts an ID for aChangeDeploy
that was previously scheduled and starts the process of unscheduling the deployment. The deployment, its groups, and their associated summaries have their statuses updated toChangeStatusType.UNSCHEDULING
, and aWorkflowJobUnschedulingRequest
is published to actually unschedule the job.- Specified by:
unscheduleDeployment
in interfaceTransitionRequestManager
- Parameters:
changeDeployId
- the ID of the previously scheduledChangeDeploy
which should be unscheduled- See Also:
-
unscheduleDeployment
public void unscheduleDeployment(@NonNull String changeDeployId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:TransitionRequestManager
Accepts an ID for aChangeDeploy
that was previously scheduled and starts the process of unscheduling the deployment. The deployment, its groups, and their associated summaries have their statuses updated toChangeStatusType.UNSCHEDULING
, and aWorkflowJobUnschedulingRequest
is published to actually unschedule the job.- Specified by:
unscheduleDeployment
in interfaceTransitionRequestManager
- Parameters:
changeDeployId
- the ID of the previously scheduledChangeDeploy
which should be unscheduledcontextInfo
- context information about sandboxing and multitenant state- See Also:
-
clearDeployment
public void clearDeployment(@NonNull String changeDeployId, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:TransitionRequestManager
Accepts an ID for aChangeDeploy
that previously failed and starts the process of clearing the error state of the deployment. This includes notifying (via special deployment case) all resource tier services with impacted entities. The resource tier service is responsible for rectifying theChangeDetail
state to obsolete for deployment version matches in the tracking information for affected entities.- Specified by:
clearDeployment
in interfaceTransitionRequestManager
- Parameters:
changeDeployId
- The ID of the previously failed deploymentcontextInfo
- context information about sandboxing and multitenant state
-
deploy
public void deploy(@NonNull ChangeSummaryGroups groups, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull String sandbox, int level) Description copied from interface:TransitionRequestManager
Moves theChangeSummaryGroup
instances identified by the scheduleGroups param into theChangeStatusType.DEPLOYING
status. Also, moves anyChangeSummary
instances identified byChangeSummaryGroup.getChangeSummaryIds()
into the same status. Finally, this will create a newChangeDeploy
that is scheduled to deploy immediately.When
ChangeSummaryGroups.isAllChangeSummaryGroups()
is true, this operation will deploy all groups owned by the current user in theAPPROVED state
. Otherwise, only the items specified inChangeSummaryGroups.getChangeSummaryGroupIds()
are deployed.ChangeSummaryGroups.isAllChangeSummaryGroups()
is false by default.A QualifiedStateException can be thrown for any id values determined to be in an incorrect state from that expected to perform a transition operation. For example, if a
ChangeSummaryGroup
was in a DEPLOYED state already, but a deployment was requested for it, this exception would be thrown because the expected state for a deployment is APPROVED.- Specified by:
deploy
in interfaceTransitionRequestManager
- Parameters:
groups
- Construct that identifies one or moreChangeSummaryGroup
instances to be scheduled for a future deployment.context
- Information about the deploy request containing the ID of the request's author.sandbox
- The sandbox ID upon which to filter searches on when retrieving the group instances and their summaries.level
- The tracking level from which to perform the deployment (seeTrackingLevel
)
-
remove
Description copied from interface:TransitionRequestManager
Remove theChangeSummaries
of the provided ids from theirChangeSummaryGroup
and add them to a new one.- Specified by:
remove
in interfaceTransitionRequestManager
- Parameters:
request
- Construct that indicates whichChangeSummaries
to remove, given their ids. Also indicates what the name of the newChangeSummaryGroup
should be.- Returns:
- Remove the
ChangeSummaries
of the provided ids from theirChangeSummaryGroup
and into a new one
-
remove
@NonNull public ChangeSummaryRemovalResponse remove(@NonNull ChangeSummaryRemovalRequest request, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:TransitionRequestManager
Remove theChangeSummaries
of the provided ids from theirChangeSummaryGroup
and add them to a new one.- Specified by:
remove
in interfaceTransitionRequestManager
- Parameters:
request
- Construct that indicates whichChangeSummaries
to remove, given their ids. Also indicates what the name of the newChangeSummaryGroup
should be.contextInfo
- context information about sandboxing and multitenant state- Returns:
- Remove the
ChangeSummaries
of the provided ids from theirChangeSummaryGroup
and into a new one
-
findExistingChangeGroup
@Nullable public ChangeSummaryGroup findExistingChangeGroup(@NonNull List<ChangeSummary> changeSummaries) Description copied from interface:TransitionRequestManager
Retrieve the common ChangeSummaryGroup for a list of summaries- Specified by:
findExistingChangeGroup
in interfaceTransitionRequestManager
- Parameters:
changeSummaries
- The summaries sharing a common group- Returns:
- The group containing the requested summaries
-
findExistingChangeGroup
@Nullable public ChangeSummaryGroup findExistingChangeGroup(@NonNull List<ChangeSummary> changeSummaries, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:TransitionRequestManager
Retrieve the common ChangeSummaryGroup for a list of summaries- Specified by:
findExistingChangeGroup
in interfaceTransitionRequestManager
- Parameters:
changeSummaries
- The summaries sharing a common groupcontextInfo
- context information about sandboxing and multitenant state- Returns:
- The group containing the requested summaries
-
removeTemporaryPlaceholderFromAffectedVendors
IfvendorProcessingEnabled
, then updates the datastore such that the temporary placeholder frominitializeVendorFields(ChangeSummaryGroup)
is removed from the givengroupId
.- Parameters:
groupId
- the ID of the group from which to remove the temporary placeholder from affected vendors- See Also:
-
initializeVendorFields(ChangeSummaryGroup)
-
isVendorProcessingEnabled
protected boolean isVendorProcessingEnabled()Whether or not vendor processing is enabled. This will determine how certain vendor-related fields on domains are initialized and whether vendor narrowing is applied to filter results. -
setVendorProcessingEnabled
@Autowired public void setVendorProcessingEnabled(@Value("${broadleaf.sandbox.propagation.enabled:false}") boolean vendorProcessingEnabled) Whether or not vendor processing is enabled. This will determine how certain vendor-related fields on domains are initialized and whether vendor narrowing is applied to filter results.
-