package controllers; import controllers.actions.SaveContext; import io.sphere.client.shop.model.Category; import io.sphere.client.shop.model.Product; import io.sphere.client.shop.model.Variant; import play.mvc.Result; import play.mvc.With; import sphere.ShopController; import views.html.products; import static utils.ControllerHelper.getDefaultCategory; @With(SaveContext.class) public class Products extends ShopController { public static Result select(String productSlug, int variantId) { // Case invalid product Product product = sphere().products().bySlug(productSlug).fetch().orNull(); if (product == null) { //flash("error", "Product not found"); return notFound("Product not found " + productSlug); } // Case valid select product Variant variant = product.getVariants().byId(variantId).or(product.getMasterVariant()); Category category = getDefaultCategory(product); return ok(products.render(product, variant, category)); } }