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 differentProductModels betweenCompareCatalogVersionsCronJobModels source and targetCatalogVersionModel.
-
-
Field Summary
Fields Modifier and Type Field Description protected EnumerationServiceenumerationServiceprotected ModelServicemodelService
-
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 differentProductModelbetweenCompareCatalogVersionsCronJobModels source and targetCatalogVersionModel.protected abstract ProductDifferenceModegetProductDifferenceMode()Provides aProductDifferenceModeinstance to be specialized in any subtype.protected abstract ProductCatalogVersionDifferenceModelpopulateDifferenceModel(ProductModel srcProduct, ProductModel targetProduct, CompareCatalogVersionsCronJobModel model)intprocessDifferences(CompareCatalogVersionsCronJobModel model)Processes difference for a givenCompareCatalogVersionsCronJobModelmodel.protected java.util.Collection<ProductModel>search4Diffs(int start, int count, CatalogVersionModel version1, CatalogVersionModel version2)Searches for a difference between two catalog versions.protected abstract voidsetDifferencesCount(CompareCatalogVersionsCronJobModel model, int differencedProductsCount)Method to reflect differences intoCronJobModel.voidsetEnumerationService(EnumerationService enumerationService)voidsetFlexibleSearchService(FlexibleSearchService flexibleSearchService)voidsetModelService(ModelService modelService)voidsetRange(int range)protected abstract booleanshouldProcess(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:CatalogVersionDifferenceFinderProcesses difference for a givenCompareCatalogVersionsCronJobModelmodel.- Specified by:
processDifferencesin 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 differentProductModelbetweenCompareCatalogVersionsCronJobModels source and targetCatalogVersionModel.
-
getProductDifferenceMode
protected abstract ProductDifferenceMode getProductDifferenceMode()
Provides aProductDifferenceModeinstance 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
-
-