Class AbstractProductCatalogVersionDiffFinder
- java.lang.Object
-
- de.hybris.platform.catalog.job.diff.impl.AbstractProductCatalogVersionDiffFinder
-
- All Implemented Interfaces:
CatalogVersionDifferenceFinder<ProductModel,ProductCatalogVersionDifferenceModel>
- Direct Known Subclasses:
NewProductCatalogVersionDiffFinder
,RemovedProductCatalogVersionDiffFinder
public abstract class AbstractProductCatalogVersionDiffFinder extends java.lang.Object implements CatalogVersionDifferenceFinder<ProductModel,ProductCatalogVersionDifferenceModel>
General difference finder for a differentProductModel
s betweenCompareCatalogVersionsCronJobModel
s source and targetCatalogVersionModel
.
-
-
Field Summary
Fields Modifier and Type Field Description protected EnumerationService
enumerationService
protected ModelService
modelService
-
Constructor Summary
Constructors Constructor Description AbstractProductCatalogVersionDiffFinder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.util.Collection<ProductModel>
findDifferences(int start, int count, CompareCatalogVersionsCronJobModel model)
Abstraction for a getting collection of differentProductModel
betweenCompareCatalogVersionsCronJobModel
s source and targetCatalogVersionModel
.protected abstract ProductDifferenceMode
getProductDifferenceMode()
Provides aProductDifferenceMode
instance to be specialized in any subtype.protected abstract ProductCatalogVersionDifferenceModel
populateDifferenceModel(ProductModel srcProduct, ProductModel targetProduct, CompareCatalogVersionsCronJobModel model)
int
processDifferences(CompareCatalogVersionsCronJobModel model)
Processes difference for a givenCompareCatalogVersionsCronJobModel
model.protected java.util.Collection<ProductModel>
search4Diffs(int start, int count, CatalogVersionModel version1, CatalogVersionModel version2)
Searches for a difference between two catalog versions.protected abstract void
setDifferencesCount(CompareCatalogVersionsCronJobModel model, int differencedProductsCount)
Method to reflect differences intoCronJobModel
.void
setEnumerationService(EnumerationService enumerationService)
void
setFlexibleSearchService(FlexibleSearchService flexibleSearchService)
void
setModelService(ModelService modelService)
void
setRange(int range)
protected abstract boolean
shouldProcess(CompareCatalogVersionsCronJobModel model)
Method decides if to process differences or not depending on the model's flagCompareCatalogVersionsCronJobModel.getMissingProducts()
,CompareCatalogVersionsCronJobModel.getSearchNewProducts()
-
-
-
Field Detail
-
modelService
protected ModelService modelService
-
enumerationService
protected EnumerationService enumerationService
-
-
Method Detail
-
setRange
public void setRange(int range)
-
setEnumerationService
public void setEnumerationService(EnumerationService enumerationService)
-
setModelService
public void setModelService(ModelService modelService)
-
setFlexibleSearchService
public void setFlexibleSearchService(FlexibleSearchService flexibleSearchService)
-
processDifferences
public int processDifferences(CompareCatalogVersionsCronJobModel model)
Description copied from interface:CatalogVersionDifferenceFinder
Processes difference for a givenCompareCatalogVersionsCronJobModel
model.- Specified by:
processDifferences
in interfaceCatalogVersionDifferenceFinder<ProductModel,ProductCatalogVersionDifferenceModel>
-
shouldProcess
protected abstract boolean shouldProcess(CompareCatalogVersionsCronJobModel model)
Method decides if to process differences or not depending on the model's flagCompareCatalogVersionsCronJobModel.getMissingProducts()
,CompareCatalogVersionsCronJobModel.getSearchNewProducts()
-
setDifferencesCount
protected abstract void setDifferencesCount(CompareCatalogVersionsCronJobModel model, int differencedProductsCount)
Method to reflect differences intoCronJobModel
.
-
findDifferences
protected abstract java.util.Collection<ProductModel> findDifferences(int start, int count, CompareCatalogVersionsCronJobModel model)
Abstraction for a getting collection of differentProductModel
betweenCompareCatalogVersionsCronJobModel
s source and targetCatalogVersionModel
.
-
getProductDifferenceMode
protected abstract ProductDifferenceMode getProductDifferenceMode()
Provides aProductDifferenceMode
instance to be specialized in any subtype.
-
populateDifferenceModel
protected abstract ProductCatalogVersionDifferenceModel populateDifferenceModel(ProductModel srcProduct, ProductModel targetProduct, CompareCatalogVersionsCronJobModel model)
-
search4Diffs
protected java.util.Collection<ProductModel> search4Diffs(int start, int count, CatalogVersionModel version1, CatalogVersionModel version2)
Searches for a difference between two catalog versions.For looking new products use source/target as version1/version2 catalog version.
For looking removed products use target/source as version1/version2 catalog version
-
-