Class DataFeedPublicationManager
java.lang.Object
com.broadleafcommerce.datafeed.service.manager.DataFeedPublicationManager
Responsible for managing the lifecycle of a 
DataFeedPublication operation.
 
 While DataFeedPublicationService is in charge of CRUD-related operations on
 DataFeedPublication, this service is a higher-level abstraction that performs the
 surrounding logic of processing publication operations. It internally delegates to
 DataFeedPublicationService for CRUD operations.
- 
Constructor SummaryConstructorsConstructorDescriptionDataFeedPublicationManager(DataFeedPublicationConfigurationService feedPublicationConfigurationService, DataFeedPublicationService<DataFeedPublication> publicationService, DataFeedProcessExecutionService<DataFeedProcessExecution> executionService, List<DataFeedPublisher> publishers, com.broadleafcommerce.common.extension.TypeFactory typeFactory, StorageService storageService) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected com.broadleafcommerce.data.tracking.core.context.ContextInfobuildContextInfo(String tenantId, com.broadleafcommerce.data.tracking.core.type.OperationType operationType) protected DataFeedPublishResponseDetailsbuildPublishResponse(boolean containsErrors, List<String> errorDetails) protected voidcompletePublication(String dataFeedPublicationId, DataFeedPublishResponseDetails publishResponse, String tenantId) protected PathcopyQueriedDataToTemporaryFile(String uniqueFilenameInContext, String tenantId) protected DataFeedPublisherprotected DataFeedProcessExecutionManagerLazy injection of this component since both are at a similar level of abstraction and we want to avoid circular dependency issues.protected DataFeedPublicationConfigurationServiceprotected DataFeedPublicationService<DataFeedPublication>protected List<DataFeedPublisher>protected StorageServiceprotected com.broadleafcommerce.common.extension.TypeFactorypreparePublishRequest(DataFeedPublishRequestDetails toInitialize, DataFeedPublication publication, String tenantId) Prepares and initializes the givenDataFeedPublishRequestDetailsinstance for the publication.voidrunPublication(String dataFeedPublicationId, String requestingTenantId) Actually runs the provided existing data feed publication.voidsetExecutionManager(DataFeedProcessExecutionManager executionManager) Lazy injection of this component since both are at a similar level of abstraction and we want to avoid circular dependency issues.
- 
Constructor Details- 
DataFeedPublicationManagerpublic DataFeedPublicationManager(DataFeedPublicationConfigurationService feedPublicationConfigurationService, DataFeedPublicationService<DataFeedPublication> publicationService, DataFeedProcessExecutionService<DataFeedProcessExecution> executionService, List<DataFeedPublisher> publishers, com.broadleafcommerce.common.extension.TypeFactory typeFactory, StorageService storageService) 
 
- 
- 
Method Details- 
runPublicationActually runs the provided existing data feed publication.- Parameters:
- dataFeedPublicationId- the- DataFeedPublication.getId()which needs to be run. This must exist in the datastore with status- DefaultDataFeedPublicationStatuses.REQUESTED.
- requestingTenantId- the tenant ID of where this run-publication request is coming from. This is important to prevent different tenants from running publications in each other
 
- 
buildContextInfoprotected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildContextInfo(String tenantId, com.broadleafcommerce.data.tracking.core.type.OperationType operationType) 
- 
preparePublishRequestprotected List<String> preparePublishRequest(DataFeedPublishRequestDetails toInitialize, DataFeedPublication publication, String tenantId) Prepares and initializes the givenDataFeedPublishRequestDetailsinstance for the publication.- Parameters:
- toInitialize- a newly instantiated- DataFeedPublishRequestDetailsinstance that should have its fields initialized
- publication- the publication for which this request is being built
- tenantId- the current context tenant ID
- Returns:
- a list containing any error messages that may have occurred during preparation, else an empty list
 
- 
copyQueriedDataToTemporaryFile
- 
findEligibleFeedPublisher@Nullable protected DataFeedPublisher findEligibleFeedPublisher(DataFeedPublishRequestDetails request) 
- 
buildPublishResponseprotected DataFeedPublishResponseDetails buildPublishResponse(boolean containsErrors, List<String> errorDetails) 
- 
completePublicationprotected void completePublication(String dataFeedPublicationId, DataFeedPublishResponseDetails publishResponse, String tenantId) 
- 
getFeedPublicationConfigurationService
- 
getPublicationService
- 
getExecutionService
- 
getPublishers
- 
getTypeFactoryprotected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
- 
getStorageService
- 
getExecutionManagerLazy injection of this component since both are at a similar level of abstraction and we want to avoid circular dependency issues.
- 
setExecutionManagerLazy injection of this component since both are at a similar level of abstraction and we want to avoid circular dependency issues.
 
-