/** * Copyright (c) 2007 Samsung Electronics. All Rights Reserved. * Project: Samsung.com Site Renewal(2007.01~07) */ package com.sec.dotcom.p2.control.dock.busi; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; import com.sec.dotcom.common.constants.GlobalConstants; import com.sec.dotcom.common.util.StringUtil; import com.sec.dotcom.p2.control.dock.dao.ProductDockDAO; import com.sec.dotcom.p2.control.dock.to.IAInformationTO; import com.sec.dotcom.p2.control.dock.to.ProductModelTO; import com.sec.dotcomfw.dao.DAOManager; /** * Class Name : DockAction.java * Description : * * Modification Information * * Mod Date Modifier Description * ----------- -------- --------------------------- * 2009. 8. 4. 인정진 최초생성 * * @author ��d�� * @since 2009. 8. 4. * @version 1.0 */ public class ProductDockBusi { private static Logger logger = Logger.getRootLogger(); @SuppressWarnings("unchecked") public HashMap getCookieInfo (HttpServletRequest request) throws Exception { Cookie cookie[] = request.getCookies(); HashMap mapCookie = new HashMap(); for (int i=0; i getProductDockItemList (HttpServletRequest request, String type, IAInformationTO param) throws Exception { ProductDockDAO dao = (ProductDockDAO) DAOManager.getDAO(GlobalConstants.SQLMAP_CONFIG_B2CPDTP2, ProductDockDAO.class); List dockitemlist = new ArrayList(); // String site_cd = (String) request.getAttribute(GlobalConstants.FILTER_SITE_CODE_NAME); int typeCnt = 0; String site_cd = ""; HashMap mapCookie = getCookieInfo ( request); // IAInformationTO param = new IAInformationTO(); List prdMdlCdList = new ArrayList(); String model_cd = ""; String prd_ia_url_name_path = ""; if (StringUtil.string2Int((String)mapCookie.get(type + "_pro_cnt")) > 0) { typeCnt = StringUtil.string2Int((String)mapCookie.get(type + "_pro_cnt")); site_cd = (String)mapCookie.get("dk_" + type + "_pro_site"); prd_ia_url_name_path = (String)mapCookie.get("dk_" + type + "_pro_path"); model_cd = (String)mapCookie.get("dk_" + type + "_pro_cd"); String[] prdMdlCdOrder = new String[typeCnt]; /** * unescape */ site_cd = java.net.URLDecoder.decode(site_cd); prd_ia_url_name_path = java.net.URLDecoder.decode(prd_ia_url_name_path); model_cd = java.net.URLDecoder.decode(model_cd); /** * typeCnt로 구분 다중선택, 단일, null */ if (typeCnt > 1) { String[] arrSiteCd = site_cd.split("[|][|]"); String[] arrPrdIaUrlNamePath = prd_ia_url_name_path.split("[|][|]"); String[] arrModelCd = model_cd.split("[|][|]"); param.setSite_cd(arrSiteCd[0]); for(int i=0; i < typeCnt; i++) { prdMdlCdList.add(arrPrdIaUrlNamePath[i]+"@"+arrModelCd[i]); prdMdlCdOrder[i] = "'" + arrPrdIaUrlNamePath[i]+"@"+arrModelCd[i] + "'," + Integer.toString(i); } } else if (typeCnt == 1) { param.setSite_cd(site_cd); prdMdlCdList.add(prd_ia_url_name_path+"@"+model_cd); prdMdlCdOrder[0] = "'" + prd_ia_url_name_path+"@"+model_cd + "'," + Integer.toString(1); } //CList Count 값을 js에서 컨트롤 불가능. param.setDock_cnt(typeCnt); param.setClist_pro_cnt(StringUtil.string2Int((String)mapCookie.get("clist_pro_cnt"))); param.setPrdMdlCdList(prdMdlCdList); param.setPrdMdlCdOrder(prdMdlCdOrder); param.getPrd_mdl_cd(); dockitemlist = dao.productDockItemList(param); } return dockitemlist; } @SuppressWarnings("unchecked") public List getRecommandItemList(HttpServletRequest request,IAInformationTO param) throws Exception { ProductDockDAO dao = (ProductDockDAO) DAOManager.getDAO(GlobalConstants.SQLMAP_CONFIG_B2CPDTP2, ProductDockDAO.class); String site_cd = (String) request.getAttribute(GlobalConstants.FILTER_SITE_CODE_NAME); String recommand_prd_cd = StringUtil.NVL(request.getParameter("recommand_prd_cd"), ""); // String site_cd = StringUtil.NVL(request.getParameter("site_cd"), ""); int typeCnt = 0; List productrecommandItemList = new ArrayList(); HashMap mapCookie = getCookieInfo ( request); List prdMdlCdList = new ArrayList(); List recPrdMdlCdList = new ArrayList(); String model_cd = ""; String prd_ia_url_name_path = ""; //ProductModelTO modelto = new ProductModelTO(); //modelto.setPrd_mdl_cd(recommand_prd_cd); //modelto.setSite_cd(site_cd); String type ="c"; if (StringUtil.string2Int((String)mapCookie.get(type + "_pro_cnt")) > 0) { typeCnt = StringUtil.string2Int((String)mapCookie.get(type + "_pro_cnt")); site_cd = (String)mapCookie.get("dk_" + type + "_pro_site"); prd_ia_url_name_path = (String)mapCookie.get("dk_" + type + "_pro_path"); model_cd = (String)mapCookie.get("dk_" + type + "_pro_cd"); // String[] prdMdlCdOrder = new String[typeCnt]; /** * unescape */ site_cd = java.net.URLDecoder.decode(site_cd); prd_ia_url_name_path = java.net.URLDecoder.decode(prd_ia_url_name_path); model_cd = java.net.URLDecoder.decode(model_cd); /** * typeCnt로 구분 다중선택, 단일, null */ if (typeCnt > 1) { String[] arrSiteCd = site_cd.split("[|][|]"); String[] arrPrdIaUrlNamePath = prd_ia_url_name_path.split("[|][|]"); String[] arrModelCd = model_cd.split("[|][|]"); param.setSite_cd(arrSiteCd[0]); for(int i=0; i < typeCnt; i++) { prdMdlCdList.add( arrPrdIaUrlNamePath[i]+"@"+arrModelCd[i]);// recPrdMdlCdList.add(arrModelCd[i]); //prdMdlCdOrder[i] = "'"+arrModelCd[i] + "'," + Integer.toString(i); } } else if (typeCnt == 1) { param.setSite_cd(site_cd); prdMdlCdList.add(prd_ia_url_name_path+"@"+model_cd); recPrdMdlCdList.add(model_cd); //prdMdlCdOrder[0] = "'" + prd_ia_url_name_path + "'," + Integer.toString(1); } //CList Count 값을 js에서 컨트롤 불가능. param.setPrdMdlCdList(prdMdlCdList); param.setRecPrdMdlCdList(recPrdMdlCdList); //param.setPrdMdlCdOrder(prdMdlCdOrder); productrecommandItemList = dao.productRecommandItemList(param); } return productrecommandItemList; } }