Class DefaultSynchronizationFacade

    • Constructor Detail

      • DefaultSynchronizationFacade

        public DefaultSynchronizationFacade()
    • Method Detail

      • 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 id
        targetCatalogVersionName - 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 items
        latestCronJobs - 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 interface SynchronizationFacade
        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 - an Optional of CronJobStatus
      • 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 id
        sourceCatalogVersionName - the source catalog version
        targetCatalogVersionName - the target catalog version
        Returns:
        Optional a Optional of CronJobModel
      • findTheCronJob

        protected java.util.Optional<CronJobModel> findTheCronJob​(java.util.Optional<SyncItemJobModel> syncItemJobModel)
        Return the latest cron job of a syncItemJobModel
        Parameters:
        syncItemJobModel - an Optional of SyncItemJobModel
        Returns:
        a Optional of CronJobModel
      • setCatalogVersionService

        public void setCatalogVersionService​(CatalogVersionService catalogVersionService)
      • 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)
      • setCronJobService

        public void setCronJobService​(CronJobService cronJobService)
      • setSyncItemJobToSyncJobDataPopulator

        public void setSyncItemJobToSyncJobDataPopulator​(Populator<java.util.Optional<SyncItemJobModel>,​SyncJobData> syncItemJobToSyncJobDataPopulator)
      • getUserService

        protected UserService getUserService()
      • setUserService

        public void setUserService​(UserService userService)