Subversion Repositories SmartDukaan

Rev

Rev 1733 | Go to most recent revision | 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
 
3
import in.shop2020.social.services.SolrSearchService;
4
import in.shop2020.social.utils.FileUtils;
5
import in.shop2020.social.utils.Utils;
6
 
7
import java.io.File;
8
import java.util.HashMap;
9
import java.util.List;
10
import java.util.Map;
11
 
1733 varun.gupt 12
import javax.servlet.ServletContext;
1720 varun.gupt 13
import javax.servlet.http.HttpServletRequest;
14
import javax.servlet.http.HttpServletResponse;
15
 
16
import org.apache.struts2.interceptor.ServletRequestAware;
17
import org.apache.struts2.interceptor.ServletResponseAware;
1733 varun.gupt 18
import org.apache.struts2.util.ServletContextAware;
1720 varun.gupt 19
 
20
/**
21
 * @author Varun Gupta
22
 */
23
 
1733 varun.gupt 24
public class MyPhonesController implements ServletRequestAware, ServletResponseAware, ServletContextAware{
1720 varun.gupt 25
 
26
	protected HttpServletResponse response;
27
	protected HttpServletRequest request;
1733 varun.gupt 28
	protected ServletContext context;
1720 varun.gupt 29
 
30
	private static final long serialVersionUID = -8392433517042806559L;
31
 
32
	private List<String> results = null;
33
 
34
	private Map<String, String> snippets;
35
 
2053 varun.gupt 36
	private String sortOrder = "F_50002 desc";
1720 varun.gupt 37
	private Double minPrice = null;
38
	private Double maxPrice = null;
39
 
2053 varun.gupt 40
	private long windowSize = 30;
1720 varun.gupt 41
	private long page = 1;
42
	private long totalResults = 0;
43
	private long categoryId = 10000;
2053 varun.gupt 44
 
45
	private boolean hasSearched = false;
1720 varun.gupt 46
 
47
	public MyPhonesController(){
48
		snippets = new HashMap<String, String>();
49
	}
50
 
51
	// GET /Show Form
52
	public String index() {
1726 varun.gupt 53
		return "index";
54
	}
55
 
56
	public String create()	{
1720 varun.gupt 57
		if(this.request.getParameter("q") != null && ! this.request.getParameter("q").trim().isEmpty())	{
58
			String query = this.request.getParameter("q");	//"F_50010:Mobile+Phones"
59
			String[] fqrys = new String[]	{"F_50010:Mobile Phones"};
60
	    	String[] facetDefIDs = new String[]{}; //new String[] {"F_50010"};
61
 
62
			SolrSearchService search = new SolrSearchService(query, fqrys, facetDefIDs, (page - 1) * windowSize, windowSize, minPrice, maxPrice, categoryId, sortOrder);
63
			this.totalResults = search.getTotalResults();
64
			this.results = search.getResultMap();
2053 varun.gupt 65
			this.hasSearched = true;
1720 varun.gupt 66
		}
67
		return "index";
68
	}
69
 
70
    public List<String> getResults()	{
71
    	return this.results;
72
    }
73
 
74
    public long getResultCount()	{
75
    	return this.totalResults;
76
    }
77
 
78
    public Map<String, String> getSnippets() throws Exception {
79
    	if(results != null)	{
80
    		snippets = new HashMap<String, String>();
81
//    		snippets.put("1000468", FileUtils.read("/home/varungupta/snippets/SearchSnippet1.html"));
82
//    		snippets.put("1000534", FileUtils.read("/home/varungupta/snippets/SearchSnippet2.html"));
83
//    		snippets.put("1001211", FileUtils.read("/home/varungupta/snippets/SearchSnippet3.html"));
84
//    		snippets.put("1001223", FileUtils.read("/home/varungupta/snippets/SearchSnippet4.html"));
85
 
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
}