[Facecart-commits] facecart.web.customer/src/com/facecart/ecm/modules/cart CartTableModel.java, 1.
Status: Beta
Brought to you by:
apetrov
From: Stefan V. <ste...@us...> - 2008-12-21 23:19:53
|
Update of /cvsroot/facecart/facecart.web.customer/src/com/facecart/ecm/modules/cart In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19383/src/com/facecart/ecm/modules/cart Modified Files: Tag: development CartTableModel.java Log Message: Fixes SF FID 2354276 Index: CartTableModel.java =================================================================== RCS file: /cvsroot/facecart/facecart.web.customer/src/com/facecart/ecm/modules/cart/CartTableModel.java,v retrieving revision 1.2.2.3 retrieving revision 1.2.2.4 diff -C2 -d -r1.2.2.3 -r1.2.2.4 *** CartTableModel.java 16 Oct 2008 00:15:50 -0000 1.2.2.3 --- CartTableModel.java 21 Dec 2008 23:19:48 -0000 1.2.2.4 *************** *** 19,32 **** * * ! * */ package com.facecart.ecm.modules.cart; - import java.util.ArrayList; - import java.util.List; - - import javax.faces.event.ActionEvent; - import javax.faces.event.ValueChangeEvent; - import com.facecart.ecm.api.common.LocaleEventListener; import com.facecart.ecm.api.event.LocaleEvent; --- 19,26 ---- * * ! * */ package com.facecart.ecm.modules.cart; import com.facecart.ecm.api.common.LocaleEventListener; import com.facecart.ecm.api.event.LocaleEvent; *************** *** 36,39 **** --- 30,35 ---- import com.facecart.ecm.facade.customer.ShoppingCartRemote; import com.facecart.ecm.generic.AbstractClientReview; + import com.facecart.ecm.model.Customer; + import com.facecart.ecm.model.Product; import com.facecart.ecm.model.view.CartView; import com.facecart.ecm.model.view.ProductClientView; *************** *** 41,44 **** --- 37,45 ---- import com.facecart.ecm.navigation.PageState; + import javax.faces.event.ActionEvent; + import javax.faces.event.ValueChangeEvent; + import java.util.ArrayList; + import java.util.List; + // TODO: Auto-generated Javadoc *************** *** 46,274 **** * The Class CartTableModel. */ ! public class CartTableModel extends AbstractClientReview<CartView, CartView> implements LocaleEventListener{ ! ! /** The shopping cart. */ ! ShoppingCartRemote shoppingCart; ! ! /** The prod remote. */ ! ProductFacadeRemote prodRemote; ! ! /** The qtyExceeded. */ ! Boolean qtyExceeded = false; ! ! /** The allowCheckout. */ ! Boolean allowCheckout = true; ! ! /** The mark */ ! String mark = null; ! ! /** ! * Instantiates a new cart table model. ! */ ! public CartTableModel() { ! shoppingCart = vars.getShoppingCartRemote(); ! prodRemote = vars.getProductRemote(); ! pageState.addLocaleListener(this); ! } ! /** ! * Quantity changed. ! * ! * @param e the e ! */ ! public void quantityChanged(ValueChangeEvent e) { ! CartView cartItem =(CartView) e.getComponent().getAttributes().get("cartItem"); ! Integer newValue = (Integer)e.getNewValue(); ! if (newValue == null) { ! newValue = 1; ! } ! if (newValue.equals(e.getOldValue())) { ! return; ! } else if (newValue == 0) { ! shoppingCart.removeItem(cartItem); ! } else { ! shoppingCart.changeQuantity(cartItem, newValue); ! } ! ! } ! /* ! * (non-Javadoc) ! * ! * @see com.facecart.ecm.generic.AbstractClientReview#getRows() ! */ ! @Override ! public List<CartView> getRows() { ! // TODO Auto-generated method stub ! List<CartView> items = shoppingCart.getCartProducts(); ! String stockCkeck = vars.getConfigRemote().getConfigValueByKey( ! OrdersFacadeRemote.STOCK_CHECK); ! mark = vars.getConfigRemote().getConfigValueByKey( ! OrdersFacadeRemote.STOCK_MARK_PRODUCT_OUT_OF_STOCK); ! qtyExceeded = false; ! for (CartView item : items) { ! if ("true".equals(stockCkeck) ! && item.getQuantity() > item.getProduct() ! .getProductsQuantity()) { ! item.setOutOfStockMark(mark); ! if (!qtyExceeded) { ! qtyExceeded = true; ! } ! } else { ! item.setOutOfStockMark(null); ! } ! } ! allowCheckout = true; ! if (qtyExceeded ! && "false".equals(vars.getConfigRemote().getConfigValueByKey( ! OrdersFacadeRemote.STOCK_ALLOW_CHECKOUT))) { ! allowCheckout = false; ! } ! return items; ! } ! ! /* (non-Javadoc) ! * @see com.facecart.ecm.generic.AbstractClientReview#setRows(java.util.List) ! */ ! @Override ! public void setRows(List<CartView> rows) { ! shoppingCart.setCartProducts(rows); ! } ! /** ! * Display cart. ! */ ! private void displayCart(){ ! pageState.setVisibleStack(PageState.SHOPPING_CART_PANEL); ! } ! /* (non-Javadoc) ! * @see com.facecart.ecm.generic.AbstractClientReview#reviewMethod() ! */ ! @Override ! protected List<CartView> reviewMethod() { ! // TODO Auto-generated method stub ! return shoppingCart.getCartProducts(); ! } ! /** ! * Gets the checks if is empty. ! * ! * @return the checks if is empty ! */ ! public Boolean getIsEmpty() { ! return shoppingCart.isEmpty(); ! } ! ! /** ! * Removes the item. ! * ! * @param e the e ! */ ! public void removeItem(ActionEvent e) { ! Integer index = dataTable.getRowIndex(); ! CartView cartItem = getRows().get(index); ! shoppingCart.removeItem(cartItem); ! } ! ! /** ! * Display cart. ! * ! * @param e the e ! */ ! public void displayCart(ActionEvent e) { ! displayCart(); ! } ! ! ! /** ! * Adds the to cart event. ! * ! * @param e the e ! */ ! public void addToCartEvent(ActionEvent e) { ! ProductClientView product = (ProductClientView)e.getComponent().getAttributes().get("product"); ! List<ProductsAttributesView> attributes = (List<ProductsAttributesView>)e.getComponent().getAttributes().get("attribs"); ! List<ProductsAttributesView> fullAttributes = new ArrayList<ProductsAttributesView>(); ! ProductAttributesRemote remote = vars.getProductAttributesRemote(); ! for (ProductsAttributesView attribute:attributes) { ! attribute = remote.getProductAttribute(attribute.getOptionsId(), attribute.getOptionsValuesId(), product.getId()); ! fullAttributes.add(attribute); ! } ! ! CartView cartobj = new CartView(product,fullAttributes); ! shoppingCart.addToCart(cartobj); ! displayCart(); ! } ! /** ! * Adds the to cart now. ! * ! * @param e the e ! */ ! public void addToCartNOW(ActionEvent e) { ! Integer prodId = (Integer)e.getComponent().getAttributes().get("product"); ! ProductAttributesRemote prodAttribRemote = vars.getProductAttributesRemote(); ! Integer languageId = remote.getUsersLanguage().getLanguagesId(); ! List<ProductsAttributesView> attribs = prodAttribRemote.getAssignedOptions(prodId,languageId); ! if (attribs.size()>0) { ! pageState.navigateTo(PageState.PRODUCT_INFO_PANEL, false); ! } ! else { ! ProductClientView product = prodRemote.getProductClientViewById(prodId, vars.getUserVariablesRemote().getUsersLanguage().getLanguagesId()); ! CartView cartobj = new CartView(product,null); ! shoppingCart.addToCart(cartobj); ! displayCart(); ! } ! ! } ! /* (non-Javadoc) ! * @see com.facecart.ecm.api.common.LocaleEventListener#isAllowedOnStack(java.lang.String) ! */ ! public boolean isAllowedOnStack(String stack) { ! // TODO Auto-generated method stub ! return true; ! } ! /* (non-Javadoc) ! * @see com.facecart.ecm.api.common.LocaleEventListener#languageChanged(com.facecart.ecm.api.event.LocaleEvent) ! */ ! public void languageChanged(LocaleEvent evt) { ! ! List<CartView> rows = getRows(); ! for (CartView cartItem : rows) { ! Integer id = cartItem.getProduct().getId(); ! Integer langId = remote.getUsersLanguage().getLanguagesId(); ! ProductClientView refreshedProduct = prodRemote.getProductClientViewById(id,langId); ! cartItem.setProduct(refreshedProduct); ! List<ProductsAttributesView> attributes = cartItem.getAttributes(); ! List<ProductsAttributesView> refreshedAttribs = new ArrayList<ProductsAttributesView>(); ! for (ProductsAttributesView attrib:attributes) { ! ProductsAttributesView refreshedAttribute = prodRemote.getProductAttributeViewById(attrib.getId(), langId); ! refreshedAttribs.add(refreshedAttribute); ! } ! cartItem.setAttributes(refreshedAttribs); ! } ! shoppingCart.setCartProducts(rows); ! } - public String getMark() { - return mark; - } ! public Boolean getAllowCheckout() { ! return allowCheckout; } public Boolean getQtyExceeded() { return qtyExceeded; } ! } --- 47,297 ---- * The Class CartTableModel. */ ! public class CartTableModel extends AbstractClientReview<CartView, CartView> implements LocaleEventListener { ! /** ! * The shopping cart. ! */ ! ShoppingCartRemote shoppingCart; ! /** ! * The prod remote. ! */ ! ProductFacadeRemote prodRemote; ! /** ! * The qtyExceeded. ! */ ! Boolean qtyExceeded = false; ! /** ! * The allowCheckout. ! */ ! Boolean allowCheckout = true; ! /** ! * The mark ! */ ! String mark = null; ! /** ! * Instantiates a new cart table model. ! */ ! public CartTableModel() { ! shoppingCart = vars.getShoppingCartRemote(); ! prodRemote = vars.getProductRemote(); ! pageState.addLocaleListener(this); ! } ! /** ! * Quantity changed. ! * ! * @param e the e ! */ ! public void quantityChanged(ValueChangeEvent e) { ! CartView cartItem = (CartView) e.getComponent().getAttributes().get("cartItem"); ! Integer newValue = (Integer) e.getNewValue(); ! if (newValue == null) { ! newValue = 1; ! } ! Customer customer = vars.getUserVariablesRemote().getCustomer(); ! if (newValue == 0) { ! shoppingCart.removeItem(cartItem, customer); ! } else if (!newValue.equals(e.getOldValue())) { ! shoppingCart.changeQuantity(cartItem, newValue, customer); ! } ! } ! /* ! * (non-Javadoc) ! * ! * @see com.facecart.ecm.generic.AbstractClientReview#getRows() ! */ ! @Override ! public List<CartView> getRows() { ! // TODO Auto-generated method stub ! List<CartView> items = shoppingCart.getCartProducts(); + String stockCkeck = vars.getConfigRemote().getConfigValueByKey( + OrdersFacadeRemote.STOCK_CHECK); + mark = vars.getConfigRemote().getConfigValueByKey( + OrdersFacadeRemote.STOCK_MARK_PRODUCT_OUT_OF_STOCK); ! qtyExceeded = false; ! for (CartView item : items) { ! if ("true".equals(stockCkeck) ! && item.getQuantity() > item.getProduct() ! .getProductsQuantity()) { ! item.setOutOfStockMark(mark); ! if (!qtyExceeded) { ! qtyExceeded = true; ! } ! } else { ! item.setOutOfStockMark(null); ! } ! } + allowCheckout = !(qtyExceeded + && "false".equals(vars.getConfigRemote().getConfigValueByKey( + OrdersFacadeRemote.STOCK_ALLOW_CHECKOUT))); ! return items; ! } ! /* (non-Javadoc) ! * @see com.facecart.ecm.generic.AbstractClientReview#setRows(java.util.List) ! */ ! @Override ! public void setRows(List<CartView> rows) { ! shoppingCart.setCartProducts(rows); ! } ! /** ! * Display cart. ! */ ! private void displayCart() { ! pageState.setVisibleStack(PageState.SHOPPING_CART_PANEL); ! } ! /* (non-Javadoc) ! * @see com.facecart.ecm.generic.AbstractClientReview#reviewMethod() ! */ ! @Override ! protected List<CartView> reviewMethod() { ! // TODO Auto-generated method stub ! return shoppingCart.getCartProducts(); ! } ! /** ! * Gets the checks if is empty. ! * ! * @return the checks if is empty ! */ ! public Boolean getIsEmpty() { ! return shoppingCart.isEmpty(); ! } ! ! /** ! * Removes the item. ! * ! * @param e the e ! */ ! public void removeItem(ActionEvent e) { ! Integer index = dataTable.getRowIndex(); ! CartView cartItem = getRows().get(index); ! Customer customer = vars.getUserVariablesRemote().getCustomer(); ! shoppingCart.removeItem(cartItem, customer); ! } ! ! /** ! * Display cart. ! * ! * @param e the e ! */ ! public void displayCart(ActionEvent e) { ! displayCart(); ! } ! ! /** ! * Adds the to cart event. ! * ! * @param e the e ! */ ! @SuppressWarnings("unchecked") ! public void addToCartEvent(ActionEvent e) { ! ProductClientView productView = (ProductClientView) e.getComponent().getAttributes().get("product"); ! List<ProductsAttributesView> attributes = (List<ProductsAttributesView>) e.getComponent().getAttributes().get("attribs"); ! List<ProductsAttributesView> fullAttributes = new ArrayList<ProductsAttributesView>(); ! ProductAttributesRemote remote = vars.getProductAttributesRemote(); ! for (ProductsAttributesView attribute : attributes) { ! attribute = remote.getProductAttribute(attribute.getOptionsId(), attribute.getOptionsValuesId(), productView.getId()); ! fullAttributes.add(attribute); ! } ! ! Customer customer = vars.getUserVariablesRemote().getCustomer(); ! Product product = prodRemote.findEntity(productView.getId(), Product.class); ! CartView cartobj = new CartView(productView, fullAttributes, customer, product); ! shoppingCart.addToCart(cartobj, customer); ! displayCart(); ! } ! ! /** ! * Adds the to cart now. ! * ! * @param e the e ! */ ! public void addToCartNOW(ActionEvent e) { ! Integer prodId = (Integer) e.getComponent().getAttributes().get("product"); ! ProductAttributesRemote prodAttribRemote = vars.getProductAttributesRemote(); ! Integer languageId = remote.getUsersLanguage().getLanguagesId(); ! List<ProductsAttributesView> attribs = prodAttribRemote.getAssignedOptions(prodId, languageId); ! if (attribs.size() > 0) { ! pageState.navigateTo(PageState.PRODUCT_INFO_PANEL, false); ! } else { ! ProductClientView productView = prodRemote.getProductClientViewById(prodId, vars.getUserVariablesRemote().getUsersLanguage().getLanguagesId()); ! Customer customer = vars.getUserVariablesRemote().getCustomer(); ! Product product = prodRemote.findEntity(productView.getId(), Product.class); ! CartView cartobj = new CartView(productView, null, customer, product); ! shoppingCart.addToCart(cartobj, customer); ! displayCart(); ! } ! ! } ! ! /* (non-Javadoc) ! * @see com.facecart.ecm.api.common.LocaleEventListener#isAllowedOnStack(java.lang.String) ! */ ! public boolean isAllowedOnStack(String stack) { ! // TODO Auto-generated method stub ! return true; ! } ! ! /* (non-Javadoc) ! * @see com.facecart.ecm.api.common.LocaleEventListener#languageChanged(com.facecart.ecm.api.event.LocaleEvent) ! */ ! public void languageChanged(LocaleEvent evt) { ! ! List<CartView> rows = getRows(); ! for (CartView cartItem : rows) { ! Integer id = cartItem.getProduct().getId(); ! Integer langId = remote.getUsersLanguage().getLanguagesId(); ! ProductClientView refreshedProduct = prodRemote.getProductClientViewById(id, langId); ! cartItem.setProduct(refreshedProduct); ! List<ProductsAttributesView> attributes = cartItem.getAttributes(); ! List<ProductsAttributesView> refreshedAttribs = new ArrayList<ProductsAttributesView>(); ! for (ProductsAttributesView attrib : attributes) { ! ProductsAttributesView refreshedAttribute = prodRemote.getProductAttributeViewById(attrib.getId(), langId); ! refreshedAttribs.add(refreshedAttribute); ! } ! cartItem.setAttributes(refreshedAttribs); ! } ! shoppingCart.setCartProducts(rows); ! } ! ! /** ! * Method getMark... ! * ! * @return String ! */ ! public String getMark() { ! return mark; ! } ! ! /** ! * Method getAllowCheckout... ! * ! * @return Boolean ! */ ! public Boolean getAllowCheckout() { ! return allowCheckout; } + /** + * Method getQtyExceeded... + * + * @return Boolean + */ public Boolean getQtyExceeded() { return qtyExceeded; } ! } \ No newline at end of file |