Groovy scripts overview
There should not be any surprise if any Hybris developer is asked to write Groovy script
Groovy is a scripting language based on Java.
It is used in Hybris world mainly for debugging and troubleshooting purpose
Using Groovy , we can run the scripts inside Hybris without modifying the source code.
It is very powerful for debugging purpose especially remote system
Example :
If we want to get the list of products which does not have any category associated with it
We can get it using groovy as below
- import de.hybris.platform.catalog.model.CatalogVersionModel
- import de.hybris.platform.core.model.product.ProductModel
- findProductsWithoutCategories()
- defaultProductService = spring.getBean "defaultProductService"
- catalogVersionService = spring.getBean "catalogVersionService"
- def findProductsWithoutCategories (){
- CatalogVersionModel categoryVersionModel = catalogVersionService.getCatalogVersion("apparelProductCatalog", "Staged")
- List<ProductModel> productModelList = defaultProductService.getAllProductsForCatalogVersion(categoryVersionModel)
- if(!productModelList.isEmpty()) {
- for(ProductModel product: productModelList) {
- if(product.getSupercategories().isEmpty()){
- println " Product “+ product.getCode() +” does not have any categories associated with it :"
- }
- }
- }
- }
import de.hybris.platform.catalog.model.CatalogVersionModel import de.hybris.platform.core.model.product.ProductModel findProductsWithoutCategories() defaultProductService = spring.getBean "defaultProductService" catalogVersionService = spring.getBean "catalogVersionService" def findProductsWithoutCategories (){ CatalogVersionModel categoryVersionModel = catalogVersionService.getCatalogVersion("apparelProductCatalog", "Staged") List<ProductModel> productModelList = defaultProductService.getAllProductsForCatalogVersion(categoryVersionModel) if(!productModelList.isEmpty()) { for(ProductModel product: productModelList) { if(product.getSupercategories().isEmpty()){ println " Product “+ product.getCode() +” does not have any categories associated with it :" } } } }
To run the Groovy script, navigate to http://localhost:9001/hac/console/scripting
Make sure Groovy is selected in the dropdown
paste the Groovy script under Edit statement, and click on Execute.
Result : display results returned by the script.
Output : display outputs raised by the script.
Stack trace : display error thrown by the script.