Interface ExportService<P extends Export>
-
- All Superinterfaces:
com.broadleafcommerce.data.tracking.core.service.MappableCrudEntityService<P>,com.broadleafcommerce.data.tracking.core.service.RsqlMappableCrudEntityService<P>
- All Known Implementing Classes:
DefaultExportService
public interface ExportService<P extends Export> extends com.broadleafcommerce.data.tracking.core.service.RsqlMappableCrudEntityService<P>Service API forExports. Supported byExportRepository.- Author:
- Samarth Dhruva (samarthd)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.springframework.data.domain.Page<P>readByTargetAndApplicationIdAndTenantId(String target, String applicationId, @NonNull String tenantId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable)Reads the exports with the givenExport.targetandExport.applicationId.org.springframework.data.domain.Page<P>readByTargetAndAuthorAndApplicationIdAndTenantId(String target, String author, String applicationId, @NonNull String tenantId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable)org.springframework.data.domain.Page<P>readByTargetAndAuthorAndApplicationIdAndTenantIdAndParentId(String target, String author, String applicationId, @NonNull String tenantId, @NonNull String parentId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable)List<P>readIncompleteLastUpdatedBefore(Instant cutoff)Reads the exports which are incomplete (those with statusExportStatus.REQUESTEDorExportStatus.PROCESSING) whoseExport.lastUpdatedis before the givencutoff.List<P>readIncompleteLastUpdatedBeforeAndTenantId(Instant cutoff, String tenantId)Reads the exports which are incomplete (those with statusExportStatus.REQUESTEDorExportStatus.PROCESSING) whoseExport.lastUpdatedis before the givencutoff, within the specified tenant.booleansetError(String exportId, String errorMessage)Atomically finds and updates the given export: finds the export with the ID matching the givenexport, sets the export'sExport.errorMessageto the given value, setsExport.statustoExportStatus.ERROR, and renewsExport.lastUpdated.booleansetFileLocationAndFinishedStatus(String exportId, String fileLocation)Atomically finds and updates the export with the givenexportId: sets theExport.statustoExportStatus.FINISHED, sets theExport.fileLocationtofileLocation, and renewsExport.lastUpdated.booleansetNumberOfRecordsProcessed(String exportId, long numberOfRecordsProcessed)Atomically finds and updates the export with the givenexportId: setsExport.numberOfRecordsProcessedto the given value and renewsExport.lastUpdated.PsetProcessingStatus(String exportId)Atomically finds and updates the export with the givenexportId, setting theExport.statustoExportStatus.PROCESSINGand renewingExport.lastUpdated.-
Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.MappableCrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByIds, readById, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess
-
-
-
-
Method Detail
-
setProcessingStatus
@Nullable P setProcessingStatus(String exportId)
Atomically finds and updates the export with the givenexportId, setting theExport.statustoExportStatus.PROCESSINGand renewingExport.lastUpdated.The update is applied only if the export is found to have a
Export.statusofExportStatus.REQUESTED.- Parameters:
exportId- the ID of the export to find and update- Returns:
- the updated
Exportif successfully found and updated,nullotherwise
-
setError
boolean setError(String exportId, String errorMessage)
Atomically finds and updates the given export: finds the export with the ID matching the givenexport, sets the export'sExport.errorMessageto the given value, setsExport.statustoExportStatus.ERROR, and renewsExport.lastUpdated.The update is applied only if the export is found to have a
Export.statusofExportStatus.REQUESTEDorExportStatus.PROCESSING.- Parameters:
exportId- the ID of the export to find and updateerrorMessage- the error message to set on the export- Returns:
- true if the export update was successfully performed, false otherwise
-
setNumberOfRecordsProcessed
boolean setNumberOfRecordsProcessed(String exportId, long numberOfRecordsProcessed)
Atomically finds and updates the export with the givenexportId: setsExport.numberOfRecordsProcessedto the given value and renewsExport.lastUpdated.The update is applied only if the export is found to have a
Export.statusofExportStatus.PROCESSING- Parameters:
exportId- the ID of the export to find and updatenumberOfRecordsProcessed- the new value to set forExport.numberOfRecordsProcessed- Returns:
- true if the update was successfully performed, false otherwise
-
setFileLocationAndFinishedStatus
boolean setFileLocationAndFinishedStatus(String exportId, String fileLocation)
Atomically finds and updates the export with the givenexportId: sets theExport.statustoExportStatus.FINISHED, sets theExport.fileLocationtofileLocation, and renewsExport.lastUpdated.The update is applied only if the export is found to have a
Export.statusofExportStatus.PROCESSING- Parameters:
exportId- the ID of the export to modifyfileLocation- the file location to set on the export- Returns:
- true if the update was successfully performed, false otherwise
-
readByTargetAndApplicationIdAndTenantId
org.springframework.data.domain.Page<P> readByTargetAndApplicationIdAndTenantId(String target, @Nullable String applicationId, @NonNull @NonNull String tenantId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable)
Reads the exports with the givenExport.targetandExport.applicationId.- Parameters:
target- theExport.targetto filter byapplicationId- theExport.applicationIdto filter by. Note that if this isnull, only exports with null application IDs will be returned.tenantId- theExport.tenantIdto filter bypageable- information about which page of results to return from the database- Returns:
- the exports with the given
Export.targetandExport.applicationId
-
readByTargetAndAuthorAndApplicationIdAndTenantId
org.springframework.data.domain.Page<P> readByTargetAndAuthorAndApplicationIdAndTenantId(String target, String author, @Nullable String applicationId, @NonNull @NonNull String tenantId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable)
- Parameters:
target- the target to filter results byauthor- the author to filter results byapplicationId- theExport.applicationIdto filter by. Note that if this isnull, only exports with null application IDs will be returned.tenantId- theExport.tenantIdto filter byfilters- additional filters to apply, must not be nullpageable- information about which page of results to return from the database- Returns:
- the exports matching the given criteria
-
readIncompleteLastUpdatedBefore
List<P> readIncompleteLastUpdatedBefore(Instant cutoff)
Reads the exports which are incomplete (those with statusExportStatus.REQUESTEDorExportStatus.PROCESSING) whoseExport.lastUpdatedis before the givencutoff.- Parameters:
cutoff- the results will be filtered to only include those exports whoseExport.lastUpdatedis before this value- Returns:
- the exports which are incomplete and have a
Export.lastUpdatedbefore the givencutoff
-
readIncompleteLastUpdatedBeforeAndTenantId
List<P> readIncompleteLastUpdatedBeforeAndTenantId(Instant cutoff, String tenantId)
Reads the exports which are incomplete (those with statusExportStatus.REQUESTEDorExportStatus.PROCESSING) whoseExport.lastUpdatedis before the givencutoff, within the specified tenant.- Parameters:
cutoff- the results will be filtered to only include those exports whoseExport.lastUpdatedis before this valuetenantId- the tenant id that this export operation was initiated from- Returns:
- the exports which are incomplete and have a
Export.lastUpdatedbefore the givencutoff
-
readByTargetAndAuthorAndApplicationIdAndTenantIdAndParentId
org.springframework.data.domain.Page<P> readByTargetAndAuthorAndApplicationIdAndTenantIdAndParentId(String target, String author, @Nullable String applicationId, @NonNull @NonNull String tenantId, @NonNull @NonNull String parentId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable)
- Parameters:
target- the target to filter results byauthor- the author to filter results byapplicationId- theExport.applicationIdto filter by. Note that if this isnull, only exports with null application IDs will be returned.tenantId- theExport.tenantIdto filter byparentId- theExport.parentIdto filter byfilters- additional filters to apply, must not be nullpageable- information about which page of results to return from the database- Returns:
- the exports matching the given criteria
-
-