package org.springframework.samples.jpetstore.web.struts;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.samples.jpetstore.domain.CartItem;
public class UpdateCartQuantitiesAction extends BaseAction {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
CartActionForm cartForm = (CartActionForm) form;
Iterator cartItems = cartForm.getCart().getAllCartItems();
while (cartItems.hasNext()) {
CartItem cartItem = (CartItem) cartItems.next();
String itemId = cartItem.getItem().getItemId();
try {
int quantity = Integer.parseInt(request.getParameter(itemId));
cartForm.getCart().setQuantityByItemId(itemId, quantity);
if (quantity < 1) {
cartItems.remove();
}
}
catch (NumberFormatException e) {
//ignore on purpose
}
}
return mapping.findForward("success");
}
}
|