Rev 410 | Blame | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.model.v1.shoppingcart.Cart;import in.shop2020.model.v1.shoppingcart.ShoppingCartException;import in.shop2020.serving.controllers.BaseController;import in.shop2020.serving.pages.PageContentKeys;import in.shop2020.serving.pages.PageEnum;import in.shop2020.serving.pages.PageManager;import in.shop2020.thrift.clients.ShoppingCartClient;import in.shop2020.thrift.clients.UserContextServiceClient;import java.util.*;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringUtils;import org.apache.juli.logging.Log;import org.apache.juli.logging.LogFactory;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import org.apache.struts2.interceptor.ParameterAware;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;import org.apache.thrift.TException;import com.opensymphony.xwork2.ValidationAwareSupport;@Results({@Result(name="success", type="redirectAction",params = {"actionName" , "cart"})})public class CartController extends BaseController implements ParameterAware, ServletRequestAware {private static final long serialVersionUID = 1L;private Map<String, String[]> reqparams;private Map<String, Object> sessions;private String redirectURL;private static Log log = LogFactory.getLog(CartController.class);private String itemId;HttpServletRequest request;private Map<String,String> htmlSnippets;public CartController(){}// GET /entitypublic HttpHeaders index() {Cookie loginCookie = new Cookie("userId", "Rajveer");Map cookiesMap = new HashMap();cookiesMap.put("USER_ID", loginCookie);setCookiesMap(cookiesMap);log.info( "Cookies map is " + this.getCookiesMap());log.info("CartController.index");Map<PageContentKeys, String> params = new HashMap<PageContentKeys, String>();params.put(PageContentKeys.CUSTOMER_ID, "4");params.put(PageContentKeys.IS_SESSION_ID, "1");htmlSnippets = PageManager.getPageManager().getPageContents(PageEnum.SHOPPING_CART_PAGE, params);return new DefaultHttpHeaders("index").disableCaching();}// POST /entitypublic String create() {log.info("CartController.create");printParams();if(getCookiesMap() != null){Cookie loginCookie = (Cookie)getCookiesMap().get("USER_ID");log.info("login cookie name is " + loginCookie.getName() );log.info("login cookie value is " + loginCookie.getValue());}log.info("item id is " + this.reqparams.get("item_id"));itemId = this.reqparams.get("item_id")[0];addItemToCart(itemId);addItemToCart(Long.parseLong(itemId), 4);// Add data to the cartreturn "success";}public void printParams(){for(String param : reqparams.keySet()) {log.info("param name is " + param);log.info("param first is " + reqparams.get(param)[0]);}log.info(this.reqparams);}private boolean addItemToCart(String itemId){log.info("Session Id is " + request.getSession().getId());log.info("Item Id is " + itemId);return true;}private void addItemToCart(long catalogItemId, long userId){UserContextServiceClient userContextServiceClient = null;in.shop2020.model.v1.user.UserContextService.Client userClient = null;ShoppingCartClient shoppingCartClient = null;in.shop2020.model.v1.shoppingcart.ShoppingCartService.Client cartClient = null;long cartId = -1;try {userContextServiceClient = new UserContextServiceClient();userClient = userContextServiceClient.getClient();shoppingCartClient = new ShoppingCartClient();cartClient = shoppingCartClient.getClient();cartId = cartClient.createCart(userId, false);cartClient.addItemToCart(cartId, catalogItemId, 1);} catch (ShoppingCartException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (TException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}//if user is logged in create new cart//if( userClient.getState(userId, false).isIsLoggedIn()){}public String getShoppingCartSnippets(){return htmlSnippets.get("SHOPPING_CART");}@Overridepublic void setParameters(Map<String, String[]> reqmap) {log.info("setParameters:" + reqmap);this.reqparams = reqmap;}@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;}}