@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"; }
@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 updateProduct(Product product) { Product persistedProduct = getProductById(product.getId()); if(persistedProduct == null){ throw new JCartException("Product "+product.getId()+" doesn't exist"); } persistedProduct.setDescription(product.getDescription()); persistedProduct.setDisabled(product.isDisabled()); persistedProduct.setPrice(product.getPrice()); persistedProduct.setCategory(getCategoryById(product.getCategory().getId())); return productRepository.save(persistedProduct); }
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; } }