public class CustomObjectSync extends BaseSync<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>,CustomObjectSyncStatistics,CustomObjectSyncOptions>
statistics, syncOptions
Constructor and Description |
---|
CustomObjectSync(CustomObjectSyncOptions syncOptions) |
Modifier and Type | Method and Description |
---|---|
protected java.util.concurrent.CompletionStage<CustomObjectSyncStatistics> |
process(java.util.List<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>> customObjectDrafts)
Iterates through the whole
customObjectDrafts list and accumulates its valid drafts to
batches. |
protected java.util.concurrent.CompletionStage<CustomObjectSyncStatistics> |
processBatch(java.util.List<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>> batch)
This method first creates a new
Set of valid CustomObjectDraft elements. |
executeSupplierIfConcurrentModificationException, getStatistics, getSyncOptions, sync, syncBatches
public CustomObjectSync(@Nonnull CustomObjectSyncOptions syncOptions)
protected java.util.concurrent.CompletionStage<CustomObjectSyncStatistics> process(@Nonnull java.util.List<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>> customObjectDrafts)
customObjectDrafts
list and accumulates its valid drafts to
batches. Every batch is then processed by processBatch(List)
.
Inherited doc: Given a list of resource (e.g. categories, products, etc..) drafts. This method compares each new resource in this list with it's corresponding old resource in a given CTP project, and in turn it either issues update actions on the existing resource if it exists or create it if it doesn't.
process
in class BaseSync<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>,CustomObjectSyncStatistics,CustomObjectSyncOptions>
customObjectDrafts
- List
of CustomObjectDraft
's that would be synced into
CTP project.CompletionStage
with CustomObjectSyncStatistics
holding statistics of
all sync processes performed by this sync instance.protected java.util.concurrent.CompletionStage<CustomObjectSyncStatistics> processBatch(@Nonnull java.util.List<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>> batch)
Set
of valid CustomObjectDraft
elements. For
more on the rules of validation, check: CustomObjectBatchValidator.validateAndCollectReferencedKeys(List)
. Using the resulting set of
validCustomObjectDrafts
, the matching custom objects in the target CTP project are
fetched then the method syncBatch(Set, Set)
is called to perform the
sync (update or create requests accordingly) on the target project.
In case of error during of fetching of existing custom objects, the error callback will be triggered. And the sync process would stop for the given batch.
processBatch
in class BaseSync<io.sphere.sdk.customobjects.CustomObjectDraft<com.fasterxml.jackson.databind.JsonNode>,CustomObjectSyncStatistics,CustomObjectSyncOptions>
batch
- batch of drafts that need to be syncedCompletionStage
containing an instance of CustomObjectSyncStatistics
which contains information about the result of syncing the supplied batch to the target
project.