| 1720 |
varun.gupt |
1 |
package in.shop2020.social.controllers;
|
|
|
2 |
|
| 2778 |
varun.gupt |
3 |
import in.shop2020.datalogger.SocialEventType;
|
| 1720 |
varun.gupt |
4 |
import in.shop2020.social.services.SolrSearchService;
|
|
|
5 |
import in.shop2020.social.utils.FileUtils;
|
|
|
6 |
import in.shop2020.social.utils.Utils;
|
| 2778 |
varun.gupt |
7 |
import in.shop2020.utils.DataLogger;
|
| 1720 |
varun.gupt |
8 |
|
|
|
9 |
import java.io.File;
|
|
|
10 |
import java.util.HashMap;
|
|
|
11 |
import java.util.List;
|
|
|
12 |
import java.util.Map;
|
|
|
13 |
|
| 1733 |
varun.gupt |
14 |
import javax.servlet.ServletContext;
|
| 1720 |
varun.gupt |
15 |
import javax.servlet.http.HttpServletRequest;
|
|
|
16 |
import javax.servlet.http.HttpServletResponse;
|
|
|
17 |
|
|
|
18 |
import org.apache.struts2.interceptor.ServletRequestAware;
|
|
|
19 |
import org.apache.struts2.interceptor.ServletResponseAware;
|
| 1733 |
varun.gupt |
20 |
import org.apache.struts2.util.ServletContextAware;
|
| 1720 |
varun.gupt |
21 |
|
|
|
22 |
/**
|
|
|
23 |
* @author Varun Gupta
|
|
|
24 |
*/
|
|
|
25 |
|
| 1733 |
varun.gupt |
26 |
public class MyPhonesController implements ServletRequestAware, ServletResponseAware, ServletContextAware{
|
| 1720 |
varun.gupt |
27 |
|
|
|
28 |
protected HttpServletResponse response;
|
|
|
29 |
protected HttpServletRequest request;
|
| 1733 |
varun.gupt |
30 |
protected ServletContext context;
|
| 1720 |
varun.gupt |
31 |
|
|
|
32 |
private static final long serialVersionUID = -8392433517042806559L;
|
|
|
33 |
|
|
|
34 |
private List<String> results = null;
|
|
|
35 |
|
|
|
36 |
private Map<String, String> snippets;
|
|
|
37 |
|
| 2053 |
varun.gupt |
38 |
private String sortOrder = "F_50002 desc";
|
| 1720 |
varun.gupt |
39 |
private Double minPrice = null;
|
|
|
40 |
private Double maxPrice = null;
|
|
|
41 |
|
| 2053 |
varun.gupt |
42 |
private long windowSize = 30;
|
| 1720 |
varun.gupt |
43 |
private long page = 1;
|
|
|
44 |
private long totalResults = 0;
|
|
|
45 |
private long categoryId = 10000;
|
| 2053 |
varun.gupt |
46 |
|
|
|
47 |
private boolean hasSearched = false;
|
| 1720 |
varun.gupt |
48 |
|
|
|
49 |
public MyPhonesController(){
|
|
|
50 |
snippets = new HashMap<String, String>();
|
|
|
51 |
}
|
|
|
52 |
|
|
|
53 |
// GET /Show Form
|
|
|
54 |
public String index() {
|
| 2778 |
varun.gupt |
55 |
DataLogger.logSocialData(SocialEventType.PHONES_I_OWN_VIEWED, "1000");
|
| 1726 |
varun.gupt |
56 |
return "index";
|
|
|
57 |
}
|
|
|
58 |
|
|
|
59 |
public String create() {
|
| 1720 |
varun.gupt |
60 |
if(this.request.getParameter("q") != null && ! this.request.getParameter("q").trim().isEmpty()) {
|
|
|
61 |
String query = this.request.getParameter("q"); //"F_50010:Mobile+Phones"
|
|
|
62 |
String[] fqrys = new String[] {"F_50010:Mobile Phones"};
|
|
|
63 |
String[] facetDefIDs = new String[]{}; //new String[] {"F_50010"};
|
|
|
64 |
|
|
|
65 |
SolrSearchService search = new SolrSearchService(query, fqrys, facetDefIDs, (page - 1) * windowSize, windowSize, minPrice, maxPrice, categoryId, sortOrder);
|
|
|
66 |
this.totalResults = search.getTotalResults();
|
|
|
67 |
this.results = search.getResultMap();
|
| 2053 |
varun.gupt |
68 |
this.hasSearched = true;
|
| 1720 |
varun.gupt |
69 |
}
|
| 2778 |
varun.gupt |
70 |
DataLogger.logSocialData(SocialEventType.PHONES_I_OWN_VIEWED, "1000");
|
| 1720 |
varun.gupt |
71 |
return "index";
|
|
|
72 |
}
|
|
|
73 |
|
|
|
74 |
public List<String> getResults() {
|
|
|
75 |
return this.results;
|
|
|
76 |
}
|
|
|
77 |
|
|
|
78 |
public long getResultCount() {
|
|
|
79 |
return this.totalResults;
|
|
|
80 |
}
|
|
|
81 |
|
|
|
82 |
public Map<String, String> getSnippets() throws Exception {
|
|
|
83 |
if(results != null) {
|
|
|
84 |
snippets = new HashMap<String, String>();
|
| 2778 |
varun.gupt |
85 |
|
| 1720 |
varun.gupt |
86 |
for(String docId: results){
|
|
|
87 |
String html = FileUtils.read(Utils.EXPORT_ENTITIES_PATH + docId + File.separator + "PhonesIOwnSnippet.html");
|
|
|
88 |
snippets.put(docId, html);
|
|
|
89 |
}
|
|
|
90 |
}
|
|
|
91 |
return snippets;
|
|
|
92 |
}
|
|
|
93 |
@Override
|
|
|
94 |
public void setServletResponse(HttpServletResponse response) {
|
|
|
95 |
this.response = response;
|
|
|
96 |
}
|
|
|
97 |
|
|
|
98 |
@Override
|
|
|
99 |
public void setServletRequest(HttpServletRequest request) {
|
|
|
100 |
this.request = request;
|
|
|
101 |
}
|
| 1733 |
varun.gupt |
102 |
|
|
|
103 |
@Override
|
|
|
104 |
public void setServletContext(ServletContext context) {
|
|
|
105 |
this.context = context;
|
|
|
106 |
}
|
|
|
107 |
|
| 2053 |
varun.gupt |
108 |
public boolean getHasSearched() {
|
|
|
109 |
return this.hasSearched;
|
|
|
110 |
}
|
|
|
111 |
|
| 1733 |
varun.gupt |
112 |
public String getServletContextPath(){
|
|
|
113 |
return context.getContextPath();
|
|
|
114 |
}
|
| 1720 |
varun.gupt |
115 |
}
|