Rev 2674 | Rev 3106 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.thrift.clients.CRMServiceClient;import in.shop2020.thrift.clients.TransactionServiceClient;import in.shop2020.thrift.clients.UserContextServiceClient;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.log4j.Logger;import org.apache.shiro.SecurityUtils;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.interceptor.SessionAware;import org.apache.thrift.TException;import com.opensymphony.xwork2.ValidationAwareSupport;/*** Base class for all user action handlers i.e. controllers** @author Vikas*/public abstract class BaseController extends ValidationAwareSupport implementsServletResponseAware, ServletRequestAware, SessionAware{private static final long serialVersionUID = 3339523094497219816L;protected static Logger log = Logger.getLogger(BaseController.class);protected static final String INPUT = "input";protected static final String INDEX = "index";protected static final String EDIT_NEW = "editNew";protected static final String EDIT = "edit";protected static final String SHOW = "show";protected final SimpleDateFormat SDF = new SimpleDateFormat("dd MMM, yyyy hh:mm a");protected HttpServletResponse response;protected HttpServletRequest request;protected HttpSession session;protected Map<String, Object> sessionMap;// Clients used at many placesprotected in.shop2020.model.v1.user.UserContextService.Client userContextServiceClient;protected in.shop2020.model.v1.order.TransactionService.Client transactionServiceClient;protected in.shop2020.crm.CRMService.Client crmServiceClient;protected String currentAgentEmailId = (String) SecurityUtils.getSubject().getPrincipal();protected void createServiceClients(){try {userContextServiceClient = new UserContextServiceClient().getClient();transactionServiceClient = new TransactionServiceClient().getClient();crmServiceClient = new CRMServiceClient().getClient();}catch (Exception e) {log.error("Could not get client!", e);}}public void setServletResponse(HttpServletResponse response) {this.response = response;}public void setServletRequest(HttpServletRequest request) {this.request = request;}public void setSession(Map<String, Object> sessionMap) {this.session = request.getSession();this.sessionMap = sessionMap;}/*** Utility method to convert a date to a readable format*/public String convertDate(long date) {if (date == 0) {return "N/A";}return SDF.format(new Date(date));}public String getAgentName() throws TException{createServiceClients();return crmServiceClient.getAgentByEmailId(currentAgentEmailId).getName();}public String getCurrentAgentEmailId() {return currentAgentEmailId;}public String getLoggerRole() throws TException {createServiceClients();return crmServiceClient.getRoleNamesForAgent(currentAgentEmailId).get(0);}}