public class DefaultSynchronizationFacade extends java.lang.Object implements SynchronizationFacade
CatalogSynchronizationService. The synchronizations are done asynchronously
using a background process (cron job).| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
BACKOFFICE_SYNC_CONFIG_ABORT_ON_COLLIDING |
protected static java.lang.String |
SYNC_CONFIG_CREATE_SAVED_VALUES |
protected static java.lang.String |
SYNC_CONFIG_ERROR_MODE |
protected static java.lang.String |
SYNC_CONFIG_FORCE_UPDATE |
protected static java.lang.String |
SYNC_CONFIG_KEEP_CRON_JOB |
protected static java.lang.String |
SYNC_CONFIG_LOG_LEVEL_DATABASE |
protected static java.lang.String |
SYNC_CONFIG_LOG_LEVEL_FILE |
protected static java.lang.String |
SYNC_CONFIG_LOG_TO_DATABASE |
protected static java.lang.String |
SYNC_CONFIG_LOG_TO_FILE |
protected static java.lang.String |
SYNC_CONFIG_SYNCHRONOUS |
| Constructor and Description |
|---|
DefaultSynchronizationFacade() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canSync(SyncItemJobModel sync)
Tells whether current user can perform given sync.
|
protected java.util.List<ItemModel> |
collectRelatedItems(java.util.List<ItemModel> items,
java.util.Map<java.lang.String,java.lang.Object> ctxMap) |
protected void |
copyCronJobData(CatalogVersionSyncCronJobModel newCronJob,
CatalogVersionSyncCronJobModel cronJobForRerun) |
protected CatalogVersionSyncCronJobModel |
copyCronJobSafely(java.util.function.Supplier<CatalogVersionSyncCronJobModel> copySupplier) |
protected void |
copyScheduledMedia(CatalogVersionSyncCronJobModel newCronJob,
CatalogVersionSyncCronJobModel cronJobForRerun) |
protected CatalogVersionSyncCronJobModel |
createCronJobForRerun(CatalogVersionSyncCronJobModel cronJobForRerun) |
protected SyncConfig |
createSyncConfigWithDefaults(SyncItemJobModel syncJob)
Creates sync config based on project properties and syncJob settings.
|
protected <T> T |
executeInTransaction(java.util.function.Supplier<T> toExecute) |
protected java.util.Optional<java.lang.String> |
executeSync(SyncTask syncTask,
java.util.function.BiFunction<SyncItemJobModel,SyncConfig,SyncResult> syncRunner) |
protected <T> T |
executeWithoutTypeInterceptors(java.util.function.Supplier<T> toExecute) |
java.util.Optional<ItemModel> |
findSyncCounterpart(ItemModel item,
SyncItemJobModel syncItemJob)
Finds a counterpart of given item in respective catalog version defined by the syncItemJob.
|
protected java.lang.Boolean |
getBooleanFromSystemConfig(java.lang.String property,
java.lang.Boolean defaultValue) |
CatalogSynchronizationService |
getCatalogSynchronizationService() |
CatalogTypeService |
getCatalogTypeService() |
java.util.List<ItemModel> |
getCatalogVersionAwareItems(java.util.List<? extends ItemModel> items)
Extract catalog version aware items
CatalogTypeService.isCatalogVersionAwareModel(ItemModel) |
CatalogVersionService |
getCatalogVersionService() |
protected java.lang.String |
getConfigValue(java.lang.String property,
java.lang.String defaultValue) |
CronJobService |
getCronJobService() |
protected java.util.Map<java.lang.String,java.lang.Object> |
getCtxWithMaxRecursionDepth(java.util.Map<java.lang.String,java.lang.Object> ctx) |
protected <T extends java.lang.Enum> |
getEnumValueFromSystemConfig(java.lang.Class<T> enumType,
java.lang.String property,
T defaultValue) |
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 CatalogVersion
|
MediaService |
getMediaService() |
ModelService |
getModelService() |
java.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)
Checks
ItemModel's status in all available synchronizations. |
RelatedItemsCollector |
getRelatedItemsCollector() |
SessionService |
getSessionService() |
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.
|
protected java.util.List<SyncItemJobModel> |
getSynchronizations(CatalogVersionModel syncCatalogVersion) |
SynchronizationStatusService |
getSynchronizationStatusService() |
UserService |
getUserService() |
java.util.Optional<java.lang.Boolean> |
isInSync(ItemModel itemModel,
java.util.Map<java.lang.String,java.lang.Object> ctxMap)
Checks
ItemModel'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 all
ItemModels are sync according to source and target from SyncItemJobModel. |
boolean |
isSyncInProgress(ItemModel item)
Tells if given item is being synchronized.
|
protected java.util.Optional<java.lang.String> |
performCatalogSync(SyncTask syncTask) |
java.util.Optional<java.lang.String> |
performSynchronization(SyncTask syncTask)
Performs synchronization based on given sync task.
|
protected java.util.Optional<java.lang.String> |
preformItemsSync(SyncTask syncTask) |
protected SyncConfig |
prepareSyncConfig(SyncConfig syncConfig,
SyncItemJobModel syncJob)
Prepares sync config.
|
void |
reRunCronJob(CatalogVersionSyncCronJobModel cronJob)
Runs given sync cron job again omitting items already processed in the previous run.
|
void |
setCatalogSynchronizationService(CatalogSynchronizationService catalogSynchronizationService) |
void |
setCatalogTypeService(CatalogTypeService catalogTypeService) |
void |
setCatalogVersionService(CatalogVersionService catalogVersionService) |
void |
setCronJobService(CronJobService cronJobService) |
void |
setMediaService(MediaService mediaService) |
void |
setModelService(ModelService modelService) |
void |
setRelatedItemsCollector(RelatedItemsCollector relatedItemsCollector) |
void |
setSessionService(SessionService sessionService) |
void |
setSynchronizationStatusService(SynchronizationStatusService synchronizationStatusService) |
void |
setUserService(UserService userService) |
protected static final java.lang.String SYNC_CONFIG_CREATE_SAVED_VALUES
protected static final java.lang.String SYNC_CONFIG_FORCE_UPDATE
protected static final java.lang.String SYNC_CONFIG_SYNCHRONOUS
protected static final java.lang.String SYNC_CONFIG_LOG_TO_FILE
protected static final java.lang.String SYNC_CONFIG_LOG_TO_DATABASE
protected static final java.lang.String SYNC_CONFIG_KEEP_CRON_JOB
protected static final java.lang.String SYNC_CONFIG_LOG_LEVEL_DATABASE
protected static final java.lang.String SYNC_CONFIG_LOG_LEVEL_FILE
protected static final java.lang.String SYNC_CONFIG_ERROR_MODE
protected static final java.lang.String BACKOFFICE_SYNC_CONFIG_ABORT_ON_COLLIDING
public java.util.Optional<java.lang.String> performSynchronization(SyncTask syncTask)
SynchronizationFacadeperformSynchronization in interface SynchronizationFacadesyncTask - - defines sync jobs and items to sync.CronJobModel.getCode() if sync has been started.protected java.util.Optional<java.lang.String> performCatalogSync(SyncTask syncTask)
protected java.util.Optional<java.lang.String> preformItemsSync(SyncTask syncTask)
protected java.util.Optional<java.lang.String> executeSync(SyncTask syncTask, java.util.function.BiFunction<SyncItemJobModel,SyncConfig,SyncResult> syncRunner)
public java.util.List<CatalogVersionModel> getItemsCatalogVersions(java.util.List<? extends ItemModel> items)
SynchronizationFacadegetItemsCatalogVersions in interface SynchronizationFacadeitems - list of itemspublic java.util.List<ItemModel> getCatalogVersionAwareItems(java.util.List<? extends ItemModel> items)
SynchronizationFacadeCatalogTypeService.isCatalogVersionAwareModel(ItemModel)getCatalogVersionAwareItems in interface SynchronizationFacadeitems - list of itemsprotected java.util.List<SyncItemJobModel> getSynchronizations(CatalogVersionModel syncCatalogVersion)
public java.util.List<SyncItemJobModel> getInboundSynchronizations(CatalogVersionModel catalogVersion)
SynchronizationFacadegetInboundSynchronizations in interface SynchronizationFacadecatalogVersion - - catalog version for which outbound synchronizations will be returned. To obtain catalog version please
use SynchronizationFacade.getSyncCatalogVersion(Collection)public java.util.List<SyncItemJobModel> getOutboundSynchronizations(CatalogVersionModel catalogVersion)
SynchronizationFacadegetOutboundSynchronizations in interface SynchronizationFacadecatalogVersion - - catalog version for which outbound synchronizations will be returned. To obtain catalog version please
use SynchronizationFacade.getSyncCatalogVersion(Collection)public java.util.Optional<CatalogVersionModel> getSyncCatalogVersion(java.util.Collection<ItemModel> items)
SynchronizationFacadegetSyncCatalogVersion in interface SynchronizationFacadeitems - items for which catalog version will be extracted.public java.util.Optional<java.lang.Boolean> isInSync(java.util.List<ItemModel> itemModels, SyncItemJobModel jobModel, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
SynchronizationFacadeItemModels are sync according to source and target from SyncItemJobModel.isInSync in interface SynchronizationFacadeitemModels - 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 contextpublic java.util.Optional<java.lang.Boolean> isInSync(ItemModel itemModel, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
SynchronizationFacadeItemModel's status in all available synchronizations.isInSync in interface SynchronizationFacadeitemModel - defines item for which sync status is checkedctxMap - defines additional contextpublic boolean isSyncInProgress(ItemModel item)
SynchronizationFacadeisSyncInProgress in interface SynchronizationFacadeitem - item to checkpublic void reRunCronJob(CatalogVersionSyncCronJobModel cronJob)
SynchronizationFacadereRunCronJob in interface SynchronizationFacadecronJob - sync cron job to rerun.protected CatalogVersionSyncCronJobModel copyCronJobSafely(java.util.function.Supplier<CatalogVersionSyncCronJobModel> copySupplier)
protected <T> T executeInTransaction(java.util.function.Supplier<T> toExecute)
protected <T> T executeWithoutTypeInterceptors(java.util.function.Supplier<T> toExecute)
protected CatalogVersionSyncCronJobModel createCronJobForRerun(CatalogVersionSyncCronJobModel cronJobForRerun)
protected void copyCronJobData(CatalogVersionSyncCronJobModel newCronJob, CatalogVersionSyncCronJobModel cronJobForRerun)
protected void copyScheduledMedia(CatalogVersionSyncCronJobModel newCronJob, CatalogVersionSyncCronJobModel cronJobForRerun)
public java.util.Optional<PartialSyncInfo> getPartialSyncStatusInfo(ItemModel itemModel, SyncItemStatus status, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
SynchronizationFacadeItemModel's status in all available synchronizations.getPartialSyncStatusInfo in interface SynchronizationFacadeitemModel - defines item for which sync status is checkedstatus - defines target status for partial sync info PartialSyncInfoctxMap - defines additional contextpublic java.util.Optional<ItemModel> findSyncCounterpart(ItemModel item, SyncItemJobModel syncItemJob)
SynchronizationFacadefindSyncCounterpart in interface SynchronizationFacadeitem - item of which counterpart will be found.syncItemJob - synchronization job which defines source and target catalog version.protected java.util.List<ItemModel> collectRelatedItems(java.util.List<ItemModel> items, java.util.Map<java.lang.String,java.lang.Object> ctxMap)
public boolean canSync(SyncItemJobModel sync)
SynchronizationFacadecanSync in interface SynchronizationFacadesync - synchronization job.protected java.util.Map<java.lang.String,java.lang.Object> getCtxWithMaxRecursionDepth(java.util.Map<java.lang.String,java.lang.Object> ctx)
protected SyncConfig prepareSyncConfig(SyncConfig syncConfig, SyncItemJobModel syncJob)
createSyncConfigWithDefaults(SyncItemJobModel)syncConfig - sync config from sync task SyncTask.getSyncConfig();syncJob - sync job to be executed.protected SyncConfig createSyncConfigWithDefaults(SyncItemJobModel syncJob)
syncJob - sync job to be executed.protected java.lang.Boolean getBooleanFromSystemConfig(java.lang.String property,
java.lang.Boolean defaultValue)
protected <T extends java.lang.Enum> T getEnumValueFromSystemConfig(java.lang.Class<T> enumType,
java.lang.String property,
T defaultValue)
protected java.lang.String getConfigValue(java.lang.String property,
java.lang.String defaultValue)
public CatalogSynchronizationService getCatalogSynchronizationService()
public void setCatalogSynchronizationService(CatalogSynchronizationService catalogSynchronizationService)
public SynchronizationStatusService getSynchronizationStatusService()
public void setSynchronizationStatusService(SynchronizationStatusService synchronizationStatusService)
public CatalogTypeService getCatalogTypeService()
public void setCatalogTypeService(CatalogTypeService catalogTypeService)
public RelatedItemsCollector getRelatedItemsCollector()
public void setRelatedItemsCollector(RelatedItemsCollector relatedItemsCollector)
public CronJobService getCronJobService()
public void setCronJobService(CronJobService cronJobService)
public ModelService getModelService()
public void setModelService(ModelService modelService)
public MediaService getMediaService()
public void setMediaService(MediaService mediaService)
public SessionService getSessionService()
public void setSessionService(SessionService sessionService)
public CatalogVersionService getCatalogVersionService()
public void setCatalogVersionService(CatalogVersionService catalogVersionService)
public UserService getUserService()
public void setUserService(UserService userService)
Copyright © 2018 SAP SE. All Rights Reserved.