groovy script sample
import com.sst.datasync.cronjob.SstCatalogExportCronJob
import de.hybris.platform.core.model.product.ProductModel
import de.hybris.platform.variants.model.VariantProductModel
import com.sst.core.model.SSTVariantModel
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// 1. Only set PIM preview flag previewTableWeb
// 2. Only need to set staged catalog
// 3. Use same logic as model table service to determine value
catalogVersionService = spring.getBean("catalogVersionService")
productService = spring.getBean("productService")
modelService = spring.getBean("modelService")
modelTableHelper = spring.getBean("sstModelTableHelper")
final Logger logger = LoggerFactory.getLogger("PM-169_Groovy");
catalogVersion = catalogVersionService.getCatalogVersion("SST", "Staged")
Collection<ProductModel> products = productService.getAllProductsForCatalogVersion(catalogVersion)
println("Found " + products.size().toString() + " products.")
logger.info("Found " + products.size().toString() + " products.")
count = 0
for (ProductModel product : products) {
if (SSTVariantModel.isInstance(product)) {
variant = (SSTVariantModel)product
if (variant.getPreviewTableWeb() == null) {
Boolean flag = modelTableHelper.isValidModelToExpose(variant)
if (flag) {
++count
println(variant.getCode() + ": Setting previewTableWeb = " + flag.toString())
logger.info(variant.getCode() + ": Setting previewTableWeb = " + flag.toString())
variant.setPreviewTableWeb(flag)
modelService.save(variant)
} else {
println(variant.getCode() + ": Leave previewTableWeb = null")
logger.info(variant.getCode() + ": Leave previewTableWeb = null")
}
} else {
println(variant.getCode() + ": previewTableWeb = " + variant.getPreviewTableWeb().toString() + " already")
logger.info(variant.getCode() + ": previewTableWeb = " + variant.getPreviewTableWeb().toString() + " already")
}
} else {
println(variant.getCode() + ": Not a SSTVariant")
logger.info(variant.getCode() + ": Not a SSTVariant")
}
}
logger.info ("previewTableWeb update complete. " + count.toString() + " variants updated.")
return "done"
Comments
Post a Comment