package com.salesmanager.core.util.www.tags; import java.math.BigDecimal; import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; import com.salesmanager.core.entity.catalog.Product; import com.salesmanager.core.entity.merchant.MerchantStore; import com.salesmanager.core.util.CurrencyUtil; import com.salesmanager.core.util.ProductUtil; public class ProductFinalPriceTag extends TagSupport { private Product product; private boolean displayCurrency; public int doStartTag() throws JspException { try { HttpServletRequest request = (HttpServletRequest) pageContext .getRequest(); HttpSession session = request.getSession(); Locale locale = (Locale) request.getAttribute("LOCALE"); MerchantStore store = (MerchantStore)session.getAttribute("STORE"); BigDecimal price = ProductUtil.determinePrice(product, locale, store.getCurrency()); String pprice = null; if(this.displayCurrency) { pprice = CurrencyUtil.displayFormatedAmountWithCurrency(price, store.getCurrency()); } else { pprice = CurrencyUtil.displayFormatedAmountNoCurrency(price, store.getCurrency()); } pageContext.getOut().print(pprice); if(this.displayCurrency) { pprice = CurrencyUtil.displayFormatedAmountWithCurrency(price, store.getCurrency()); } else { pprice = CurrencyUtil.displayFormatedAmountNoCurrency(price, store.getCurrency()); } pageContext.getOut().print(pprice); } catch (Exception ex) { //log.error(ex); } return SKIP_BODY; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public boolean isDisplayCurrency() { return displayCurrency; } public void setDisplayCurrency(boolean displayCurrency) { this.displayCurrency = displayCurrency; } }