/** * Get the ImportStrategyType for dependent collection. Retain collection. This option keeps * existing dependencies and adds any new dependencies to the target object. If the import package * contains updates to existing dependencies the updates are applied. * * @param context the import context * @return ImportStrategyType */ private ImportStrategyType getImportStrategyType(final ImportContext context) { ImportStrategyType importStrategyType = ImportStrategyType.IMMUTABLE; ImporterConfiguration importedConfiguration = context.getImportConfiguration().getImporterConfiguration(JobType.PRICELISTDESCRIPTOR); if (importedConfiguration.getImportStrategyType().equals(ImportStrategyType.UPDATE) && importedConfiguration .getCollectionStrategyType(DependentElementType.BASE_AMOUNTS) .equals(CollectionStrategyType.RETAIN_COLLECTION)) { importStrategyType = ImportStrategyType.INSERT_OR_UPDATE; } return importStrategyType; }
/** * Constructs product collections strategy. * * @param importerConfiguration the importer configuration */ public ProductCollectionsStrategy(final ImporterConfiguration importerConfiguration) { CollectionStrategyType skuAttributesCollectionStrategyType = importerConfiguration.getCollectionStrategyType(DependentElementType.SKU_ATTRIBUTES); isSkuAttributesClearCollection = skuAttributesCollectionStrategyType.equals(CollectionStrategyType.CLEAR_COLLECTION); CollectionStrategyType productAttributesCollectionStrategyType = importerConfiguration.getCollectionStrategyType(DependentElementType.PRODUCT_ATTRIBUTES); isProductAttributesClearCollection = productAttributesCollectionStrategyType.equals(CollectionStrategyType.CLEAR_COLLECTION); CollectionStrategyType productSkuCollectionStrategyType = importerConfiguration.getCollectionStrategyType(DependentElementType.PRODUCT_SKUS); isProductSkusClearCollection = productSkuCollectionStrategyType.equals(CollectionStrategyType.CLEAR_COLLECTION); }