ProductCartService extends WebService { @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(propagation = Propagation.REQUIRED) public void removeProductFromCart(String uuid, Long p_id) throws UserNotExistingException, ProductNotExistingException { Product product = productDao.read(p_id); if (product == null) { throw new ProductNotExistingException(); } ProductCart cart = getCartOfUser(uuid); if ((cart == null) || (cart.getProducts() == null)) { return; } Iterator<Product> iterator = cart.getProducts().iterator(); while (iterator.hasNext()) { if (iterator.next().equals(product)) { iterator.remove(); } } productCartDao.update(cart); }  @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = false, propagation = Propagation.REQUIRED) ProductCart createCartOfUser(String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = false, propagation = Propagation.REQUIRED) ProductCart createCartOfUser(User user); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = false, propagation = Propagation.REQUIRED) void deleteCartOfUser(String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) ProductCart getCartOfUser(String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) ProductCart getCartOfUser(User user); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(propagation = Propagation.REQUIRED) void addProductToCart(String uuid, Long p_id); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(propagation = Propagation.REQUIRED) void removeProductFromCart(String uuid, Long p_id); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(propagation = Propagation.REQUIRED) List<Long> getProductsIdOfCart(String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) List<Product> getProductsOfCart(String uuid, int skip, int top); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) int countProductsInCart(String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true) int countProducts(CartSQLVisitor visitor, String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true) List<Product> getCartProducts(CartSQLVisitor visitor, String uuid, int skip, int top); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) boolean hasProducts(String uuid); @PreAuthorize("hasRole('ROLE_DOWNLOAD')") @Transactional(propagation = Propagation.REQUIRED) void clearCart(String uuid);  }
@Test (priority=100) public void removeProductFromCart() { pcs.removeProductFromCart("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0", 0L); List<Long>products = pcs.getProductsIdOfCart("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0"); Assert.assertEquals (products.size(), 1); Assert.assertEquals (products.get (0), new Long(5L)); }