Subversion Repositories SmartDukaan

Rev

Rev 2053 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
}