@RequestMapping(value="/products/{id}", method=RequestMethod.POST) public String updateProduct(@Valid @ModelAttribute("product") ProductForm productForm, BindingResult result, Model model, RedirectAttributes redirectAttributes) { productFormValidator.validate(productForm, result); if(result.hasErrors()){ return viewPrefix+"edit_product"; } Product product = productForm.toProduct(); Product persistedProduct = catalogService.updateProduct(product); this.saveProductImageToDisk(productForm); logger.debug("Updated product with id : {} and name : {}", persistedProduct.getId(), persistedProduct.getName()); redirectAttributes.addFlashAttribute("info", "Product updated successfully"); return "redirect:/products"; }
public Product createProduct(Product product) { Product persistedProduct = getProductBySku(product.getName()); if(persistedProduct != null){ throw new JCartException("Product SKU "+product.getSku()+" already exist"); } return productRepository.save(product); }
@RequestMapping(value="/products", method=RequestMethod.POST) public String createProduct(@Valid @ModelAttribute("product") ProductForm productForm, BindingResult result, Model model, RedirectAttributes redirectAttributes) { productFormValidator.validate(productForm, result); if(result.hasErrors()){ return viewPrefix+"create_product"; } Product product = productForm.toProduct(); Product persistedProduct = catalogService.createProduct(product); productForm.setId(product.getId()); this.saveProductImageToDisk(productForm); logger.debug("Created new product with id : {} and name : {}", persistedProduct.getId(), persistedProduct.getName()); redirectAttributes.addFlashAttribute("info", "Product created successfully"); return "redirect:/products"; }
public static ProductForm fromProduct(Product product) { ProductForm p = new ProductForm(); p.setId(product.getId()); p.setName(product.getName()); p.setDescription(product.getDescription()); p.setDisabled(product.isDisabled()); p.setPrice(product.getPrice()); p.setSku(product.getSku()); p.setCategoryId(product.getCategory().getId()); //p.setImageUrl(WebUtils.IMAGES_PREFIX+product.getId()+".jpg"); return p; } }