Subversion Repositories SmartDukaan

Rev

Rev 2674 | Rev 3106 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2674 Rev 3090
Line 1... Line 1...
1
package in.shop2020.serving.controllers;
1
package in.shop2020.serving.controllers;
2
 
2
 
-
 
3
import in.shop2020.thrift.clients.CRMServiceClient;
-
 
4
import in.shop2020.thrift.clients.TransactionServiceClient;
-
 
5
import in.shop2020.thrift.clients.UserContextServiceClient;
-
 
6
 
-
 
7
import java.text.SimpleDateFormat;
-
 
8
import java.util.Date;
3
import java.util.Map;
9
import java.util.Map;
4
 
10
 
5
import javax.servlet.http.HttpServletRequest;
11
import javax.servlet.http.HttpServletRequest;
6
import javax.servlet.http.HttpServletResponse;
12
import javax.servlet.http.HttpServletResponse;
7
import javax.servlet.http.HttpSession;
13
import javax.servlet.http.HttpSession;
8
 
14
 
9
import org.apache.log4j.Logger;
15
import org.apache.log4j.Logger;
-
 
16
import org.apache.shiro.SecurityUtils;
10
import org.apache.struts2.interceptor.ServletRequestAware;
17
import org.apache.struts2.interceptor.ServletRequestAware;
11
import org.apache.struts2.interceptor.ServletResponseAware;
18
import org.apache.struts2.interceptor.ServletResponseAware;
12
import org.apache.struts2.interceptor.SessionAware;
19
import org.apache.struts2.interceptor.SessionAware;
-
 
20
import org.apache.thrift.TException;
13
 
21
 
14
import com.opensymphony.xwork2.ValidationAwareSupport;
22
import com.opensymphony.xwork2.ValidationAwareSupport;
15
 
23
 
16
/**
24
/**
17
 * Base class for all user action handlers i.e. controllers
25
 * Base class for all user action handlers i.e. controllers
Line 20... Line 28...
20
 */
28
 */
21
public abstract class BaseController extends ValidationAwareSupport implements
29
public abstract class BaseController extends ValidationAwareSupport implements
22
        ServletResponseAware, ServletRequestAware, SessionAware
30
        ServletResponseAware, ServletRequestAware, SessionAware
23
{
31
{
24
    private static final long serialVersionUID = 3339523094497219816L;
32
    private static final long serialVersionUID = 3339523094497219816L;
-
 
33
    protected static Logger log = Logger.getLogger(BaseController.class);
-
 
34
 
-
 
35
    protected static final String INPUT = "input";
-
 
36
    protected static final String INDEX = "index";
-
 
37
    protected static final String EDIT_NEW = "editNew";
-
 
38
    protected static final String EDIT = "edit";
-
 
39
    protected static final String SHOW = "show";
-
 
40
 
-
 
41
    protected final SimpleDateFormat SDF = new SimpleDateFormat("dd MMM, yyyy hh:mm a");
-
 
42
 
25
    protected HttpServletResponse response;
43
    protected HttpServletResponse response;
26
    protected HttpServletRequest request;
44
    protected HttpServletRequest request;
27
    protected HttpSession session;
45
    protected HttpSession session;
28
    protected Map<String, Object> sessionMap;
46
    protected Map<String, Object> sessionMap;
-
 
47
 
-
 
48
    // Clients used at many places
-
 
49
    protected in.shop2020.model.v1.user.UserContextService.Client userContextServiceClient;
-
 
50
    protected in.shop2020.model.v1.order.TransactionService.Client transactionServiceClient;
-
 
51
    protected in.shop2020.crm.CRMService.Client crmServiceClient;
-
 
52
 
-
 
53
    protected String currentAgentEmailId = (String) SecurityUtils.getSubject().getPrincipal();
-
 
54
 
-
 
55
    protected void createServiceClients()
-
 
56
    {
-
 
57
        try {
-
 
58
            userContextServiceClient = new UserContextServiceClient().getClient();
-
 
59
            transactionServiceClient = new TransactionServiceClient().getClient();
-
 
60
            crmServiceClient         = new CRMServiceClient().getClient();
-
 
61
        }
-
 
62
        catch (Exception e) {
29
    private static Logger log = Logger.getLogger(Class.class);
63
            log.error("Could not get client!", e);
-
 
64
        }
-
 
65
    }
30
 
66
 
31
    public void setServletResponse(HttpServletResponse response) {
67
    public void setServletResponse(HttpServletResponse response) {
32
        this.response = response;
68
        this.response = response;
33
    }
69
    }
34
 
70
 
Line 38... Line 74...
38
    
74
    
39
    public void setSession(Map<String, Object> sessionMap) {
75
    public void setSession(Map<String, Object> sessionMap) {
40
        this.session = request.getSession();
76
        this.session = request.getSession();
41
        this.sessionMap = sessionMap;
77
        this.sessionMap = sessionMap;
42
    }
78
    }
43
}
-
 
44
79
    
-
 
80
    /**
-
 
81
     * Utility method to convert a date to a readable format 
-
 
82
     */
-
 
83
    public String convertDate(long date) {
-
 
84
        if (date == 0) {
-
 
85
            return "N/A";
-
 
86
        }
-
 
87
 
-
 
88
        return SDF.format(new Date(date));
-
 
89
    }
-
 
90
    
-
 
91
    public String getAgentName() throws TException
-
 
92
    {
-
 
93
        createServiceClients();
-
 
94
        return crmServiceClient.getAgentByEmailId(currentAgentEmailId).getName();
-
 
95
    }
-
 
96
 
-
 
97
    public String getCurrentAgentEmailId() {
-
 
98
        return currentAgentEmailId;
-
 
99
    }
-
 
100
 
-
 
101
    public String getLoggerRole() throws TException {
-
 
102
        createServiceClients();
-
 
103
        return crmServiceClient.getRoleNamesForAgent(currentAgentEmailId).get(0);
-
 
104
    }
-
 
105
}
-
 
106