Interface SynchronizationFacade
-
- All Known Implementing Classes:
DefaultSynchronizationFacade
public interface SynchronizationFacadeFacade which allows to perform synchronization related operations.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanSync(SyncItemJobModel sync)Tells whether current user can perform given sync.java.util.Optional<ItemModel>findSyncCounterpart(ItemModel item, SyncItemJobModel syncItemJob)Finds a counterpart of given item in respective catalog version defined by the syncItemJob.java.util.List<ItemModel>getCatalogVersionAwareItems(java.util.List<? extends ItemModel> items)Extract catalog version aware itemsCatalogTypeService.isCatalogVersionAwareModel(ItemModel)java.util.List<SyncItemJobModel>getInboundSynchronizations(CatalogVersionModel catalogVersion)Gets inbound sync jobs for given catalog version.java.util.List<CatalogVersionModel>getItemsCatalogVersions(java.util.List<? extends ItemModel> items)Extracts from given list items which are CatalogVersionjava.util.List<SyncItemJobModel>getOutboundSynchronizations(CatalogVersionModel catalogVersion)Gets outbound sync jobs for given catalog version.java.util.Optional<PartialSyncInfo>getPartialSyncStatusInfo(ItemModel itemModel, SyncItemStatus status, java.util.Map<java.lang.String,java.lang.Object> ctxMap)ChecksItemModel's status in all available synchronizations.java.util.Optional<CatalogVersionModel>getSyncCatalogVersion(java.util.Collection<ItemModel> items)Returns catalog version for given items if they are from the same catalog version or are CatalogVersion itself.java.util.Optional<java.lang.Boolean>isInSync(ItemModel itemModel, java.util.Map<java.lang.String,java.lang.Object> ctxMap)ChecksItemModel's status in all available synchronizations.java.util.Optional<java.lang.Boolean>isInSync(java.util.List<ItemModel> itemModels, SyncItemJobModel jobModel, java.util.Map<java.lang.String,java.lang.Object> ctxMap)Checks if allItemModels are sync according to source and target fromSyncItemJobModel.booleanisSyncInProgress(ItemModel item)Tells if given item is being synchronized.java.util.Optional<java.lang.String>performSynchronization(SyncTask syncTask)Performs synchronization based on given sync task.voidreRunCronJob(CatalogVersionSyncCronJobModel cronJob)Runs given sync cron job again omitting items already processed in the previous run.
-
-
-
Method Detail
-
performSynchronization
java.util.Optional<java.lang.String> performSynchronization(SyncTask syncTask)
Performs synchronization based on given sync task.- Parameters:
syncTask- - defines sync jobs and items to sync.- Returns:
- executed sync cron job code
CronJobModel.getCode()if sync has been started.
-
getInboundSynchronizations
java.util.List<SyncItemJobModel> getInboundSynchronizations(CatalogVersionModel catalogVersion)
Gets inbound sync jobs for given catalog version.- Parameters:
catalogVersion- - catalog version for which outbound synchronizations will be returned. To obtain catalog version please usegetSyncCatalogVersion(Collection)- Returns:
- list of sync jobs
-
getOutboundSynchronizations
java.util.List<SyncItemJobModel> getOutboundSynchronizations(CatalogVersionModel catalogVersion)
Gets outbound sync jobs for given catalog version.- Parameters:
catalogVersion- - catalog version for which outbound synchronizations will be returned. To obtain catalog version please usegetSyncCatalogVersion(Collection)- Returns:
- list of sync jobs
-
getSyncCatalogVersion
java.util.Optional<CatalogVersionModel> getSyncCatalogVersion(java.util.Collection<ItemModel> items)
Returns catalog version for given items if they are from the same catalog version or are CatalogVersion itself.- Parameters:
items- items for which catalog version will be extracted.- Returns:
- catalog version for given items.
-
isInSync
java.util.Optional<java.lang.Boolean> isInSync(java.util.List<ItemModel> itemModels, SyncItemJobModel jobModel, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
Checks if allItemModels are sync according to source and target fromSyncItemJobModel.- Parameters:
itemModels- defines items for which sync status is checkedjobModel- defines sync item job model from which source and target is taken to perform status checkctxMap- defines additional context- Returns:
- true if all itemModels are in sync
-
isInSync
java.util.Optional<java.lang.Boolean> isInSync(ItemModel itemModel, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
ChecksItemModel's status in all available synchronizations.- Parameters:
itemModel- defines item for which sync status is checkedctxMap- defines additional context- Returns:
- true if all itemModel are in sync, Optional.empty if sync status is not available e.g. item is not catalog version aware
-
getPartialSyncStatusInfo
java.util.Optional<PartialSyncInfo> getPartialSyncStatusInfo(ItemModel itemModel, SyncItemStatus status, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
ChecksItemModel's status in all available synchronizations.- Parameters:
itemModel- defines item for which sync status is checkedstatus- defines target status for partial sync infoPartialSyncInfoctxMap- defines additional context- Returns:
- partial sync information if item is catalog version aware.
-
findSyncCounterpart
java.util.Optional<ItemModel> findSyncCounterpart(ItemModel item, SyncItemJobModel syncItemJob)
Finds a counterpart of given item in respective catalog version defined by the syncItemJob.- Parameters:
item- item of which counterpart will be found.syncItemJob- synchronization job which defines source and target catalog version.- Returns:
- counterpart item if found.
-
getItemsCatalogVersions
java.util.List<CatalogVersionModel> getItemsCatalogVersions(java.util.List<? extends ItemModel> items)
Extracts from given list items which are CatalogVersion- Parameters:
items- list of items- Returns:
- list of catalog version items
-
getCatalogVersionAwareItems
java.util.List<ItemModel> getCatalogVersionAwareItems(java.util.List<? extends ItemModel> items)
Extract catalog version aware itemsCatalogTypeService.isCatalogVersionAwareModel(ItemModel)- Parameters:
items- list of items- Returns:
- list of catalog version aware items
-
isSyncInProgress
boolean isSyncInProgress(ItemModel item)
Tells if given item is being synchronized.- Parameters:
item- item to check- Returns:
- true if item is being synchronized.
-
reRunCronJob
void reRunCronJob(CatalogVersionSyncCronJobModel cronJob)
Runs given sync cron job again omitting items already processed in the previous run.- Parameters:
cronJob- sync cron job to rerun.
-
canSync
boolean canSync(SyncItemJobModel sync)
Tells whether current user can perform given sync.- Parameters:
sync- synchronization job.- Returns:
- true if user can synchronize.
-
-