Rev 595 | 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"})})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;private Map<String,String> htmlSnippets;private PageManager pageManager = null;public AddressController(){super();pageManager = PageManager.getPageManager();}// GET /addresspublic HttpHeaders index() {long userId = userinfo.getUserId();boolean isLoggedIn = !userinfo.isLoggedIn();Map<PageContentKeys, String> params = new HashMap<PageContentKeys, String>();params.put(PageContentKeys.CUSTOMER_ID, userId+"");params.put(PageContentKeys.IS_LOGGED_IN, isLoggedIn+"");params.put(PageContentKeys.CART_ID, userinfo.getCartId()+"");params.put(PageContentKeys.ITEM_COUNT, userinfo.getTotalItems()+"");params.put(PageContentKeys.USER_NAME, userinfo.getNameOfUser());htmlSnippets = pageManager.getPageContents(PageEnum.SHIPPING_ADDRESS_PAGE, params);return new DefaultHttpHeaders("index").disableCaching();}// POST /addresspublic HttpHeaders 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 new DefaultHttpHeaders("redirect");}if(action.equals("delete")){Long addressId = Long.parseLong(this.request.getParameter("addressid"));userClient.removeAddressForUser(userinfo.getUserId(), addressId);addActionMessage("Address deleted successfully.");return new DefaultHttpHeaders("success");}if(action.equals("setdefault")){Long addressId = Long.parseLong(this.request.getParameter("addressid"));userClient.setDefaultAddress(userinfo.getUserId(), addressId);addActionMessage("Address set default successfully.");return new DefaultHttpHeaders("success");}}} catch (Exception e) {e.printStackTrace();addActionError("Unable to update address.");return new DefaultHttpHeaders("redirect");}return new DefaultHttpHeaders("redirect");}else{return new DefaultHttpHeaders("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 getHeaderSnippet(){return htmlSnippets.get("HEADER");}public String getMainMenuSnippet(){return htmlSnippets.get("MAIN_MENU");}public String getSearchBarSnippet(){return htmlSnippets.get("SEARCH_BAR");}public String getCustomerServiceSnippet(){return htmlSnippets.get("CUSTOMER_SERVICE");}public String getShippingAddressHeaderSnippet(){return htmlSnippets.get("SHIPPING_ADDRESS_HEADER");}public String getShippingAddressDetailsSnippet(){return htmlSnippets.get("SHIPPING_ADDRESS_DETAILS");}public String getMyResearchSnippet(){return htmlSnippets.get("MY_RESEARCH");}public String getBrowseHistorySnippet(){return htmlSnippets.get("BROWSE_HISTORY");}public String getFooterSnippet(){return htmlSnippets.get("FOOTER");}public String getJsFileSnippet(){return htmlSnippets.get("JS_FILES");}public String getCssFileSnippet(){return htmlSnippets.get("CSS_FILES");}}