Interface CustomizedChangeSummaryRepository<D>
- All Superinterfaces:
com.broadleafcommerce.common.extension.DomainTypeAware
- All Known Subinterfaces:
ChangeSummaryRepository<D>
,JpaChangeSummaryRepository<D>
- All Known Implementing Classes:
JpaCustomizedChangeSummaryRepository
public interface CustomizedChangeSummaryRepository<D>
extends com.broadleafcommerce.common.extension.DomainTypeAware
Additional persistence operations to perform on ChangeSummary repository domain.
- Author:
- Chad Harchar (charchar), Jeff Fischer
-
Method Summary
Modifier and TypeMethodDescriptionvoid
archiveNotActiveChangeSummariesForSandbox
(String sandboxId) Archives theChangeSummary
for the specified sandbox id.void
batchTransition
(StateChangeOnlyBatchFlushContext flushContext) Given aStateChangeOnlyBatchFlushContext
containingChangeSummaryGroup
andChangeSummary
state change information, perform a batch update of the prescribed state.void
batchTransition
(SummaryBasedFlushContext flushContext) Given aPromoteBatchFlushContext
containingChangeSummary
transition information, update the state of all change summaries in a batch transaction.boolean
changesOwnedByAuthor
(String author, List<String> changeSummaryIds) Whether all the ChangeSummary instances identified by the changeSummaryIds are owned by the requesting author.org.springframework.data.domain.Page<D>
findAllByAuthorAndSandbox
(String author, String sandbox, String[] statuses, org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters) Deprecated.org.springframework.data.domain.Page<D>
findAllByAuthorAndSandbox
(String author, String sandbox, String[] statuses, org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all Change Summaries for the provided author and sandbox.findArchivedBySandbox
(String sandboxId) Find all archivedChangeSummary
for the provided sandbox id.findChangeSummariesByAuthor
(String author, String sandbox, String state, List<String> status, List<String> ids) Deprecated.since 1.3, replaced byfindChangeSummariesByAuthor(String, String, String, List, List, boolean, ContextInfo)
findChangeSummariesByAuthor
(String author, String sandbox, String state, List<String> status, List<String> ids, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records belonging to the current author, sandbox andChangeState
findChangeSummariesByIds
(List<String> changeSummaryIds) Deprecated.since 1.3, replaced byfindChangeSummariesByIds(List, boolean, ContextInfo)
findChangeSummariesByIds
(List<String> changeSummaryIds, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records in the list of idsfindChangeSummariesByIds
(List<String> changeSummaryIds, List<String> states, List<String> statuses, String sandbox) Deprecated.since 1.3, replaced byfindChangeSummariesByIds(List, List, List, String, boolean, ContextInfo)
findChangeSummariesByIds
(List<String> changeSummaryIds, List<String> states, List<String> statuses, String sandbox, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records in the list of ids that also have the requested state.findChangeSummariesByIdsCount
(List<String> changeSummaryIds, List<String> states, List<String> statuses, @NonNull String sandbox) Find the count of all records in the list of ids that also have the requested state.findChangeSummary
(ChangeSummaryRequest changeSummaryRequest) Find an existing record with the corresponding matching values that determine uniqueness.findChangeSummaryId
(ChangeSummaryRequest changeSummaryRequest) Find an existing record id with the corresponding matching values that determine uniqueness.findChangeSummaryIdsByAuthor
(@NonNull String author, @NonNull String sandbox, @NonNull String state, List<String> status, List<String> ids) Find all record ids belonging to the current author, sandbox andChangeState
findCompletedTempSandboxByExample
(String changeSummaryId) Based on the example change summary id, check if the change summary refers to a temporary sandbox.findDeployFailedChangeSummaries
(String deployId, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records marked with statusERROR_DEPLOY
for the requesteddeployId
.findDivergentChanges
(List<D> summariesToFindDivergencesFor) Finds all diverged changes for each of the givensummariesToFindDivergencesFor
.findDivergentChangeSummariesByIds
(List<String> changeSummaryIds, String sandbox) Find all identified records belonging to the current sandbox containing one or moreChangeDetail
values for which there is an unknown change already promoted by another user.findIdsByTransitionMarker
(String transitionMarker) Find all the ids for change summaries whose transition marker field matchesfindIndexableChangeSummariesByIds
(List<String> changeSummaryIds, List<String> states, List<String> status, int limit) Find all records in the list of ids that also have the requested state and have not been acknowledged as indexed.long
findIndexableChangeSummariesByIdsCount
(List<String> changeSummaryIds, List<String> states, List<String> status) Find the count of all records in the list of ids that also have the requested state and have not been acknowledged as indexed.findSandboxChangeSummaries
(String changeContainerName, String changeContainerId, String sandbox, String catalog) Deprecated.since 1.3, replaced byfindSandboxChangeSummaries(String, String, String, String, boolean, ContextInfo)
findSandboxChangeSummaries
(String changeContainerName, String changeContainerId, String sandbox, String catalog, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records with the corresponding matching values in theChangeState.PROMOTED
,ChangeState.APPROVED
, orChangeState.SCHEDULED
state.findUserChangeSummaries
(String changeContainerName, String changeContainerId, String author, String sandbox, String catalog, boolean scheduled) Deprecated.findUserChangeSummaries
(String changeContainerName, String changeContainerId, String author, String sandbox, String catalog, boolean scheduled, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all user records with the corresponding matching values.boolean
hasLastGroupingReference
(String changeSummaryId) Deprecated, for removal: This API element is subject to removal in a future version.This is a compatibility measure during the transition toDefaultDeployCleanupServices
(and friends).readByIdAndArchivedNot
(String id, boolean archived, boolean vendorNarrowing, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) TakesChangeSummary.getArchived()
into account when retrieving a group with the given ID.<S extends D>
Ssave
(S entity) void
updateVals
(@NonNull List<String> changeSummaryIds, String whereState, List<String> whereStatus, @NonNull Map<String, Object> vals) Update the fields for all non-archived records matching the idsvoid
updateVals
(@NonNull List<String> changeSummaryIds, List<String> whereState, List<String> whereStatus, @NonNull Map<String, Object> vals) Update the fields for multiple records matching the idsboolean
updateVals
(String changeSummaryId, List<String> whereState, List<String> whereStatus, String messageType, Map<String, Object> vals) Update the fields for a record matching the id.boolean
updateVals
(String changeSummaryId, List<String> whereState, List<String> whereStatus, String messageType, Map<String, Object> vals, boolean insertNotificationStateIfMissing) Update the fields for a record matching the idMethods inherited from interface com.broadleafcommerce.common.extension.DomainTypeAware
getDomainType
-
Method Details
-
readByIdAndArchivedNot
@Policy(operationTypes=READ) Optional<D> readByIdAndArchivedNot(String id, boolean archived, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) TakesChangeSummary.getArchived()
into account when retrieving a group with the given ID.- Parameters:
id
- ID of the group to retrievearchived
-ChangeSummary.getArchived()
value to not matchvendorNarrowing
- whether or not to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- A
ChangeSummary
matching the given ID and not matching the given archived status.
-
findChangeSummary
@Policy(operationTypes=READ) Optional<D> findChangeSummary(ChangeSummaryRequest changeSummaryRequest) Find an existing record with the corresponding matching values that determine uniqueness.- Parameters:
changeSummaryRequest
- Request DTO to find a matching change summary- Returns:
- an optional matching record
-
findChangeSummaryId
@Policy(operationTypes=READ) Optional<String> findChangeSummaryId(ChangeSummaryRequest changeSummaryRequest) Find an existing record id with the corresponding matching values that determine uniqueness.- Parameters:
changeSummaryRequest
- Request DTO to find a matching change summary- Returns:
- an optional matching record id
-
findIdsByTransitionMarker
Find all the ids for change summaries whose transition marker field matches- Parameters:
transitionMarker
- A marker id representing a transition- Returns:
- All the ids for change summaries whose transition marker field matches
-
findChangeSummariesByAuthor
@Deprecated @Policy(operationTypes=READ) Stream<D> findChangeSummariesByAuthor(String author, String sandbox, String state, @Nullable List<String> status, @Nullable List<String> ids) Deprecated.since 1.3, replaced byfindChangeSummariesByAuthor(String, String, String, List, List, boolean, ContextInfo)
Find all records belonging to the current author, sandbox andChangeState
- Parameters:
author
-ChangeSummary.getAuthor()
sandbox
-ChangeSummary.getSandbox()
state
-ChangeSummary.getState()
status
- OptionalChangeSummary.getStatus()
ids
- Optional list of ids to filter by- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found.
-
findChangeSummariesByAuthor
@Policy(operationTypes=READ) Stream<D> findChangeSummariesByAuthor(String author, String sandbox, String state, @Nullable List<String> status, @Nullable List<String> ids, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records belonging to the current author, sandbox andChangeState
- Parameters:
author
-ChangeSummary.getAuthor()
sandbox
-ChangeSummary.getSandbox()
state
-ChangeSummary.getState()
status
- OptionalChangeSummary.getStatus()
ids
- Optional list of ids to filter byvendorNarrowing
- whether or not to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found.
-
findChangeSummaryIdsByAuthor
@Policy(operationTypes=READ) List<String> findChangeSummaryIdsByAuthor(@NonNull @NonNull String author, @NonNull @NonNull String sandbox, @NonNull @NonNull String state, @Nullable List<String> status, @Nullable List<String> ids) Find all record ids belonging to the current author, sandbox andChangeState
- Parameters:
author
-ChangeSummary.getAuthor()
sandbox
-ChangeSummary.getSandbox()
state
-ChangeSummary.getState()
status
- OptionalChangeSummary.getStatus()
ids
- Optional list of ids to filter by- Returns:
- list of ids
-
findChangeSummariesByIds
@Deprecated @Policy(operationTypes=READ) Stream<D> findChangeSummariesByIds(List<String> changeSummaryIds, List<String> states, @Nullable List<String> statuses, String sandbox) Deprecated.since 1.3, replaced byfindChangeSummariesByIds(List, List, List, String, boolean, ContextInfo)
Find all records in the list of ids that also have the requested state.- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptystates
- the required matching stateChangeSummary.getState()
, cannot be emptystatuses
- optionalChangeSummary.getStatus()
to filter bysandbox
- sandbox to filter records by, cannot be null- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found
- Throws:
IllegalArgumentException
- ifchangeSummaryIds
orstates
is empty
-
findChangeSummariesByIds
@Policy(operationTypes=READ) Stream<D> findChangeSummariesByIds(List<String> changeSummaryIds, List<String> states, @Nullable List<String> statuses, String sandbox, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records in the list of ids that also have the requested state.- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptystates
- the required matching stateChangeSummary.getState()
, cannot be emptystatuses
- optionalChangeSummary.getStatus()
to filter bysandbox
- sandbox to filter records by, cannot be nullvendorNarrowing
- whether or not to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found
- Throws:
IllegalArgumentException
- ifchangeSummaryIds
orstates
is empty
-
findChangeSummariesByIds
@Deprecated @Policy(operationTypes=READ) Stream<D> findChangeSummariesByIds(List<String> changeSummaryIds) Deprecated.since 1.3, replaced byfindChangeSummariesByIds(List, boolean, ContextInfo)
Find all records in the list of ids- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be empty- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found
- Throws:
IllegalArgumentException
- ifchangeSummaryIds
is empty
-
findChangeSummariesByIds
@Policy(operationTypes=READ) Stream<D> findChangeSummariesByIds(List<String> changeSummaryIds, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records in the list of ids- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptyvendorNarrowing
- whether to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found
- Throws:
IllegalArgumentException
- ifchangeSummaryIds
is empty
-
findChangeSummariesByIdsCount
@Policy(operationTypes=READ) Long findChangeSummariesByIdsCount(List<String> changeSummaryIds, List<String> states, @Nullable List<String> statuses, @NonNull @NonNull String sandbox) Find the count of all records in the list of ids that also have the requested state.- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptystates
- the required matching stateChangeSummary.getState()
, cannot be emptystatuses
- optionalChangeSummary.getStatus()
to filter bysandbox
- sandbox to filter records by, cannot be null- Returns:
- A Stream that can be iterated, possibly containing a large number or records or an empty stream if none found
- Throws:
IllegalArgumentException
- ifchangeSummaryIds
orstates
is empty
-
findIndexableChangeSummariesByIds
@Policy(operationTypes=READ) List<BatchIndexable> findIndexableChangeSummariesByIds(List<String> changeSummaryIds, List<String> states, @Nullable List<String> status, int limit) Find all records in the list of ids that also have the requested state and have not been acknowledged as indexed. Must be related to anIndexable
entity to qualify.- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptystates
- the required matching stateChangeSummary.getState()
, cannot be emptystatus
- optionalChangeSummary.getStatus()
to filter bylimit
- the max amount of records to return- Returns:
- The list of records
-
findIndexableChangeSummariesByIdsCount
@Policy(operationTypes=READ) long findIndexableChangeSummariesByIdsCount(List<String> changeSummaryIds, List<String> states, @Nullable List<String> status) Find the count of all records in the list of ids that also have the requested state and have not been acknowledged as indexed. Must be related to anIndexable
entity to qualify.- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptystates
- the required matching stateChangeSummary.getState()
, cannot be emptystatus
- optionalChangeSummary.getStatus()
to filter by- Returns:
- The count of matching records
-
findDivergentChangeSummariesByIds
@Policy(operationTypes=READ) List<String> findDivergentChangeSummariesByIds(List<String> changeSummaryIds, String sandbox) Find all identified records belonging to the current sandbox containing one or moreChangeDetail
values for which there is an unknown change already promoted by another user.- Parameters:
changeSummaryIds
- The requested list ofChangeSummary.getId()
, cannot be emptysandbox
- The sandbox for which change summaries should be filtered- Returns:
- The list of divergent
ChangeSummary.getId()
values, or an empty stream if none found
-
findDeployFailedChangeSummaries
@Policy(operationTypes=READ) Stream<D> findDeployFailedChangeSummaries(String deployId, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records marked with statusERROR_DEPLOY
for the requesteddeployId
.- Parameters:
deployId
- The deployment to which the records are associatedvendorNarrowing
- Whether to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- Context information about sandboxing and multitenant state- Returns:
- All records marked with status
ERROR_DEPLOY
for the requesteddeployId
as a stream
-
save
-
updateVals
@Policy(operationTypes=UPDATE) boolean updateVals(String changeSummaryId, @Nullable List<String> whereState, @Nullable List<String> whereStatus, @Nullable String messageType, Map<String, Object> vals) Update the fields for a record matching the id.
Calling this method is the same as calling
updateVals(String, List, List, String, Map, boolean)
, but with theinsertNotificationStateIfMissing
parameter set tofalse
.- Parameters:
changeSummaryId
- The id requested to mutatewhereState
- The current state of the ChangeSummary to match. Can be emptywhereStatus
- list of status values that a ChangeSummary should match one or more of. Can be emptymessageType
- if some of thevals
target a notification state of a certain message type, this value should be supplied to filter to that state. Optional.vals
- Map of field to value changes to make to the ChangeSummary instance- Returns:
- Whether or not an update was performed. If no record found matching the id and state, will return false.
-
updateVals
@Policy(operationTypes=UPDATE) boolean updateVals(String changeSummaryId, @Nullable List<String> whereState, @Nullable List<String> whereStatus, @Nullable String messageType, Map<String, Object> vals, boolean insertNotificationStateIfMissing) Update the fields for a record matching the id- Parameters:
changeSummaryId
- The id requested to mutatewhereState
- The current state of the ChangeSummary to match. Can be emptywhereStatus
- list of status values that a ChangeSummary should match one or more of. Can be emptymessageType
- if some of thevals
target a notification state of a certain message type, this value should be supplied to filter to that state. Optional.vals
- Map of field to value changes to make to the ChangeSummary instanceinsertNotificationStateIfMissing
- ifvals
target a notification state andmessageType
is provided, this flag determines whether the flow will newly insert the notification state if it does not already exist in the datastore. In other words, when this flag is false, the flow will only try to update an existing notification state with the provided details invals
. When this flag istrue
, if the update attempt is unsuccessful because the notification state is missing, the flow will attempt to newly insert that state into the datastore.- Returns:
- Whether or not an update was performed. If no record found matching the id and state, will return false.
- Since:
- Sandbox Service 2.0.6, Sandbox Service 2.1.3, Release Train 2.1.4, Release Train 2.2.0
- See Also:
-
updateVals
@Policy(operationTypes=UPDATE) void updateVals(@NonNull @NonNull List<String> changeSummaryIds, @Nullable String whereState, @Nullable List<String> whereStatus, @NonNull @NonNull Map<String, Object> vals) Update the fields for all non-archived records matching the ids- Parameters:
changeSummaryIds
- The ids requested to mutatewhereState
- The current state of the ChangeSummary to match. Optional.whereStatus
- list of status values that a ChangeSummary should match one or more of. Optional.vals
- Map of field to value changes to make to the ChangeSummary instance
-
updateVals
@Policy(operationTypes=UPDATE) void updateVals(@NonNull @NonNull List<String> changeSummaryIds, @Nullable List<String> whereState, @Nullable List<String> whereStatus, @NonNull @NonNull Map<String, Object> vals) Update the fields for multiple records matching the ids- Parameters:
changeSummaryIds
- The ids requested to mutatewhereState
- The validChangeState
value for whichChangeSummary.getState()
should matchwhereStatus
- The list ofChangeStatusType
values for whichChangeSummary.getStatus()
should match one or more of. Can be empty to indicate no filtrationvals
- Map of field to value changes to make to the ChangeSummary instance- Throws:
IllegalArgumentException
- if vals is empty
-
batchTransition
Given aPromoteBatchFlushContext
containingChangeSummary
transition information, update the state of all change summaries in a batch transaction.- Parameters:
flushContext
- Context object containing all change summary transition to batch commit
-
batchTransition
Given aStateChangeOnlyBatchFlushContext
containingChangeSummaryGroup
andChangeSummary
state change information, perform a batch update of the prescribed state. This does not involved changes to notification states and does not result in state related to sending messages.- Parameters:
flushContext
- Context containingChangeSummaryGroup
andChangeSummary
state change information
-
changesOwnedByAuthor
@Policy(operationTypes=READ) boolean changesOwnedByAuthor(String author, List<String> changeSummaryIds) Whether all the ChangeSummary instances identified by the changeSummaryIds are owned by the requesting author.- Parameters:
author
- The author making the request.ContextInfo.getAuthor()
changeSummaryIds
- The ids requested to mutate- Returns:
- Whether all the requested ids belong to ChangeSummary instances owned by the author
-
findSandboxChangeSummaries
@Deprecated @Policy(operationTypes=READ) List<D> findSandboxChangeSummaries(String changeContainerName, @Nullable String changeContainerId, String sandbox, @Nullable String catalog) Deprecated.since 1.3, replaced byfindSandboxChangeSummaries(String, String, String, String, boolean, ContextInfo)
Find all records with the corresponding matching values in theChangeState.PROMOTED
,ChangeState.APPROVED
, orChangeState.SCHEDULED
state.- Parameters:
changeContainerName
-SandboxChangeContainer.getName()
changeContainerId
-SandboxChangeContainer.getId()
sandbox
-ChangeSummary.getSandbox()
. Optional.catalog
-ChangeCatalogInfo.getContextId()
. Optional.- Returns:
- Find all records with the corresponding matching values in the
ChangeState.PROMOTED
,ChangeState.APPROVED
, orChangeState.SCHEDULED
state
-
findSandboxChangeSummaries
@Policy(operationTypes=READ) List<D> findSandboxChangeSummaries(String changeContainerName, @Nullable String changeContainerId, String sandbox, @Nullable String catalog, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all records with the corresponding matching values in theChangeState.PROMOTED
,ChangeState.APPROVED
, orChangeState.SCHEDULED
state.- Parameters:
changeContainerName
-SandboxChangeContainer.getName()
changeContainerId
-SandboxChangeContainer.getId()
sandbox
-ChangeSummary.getSandbox()
. Optional.catalog
-ChangeCatalogInfo.getContextId()
. Optional.vendorNarrowing
- whether or not to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- Find all records with the corresponding matching values in the
ChangeState.PROMOTED
,ChangeState.APPROVED
, orChangeState.SCHEDULED
state
-
findUserChangeSummaries
@Deprecated @Policy(operationTypes=READ) List<D> findUserChangeSummaries(String changeContainerName, @Nullable String changeContainerId, String author, String sandbox, @Nullable String catalog, boolean scheduled) Deprecated.Find all user records with the corresponding matching values.- Parameters:
changeContainerName
-SandboxChangeContainer.getName()
changeContainerId
-SandboxChangeContainer.getId()
. Optional.author
-ChangeSummary.getAuthor()
sandbox
-ChangeSummary.getSandbox()
catalog
-ChangeCatalogInfo.getContextId()
. Optional.scheduled
- Applies to a user change summary that is in a scheduled for deploy stateChangeState.SCHEDULED
. This state can occur during aTransitionRequestManager.promoteDeploy(PromoteSummaries, ContextInfo, String)
flow (especially when there was an error during the deployment).- Returns:
- Find all user records with the corresponding matching values
-
findUserChangeSummaries
@Policy(operationTypes=READ) List<D> findUserChangeSummaries(String changeContainerName, @Nullable String changeContainerId, String author, String sandbox, @Nullable String catalog, boolean scheduled, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all user records with the corresponding matching values.- Parameters:
changeContainerName
-SandboxChangeContainer.getName()
changeContainerId
-SandboxChangeContainer.getId()
. Optional.author
-ChangeSummary.getAuthor()
sandbox
-ChangeSummary.getSandbox()
catalog
-ChangeCatalogInfo.getContextId()
. Optional.scheduled
- Applies to a user change summary that is in a scheduled for deploy stateChangeState.SCHEDULED
. This state can occur during aTransitionRequestManager.promoteDeploy(PromoteSummaries, ContextInfo, String)
flow (especially when there was an error during the deployment).vendorNarrowing
- whether to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- Find all user records with the corresponding matching values
-
findDivergentChanges
@Policy(operationTypes=READ) Map<String,Set<DivergedChange>> findDivergentChanges(@Nullable List<D> summariesToFindDivergencesFor) Finds all diverged changes for each of the givensummariesToFindDivergencesFor
.Diverged changes are defined as being the list of changes that have been promoted in advance of a change summary. The base from which the change summary is derived has diverged as a result of these changes detected.
- Parameters:
summariesToFindDivergencesFor
- All the summaries for which diverged changes need to be found. All of these summaries must have the sameChangeSummary.getAuthor()
and the sameChangeSummary.getSandbox()
. They must also all have anChangeSummary.getEntityType()
.- Returns:
- a map where the key is the ID of a requested summary and the value is the set of diverged changes that were found for it. If there were no diverged changes for a summary, the value for its key will be an empty set. If the input map is empty, the output map will also be empty.
- Throws:
IllegalArgumentException
- if all of thesummariesToFindDivergencesFor
don't have the sameChangeSummary.getAuthor()
and the sameChangeSummary.getSandbox()
, or if all of them don't have anChangeSummary.getEntityType()
. (May get translated toInvalidDataAccessApiUsageException
.)
-
findAllByAuthorAndSandbox
@Deprecated @Policy(operationTypes=READ) org.springframework.data.domain.Page<D> findAllByAuthorAndSandbox(String author, String sandbox, @Nullable String[] statuses, org.springframework.data.domain.Pageable page, @Nullable cz.jirutka.rsql.parser.ast.Node filters) Deprecated.since 1.3, replaced byfindAllByAuthorAndSandbox(String, String, String[], Pageable, Node, boolean, ContextInfo)
Find all Change Summaries for the provided author and sandbox.- Parameters:
author
- the author of the change summaries to returnsandbox
- the sandbox associated to the change summaries to returnstatuses
- the list ofChangeStatusType
values for which aChangeSummary.getStatus()
should match one of. Optional.page
- pagination informationfilters
- the RSQLNode
used to restrict result- Returns:
- all Change Summaries for the provided author and sandbox and not matching the given archived status
-
findAllByAuthorAndSandbox
@Policy(operationTypes=READ) org.springframework.data.domain.Page<D> findAllByAuthorAndSandbox(String author, String sandbox, @Nullable String[] statuses, org.springframework.data.domain.Pageable page, @Nullable cz.jirutka.rsql.parser.ast.Node filters, boolean vendorNarrowing, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Find all Change Summaries for the provided author and sandbox.- Parameters:
author
- the author of the change summaries to returnsandbox
- the sandbox associated to the change summaries to returnstatuses
- the list ofChangeStatusType
values for which aChangeSummary.getStatus()
should match one of. Optional.page
- pagination informationfilters
- the RSQLNode
used to restrict resultvendorNarrowing
- whether or not to filter results based on the current authentication's vendor restrictions if vendor processing is enabledcontextInfo
- context information about sandboxing and multitenant state- Returns:
- all Change Summaries for the provided author and sandbox and not matching the given archived status
-
findCompletedTempSandboxByExample
@Policy(operationTypes=READ) @Nullable String findCompletedTempSandboxByExample(String changeSummaryId) Based on the example change summary id, check if the change summary refers to a temporary sandbox. Return null if not. If so, find the count of remaining active ChangeSummary instances that also refer to that sandbox. A returned sandbox id indicates all ChangeSummary instances have completed their lifecycle and the sandbox can be archived. If there are still active ChangeSummary instances for the sandbox, null is returned.- Parameters:
changeSummaryId
- The id of the ChangeSummary to check for temporary sandbox status.- Returns:
- null if not associated with a temporary sandbox, or some ChangeSummaries are still active against the sandbox. Otherwise, the sandbox id of the Sandbox that can be archived.
-
archiveNotActiveChangeSummariesForSandbox
Archives theChangeSummary
for the specified sandbox id.- Parameters:
sandboxId
- the sandbox id associated to the change summaries- Throws:
ArchiveChangeSummaryException
- if there areChangeSummary
in active state.- See Also:
-
findArchivedBySandbox
Find all archivedChangeSummary
for the provided sandbox id.- Parameters:
sandboxId
- he sandbox id associated to the change summaries- Returns:
- the list of archived
ChangeSummary
-
hasLastGroupingReference
@Policy(operationTypes=READ) @Deprecated(forRemoval=true, since="2.0.1") boolean hasLastGroupingReference(String changeSummaryId) Deprecated, for removal: This API element is subject to removal in a future version.This is a compatibility measure during the transition toDefaultDeployCleanupServices
(and friends). SeeCompletionCleanupProperties.isEnabled()
.Determine if theJpaChangeSummary
instance has alastGroupRelation
value.- Parameters:
changeSummaryId
- The primary key value- Returns:
- Whether the lastGroupRelation is available
-
findAllByAuthorAndSandbox(String, String, String[], Pageable, Node, boolean, ContextInfo)