1 5 package com.dotmarketing.portlets.product.action; 6 7 import java.util.ArrayList ; 8 9 import javax.portlet.PortletConfig; 10 import javax.portlet.PortletRequest; 11 import javax.portlet.PortletResponse; 12 import javax.portlet.RenderRequest; 13 import javax.portlet.RenderResponse; 14 import javax.portlet.WindowState; 15 16 import org.apache.struts.action.ActionForm; 17 import org.apache.struts.action.ActionForward; 18 import org.apache.struts.action.ActionMapping; 19 20 import com.dotmarketing.util.Logger; 21 import com.dotmarketing.util.UtilMethods; 22 import com.liferay.portal.struts.PortletAction; 23 import com.dotmarketing.portlets.product.factories.ProductFactory; 24 import com.dotmarketing.portlets.product.factories.ProductFormatFactory; 25 import com.dotmarketing.portlets.product.model.Product; 26 import com.dotmarketing.portlets.product.model.ProductFormat; 27 import com.dotmarketing.portlets.product.struts.ProductForm; 28 29 33 public class ViewProductAction extends PortletAction { 34 public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, 35 RenderResponse res) throws Exception { 36 Logger.debug(this,"START VIEW PRODUCT ACTION"); 37 _viewProducts(mapping,form,config,req,res); 38 if (req.getWindowState().equals(WindowState.NORMAL)) { 39 return mapping.findForward("portlet.ext.product.view"); 40 } else { 41 return mapping.findForward("portlet.ext.product.view_product"); 42 } 43 } 44 45 private void _viewProducts(ActionMapping mapping, ActionForm form, PortletConfig config, PortletRequest req, 46 PortletResponse res) throws Exception 47 { 48 ProductForm productForm = (ProductForm) form; 49 String [] productsType = productForm.getProductTypes(); 50 String keyword = productForm.getKeyword(); 51 String orderBy = productForm.getOrderBy(); 53 String direction = productForm.getDirection(); 54 55 orderBy = (UtilMethods.isSet(orderBy) ? orderBy : "sort_order"); 56 ArrayList <Product> listProducts = (ArrayList <Product>) ProductFactory.getAllProducts(productsType,keyword,orderBy,direction); 57 ArrayList <ArrayList <ProductFormat>> formatProducts = new ArrayList <ArrayList <ProductFormat>>(listProducts.size()); 58 for(int i = 0; i < listProducts.size(); i++) 59 { 60 Product product = (Product) listProducts.get(i); 61 ArrayList <ProductFormat> productFormats = (ArrayList <ProductFormat>) ProductFormatFactory.getAllFormatsByProduct(product); 62 formatProducts.add(productFormats); 63 } 64 productForm.setProducts(listProducts); 65 productForm.setFormats(formatProducts); 66 } 67 } | Popular Tags |