Class DefaultSynchronizationFacade
- java.lang.Object
-
- de.hybris.platform.cmsfacades.synchronization.impl.DefaultSynchronizationFacade
-
- All Implemented Interfaces:
SynchronizationFacade
public class DefaultSynchronizationFacade extends java.lang.Object implements SynchronizationFacade
Default implementation of the synchronization facade.
-
-
Constructor Summary
Constructors Constructor Description DefaultSynchronizationFacade()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SyncJobData
createCatalogSynchronization(SyncRequestData syncJobRequest)
Attempts to create a synchronization job.protected SyncItemCronJobModel
createSyncCronJob(SyncItemJobModel job)
Creates a newSyncItemCronJobModel
for the sameSyncItemJobModel
protected SyncItemJobModel
createSyncJobModel(CatalogVersionModel source, CatalogVersionModel target)
Create a sync jobprotected java.util.Optional<SyncItemJobModel>
findLatestSyncItemJobModel(java.lang.String catalogId, java.lang.String sourceCatalogVersionName, java.lang.String targetCatalogVersionName)
Find the latest SyncItemJobModelprotected java.util.Optional<SyncItemJobModel>
findLatestSyncItemJobModelByTarget(java.util.List<SyncItemJobModel> incomingSynchronizations, java.util.Map<PK,CronJobModel> latestCronJobs)
Retrieves the synchronization item that triggered the last successful cron job (SUCCESSFUL and FINISHED).protected java.util.Optional<CronJobModel>
findTheCronJob(java.lang.String catalogId, java.lang.String sourceCatalogVersionName, java.lang.String targetCatalogVersionName)
Find a cron job based a catalog and version.protected java.util.Optional<CronJobModel>
findTheCronJob(java.util.Optional<SyncItemJobModel> syncItemJobModel)
Return the latest cron job of a syncItemJobModelprotected org.springframework.validation.Validator
getBasicSyncJobRequestCompositeValidator()
protected org.springframework.validation.Validator
getCatalogSynchronizationCompositeValidator()
protected CatalogVersionService
getCatalogVersionService()
protected CronJobService
getCronJobService()
protected java.util.Optional<CronJobStatus>
getCronJobStatus(java.util.Optional<CronJobModel> cronJobModel)
Get a cron job statusprotected FacadeValidationService
getFacadeValidationService()
protected java.util.List<SyncItemJobModel>
getIncomingSynchronizations(java.lang.String catalogId, java.lang.String targetCatalogVersionName)
Finds the list of synchronizations targeting the provided catalog version.protected java.util.Optional<CronJobModel>
getLastSuccessfulCronJob(SyncItemJobModel syncItemJobModel)
Retrieves the last successful (SUCCESSFUL and FINISHED) cron job of the provided synchronization item.SyncJobData
getLastSynchronizationByCatalogTarget(SyncRequestData syncJobRequest)
Get the status of the last synchronization job bySyncRequestData
.protected ModelService
getModelService()
SyncJobData
getSynchronizationByCatalogSourceTarget(SyncRequestData syncJobRequest)
Get a synchronization status bySyncRequestData
.protected java.util.Map<PK,CronJobModel>
getSynchronizationsLastSuccessfulCronJob(java.util.List<SyncItemJobModel> synchronizations)
Retrieves the last successful cron job of each of the provided synchronization items.protected Populator<java.util.Optional<SyncItemJobModel>,SyncJobData>
getSyncItemJobToSyncJobDataPopulator()
protected Converter<java.util.Optional<CronJobModel>,SyncJobData>
getSyncJobConverter()
protected org.springframework.validation.Validator
getSyncJobRequestCompositeValidator()
protected UserService
getUserService()
void
setBasicSyncJobRequestCompositeValidator(org.springframework.validation.Validator basicSyncJobRequestCompositeValidator)
void
setCatalogSynchronizationCompositeValidator(org.springframework.validation.Validator catalogSynchronizationCompositeValidator)
void
setCatalogVersionService(CatalogVersionService catalogVersionService)
void
setCronJobService(CronJobService cronJobService)
void
setFacadeValidationService(FacadeValidationService facadeValidationService)
void
setModelService(ModelService modelService)
void
setSyncItemJobToSyncJobDataPopulator(Populator<java.util.Optional<SyncItemJobModel>,SyncJobData> syncItemJobToSyncJobDataPopulator)
void
setSyncJobConverter(Converter<java.util.Optional<CronJobModel>,SyncJobData> syncJobConverter)
void
setSyncJobRequestCompositeValidator(org.springframework.validation.Validator syncJobRequestCompositeValidator)
void
setUserService(UserService userService)
protected void
validateIfJobIsRunning(java.util.Optional<CronJobStatus> cronJobStatus)
Check if the a cron job is running
-
-
-
Method Detail
-
getSynchronizationByCatalogSourceTarget
public SyncJobData getSynchronizationByCatalogSourceTarget(SyncRequestData syncJobRequest) throws ValidationException
Description copied from interface:SynchronizationFacade
Get a synchronization status bySyncRequestData
.- Specified by:
getSynchronizationByCatalogSourceTarget
in interfaceSynchronizationFacade
- Parameters:
syncJobRequest
- the synchronization request data- Returns:
- the
SyncJobData
- Throws:
ValidationException
- if there any validation errors.
-
getLastSynchronizationByCatalogTarget
public SyncJobData getLastSynchronizationByCatalogTarget(SyncRequestData syncJobRequest) throws ValidationException
Description copied from interface:SynchronizationFacade
Get the status of the last synchronization job bySyncRequestData
. Information is retrieved based on the catalog version target.- Specified by:
getLastSynchronizationByCatalogTarget
in interfaceSynchronizationFacade
- Parameters:
syncJobRequest
- the synchronization request data- Returns:
- the
SyncJobData
- Throws:
ValidationException
- if there are any validation errors
-
getIncomingSynchronizations
protected java.util.List<SyncItemJobModel> getIncomingSynchronizations(java.lang.String catalogId, java.lang.String targetCatalogVersionName)
Finds the list of synchronizations targeting the provided catalog version.- Parameters:
catalogId
- a catalog idtargetCatalogVersionName
- the target catalog version- Returns:
- List
List of SyncItemJobModel
-
getSynchronizationsLastSuccessfulCronJob
protected java.util.Map<PK,CronJobModel> getSynchronizationsLastSuccessfulCronJob(java.util.List<SyncItemJobModel> synchronizations)
Retrieves the last successful cron job of each of the provided synchronization items.- Parameters:
synchronizations
- A list of synchronization items- Returns:
- Map
A map. It contains the last successful cron job of each synchronization item. It's indexed by the PK of the synchronization item.
-
getLastSuccessfulCronJob
protected java.util.Optional<CronJobModel> getLastSuccessfulCronJob(SyncItemJobModel syncItemJobModel)
Retrieves the last successful (SUCCESSFUL and FINISHED) cron job of the provided synchronization item.- Parameters:
syncItemJobModel
- A synchronization item- Returns:
- Optional
The last successful cron job.
-
findLatestSyncItemJobModelByTarget
protected java.util.Optional<SyncItemJobModel> findLatestSyncItemJobModelByTarget(java.util.List<SyncItemJobModel> incomingSynchronizations, java.util.Map<PK,CronJobModel> latestCronJobs)
Retrieves the synchronization item that triggered the last successful cron job (SUCCESSFUL and FINISHED).- Parameters:
incomingSynchronizations
- A list of synchronization itemslatestCronJobs
- A map of the latest synchronization cron jobs. Its indexed by synchronization items PKs.- Returns:
- Optional
The synchronization item
-
createCatalogSynchronization
public SyncJobData createCatalogSynchronization(SyncRequestData syncJobRequest)
Description copied from interface:SynchronizationFacade
Attempts to create a synchronization job. It may not succeed due to internal constraints, and in this case it will throw an exception.- Specified by:
createCatalogSynchronization
in interfaceSynchronizationFacade
- Parameters:
syncJobRequest
- the synchronization request data- Returns:
- the synchronization job status
-
validateIfJobIsRunning
protected void validateIfJobIsRunning(java.util.Optional<CronJobStatus> cronJobStatus)
Check if the a cron job is running- Parameters:
cronJobStatus
- anOptional
ofCronJobStatus
-
createSyncJobModel
protected SyncItemJobModel createSyncJobModel(CatalogVersionModel source, CatalogVersionModel target)
Create a sync job- Parameters:
source
- the catalog source versiontarget
- the catalog target version.- Returns:
- a
SyncItemJobModel
-
findLatestSyncItemJobModel
protected java.util.Optional<SyncItemJobModel> findLatestSyncItemJobModel(java.lang.String catalogId, java.lang.String sourceCatalogVersionName, java.lang.String targetCatalogVersionName)
Find the latest SyncItemJobModel- Parameters:
catalogId
-sourceCatalogVersionName
-targetTatalogVersionName
-- Returns:
- Optional
-
findTheCronJob
protected java.util.Optional<CronJobModel> findTheCronJob(java.lang.String catalogId, java.lang.String sourceCatalogVersionName, java.lang.String targetCatalogVersionName)
Find a cron job based a catalog and version.- Parameters:
catalogId
- a catalog idsourceCatalogVersionName
- the source catalog versiontargetCatalogVersionName
- the target catalog version- Returns:
- Optional
a Optional
ofCronJobModel
-
findTheCronJob
protected java.util.Optional<CronJobModel> findTheCronJob(java.util.Optional<SyncItemJobModel> syncItemJobModel)
Return the latest cron job of a syncItemJobModel- Parameters:
syncItemJobModel
- anOptional
ofSyncItemJobModel
- Returns:
- a
Optional
ofCronJobModel
-
getCronJobStatus
protected java.util.Optional<CronJobStatus> getCronJobStatus(java.util.Optional<CronJobModel> cronJobModel)
Get a cron job status- Parameters:
cronJobModel
-Optional
ofCronJobModel
- Returns:
Optional
ofCronJobStatus
-
createSyncCronJob
protected SyncItemCronJobModel createSyncCronJob(SyncItemJobModel job)
Creates a newSyncItemCronJobModel
for the sameSyncItemJobModel
- Parameters:
job
- the SyncItemJobModel that will hold the new instance of the cron Job- Returns:
- a new SyncItemCronJobModel
-
getCatalogVersionService
protected CatalogVersionService getCatalogVersionService()
-
setCatalogVersionService
public void setCatalogVersionService(CatalogVersionService catalogVersionService)
-
getSyncJobConverter
protected Converter<java.util.Optional<CronJobModel>,SyncJobData> getSyncJobConverter()
-
setSyncJobConverter
public void setSyncJobConverter(Converter<java.util.Optional<CronJobModel>,SyncJobData> syncJobConverter)
-
getFacadeValidationService
protected FacadeValidationService getFacadeValidationService()
-
setFacadeValidationService
public void setFacadeValidationService(FacadeValidationService facadeValidationService)
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
getCatalogSynchronizationCompositeValidator
protected org.springframework.validation.Validator getCatalogSynchronizationCompositeValidator()
-
setCatalogSynchronizationCompositeValidator
public void setCatalogSynchronizationCompositeValidator(org.springframework.validation.Validator catalogSynchronizationCompositeValidator)
-
getSyncJobRequestCompositeValidator
protected org.springframework.validation.Validator getSyncJobRequestCompositeValidator()
-
setSyncJobRequestCompositeValidator
public void setSyncJobRequestCompositeValidator(org.springframework.validation.Validator syncJobRequestCompositeValidator)
-
getBasicSyncJobRequestCompositeValidator
protected org.springframework.validation.Validator getBasicSyncJobRequestCompositeValidator()
-
setBasicSyncJobRequestCompositeValidator
public void setBasicSyncJobRequestCompositeValidator(org.springframework.validation.Validator basicSyncJobRequestCompositeValidator)
-
getCronJobService
protected CronJobService getCronJobService()
-
setCronJobService
public void setCronJobService(CronJobService cronJobService)
-
getSyncItemJobToSyncJobDataPopulator
protected Populator<java.util.Optional<SyncItemJobModel>,SyncJobData> getSyncItemJobToSyncJobDataPopulator()
-
setSyncItemJobToSyncJobDataPopulator
public void setSyncItemJobToSyncJobDataPopulator(Populator<java.util.Optional<SyncItemJobModel>,SyncJobData> syncItemJobToSyncJobDataPopulator)
-
getUserService
protected UserService getUserService()
-
setUserService
public void setUserService(UserService userService)
-
-