Rev 637 | Blame | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.model.v1.user.Address;import in.shop2020.model.v1.user.AddressType;import in.shop2020.model.v1.user.UserContextService.Client;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.UserContextServiceClient;import java.util.*;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.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;@Results({@Result(name="redirect", type="redirectAction",params = {"actionName" , "address"}),@Result(name="login", type="redirectAction",params = {"actionName" , "login"})})public class AddressController extends BaseController implements ParameterAware{private static final long serialVersionUID = 1L;private static Log log = LogFactory.getLog(AddressController.class);Map<String, String[]> reqparams = null;public AddressController(){super();}// GET /addresspublic String index() {if(!userinfo.isLoggedIn()){setRedirectUrl();return "login";}htmlSnippets.put("SHIPPING_ADDRESS_HEADER",pageLoader.getShippingHeaderHtml());htmlSnippets.put("SHIPPING_ADDRESS_DETAILS",pageLoader.getShippingAddressDetailsHtml(userinfo.getUserId()));return "index";}// POST /addresspublic String create(){printParams();if(userinfo.isLoggedIn()){UserContextServiceClient userContextServiceClient;try {userContextServiceClient = new UserContextServiceClient();Client userClient = userContextServiceClient.getClient();String action = this.request.getParameter("action");String isDefault = this.request.getParameter("default");if(action != null){if(action.equals("add")){Address address = new Address();address.setName(this.request.getParameter("name"));address.setLine1(this.request.getParameter("line1"));address.setLine2(this.request.getParameter("line2"));address.setCity(this.request.getParameter("city"));address.setState(this.request.getParameter("state"));address.setPin(this.request.getParameter("pincode"));address.setPhone(this.request.getParameter("phone"));address.setCountry(this.request.getParameter("country"));address.setEnabled(true);address.setType(AddressType.HOME);if(isDefault.equals("true")){userClient.addAddressForUser(userinfo.getUserId(), address, true);addActionMessage("Address added successfully.");}else{userClient.addAddressForUser(userinfo.getUserId(), address, false);addActionMessage("Address added successfully.");}return "redirect";}if(action.equals("delete")){Long addressId = Long.parseLong(this.request.getParameter("addressid"));userClient.removeAddressForUser(userinfo.getUserId(), addressId);addActionMessage("Address deleted successfully.");return "success";}if(action.equals("setdefault")){Long addressId = Long.parseLong(this.request.getParameter("addressid"));userClient.setDefaultAddress(userinfo.getUserId(), addressId);addActionMessage("Address set default successfully.");return "success";}}} catch (Exception e) {e.printStackTrace();addActionError("Unable to update address.");return"redirect";}return "redirect";}else{return "failure";}}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);}@Overridepublic void setParameters(Map<String, String[]> reqmap) {log.info("setParameters:" + reqmap);this.reqparams = reqmap;}public String getShippingAddressHeaderSnippet(){return htmlSnippets.get("SHIPPING_ADDRESS_HEADER");}public String getShippingAddressDetailsSnippet(){return htmlSnippets.get("SHIPPING_ADDRESS_DETAILS");}}