Subversion Repositories SmartDukaan

Rev

Rev 1325 | Rev 1511 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
317 ashish 1
/**
2
 * 
3
 */
4
package in.shop2020.serving.controllers;
5
 
650 rajveer 6
 
555 chandransh 7
import in.shop2020.thrift.clients.UserContextServiceClient;
8
import in.shop2020.model.v1.user.UserContextService.Client;
375 ashish 9
 
317 ashish 10
import java.io.IOException;
1258 varun.gupt 11
import java.net.URLEncoder;
375 ashish 12
import java.util.Map;
507 rajveer 13
import java.util.StringTokenizer;
317 ashish 14
 
832 rajveer 15
import org.apache.log4j.Logger;
507 rajveer 16
import org.apache.struts2.convention.annotation.Action;
17
import org.apache.struts2.convention.annotation.Actions;
974 vikas 18
import org.apache.struts2.convention.annotation.Result;
1364 varun.gupt 19
import org.apache.velocity.VelocityContext;
317 ashish 20
 
21
/**
22
 * 
650 rajveer 23
 * @author rajveer
317 ashish 24
 *
25
 */
650 rajveer 26
 
974 vikas 27
@Result(name = "show", location = "entity-show.vm")
650 rajveer 28
public class EntityController extends BaseController {
29
 
30
	private static final long serialVersionUID = 1L;
31
 
832 rajveer 32
	private static Logger log = Logger.getLogger(Class.class);	
317 ashish 33
	/**
34
	 * 
35
	 */
36
	private String id;
620 rajveer 37
	private long productId;
375 ashish 38
 
39
	public EntityController(){
40
		super();
41
	}
507 rajveer 42
 
974 vikas 43
	// GET /*/1000001
507 rajveer 44
	@Actions({
974 vikas 45
		@Action("/mobile-phones"),
1005 vikas 46
		@Action("/mobile-accessories"),
47
		@Action("/entity")
507 rajveer 48
	})
650 rajveer 49
    public String show() throws SecurityException, IOException {
317 ashish 50
    	log.info("id=" + id);
637 rajveer 51
 
1197 varun.gupt 52
    	String pageTitle = pageLoader.getPageTitleHtml(productId);
53
 
54
    	//Extracting Product name from Page Title
55
 
56
    	String[] items = pageTitle.split("\\|");
1269 varun.gupt 57
    	String productName = items[0] != null ? items[0].trim() : null;
1364 varun.gupt 58
    	String rootUrl = request.getRequestURL().toString().split("/")[2];
1197 varun.gupt 59
 
1364 varun.gupt 60
    	String productUrlEncoded = URLEncoder.encode(request.getRequestURL().toString(), "UTF-8");
61
 
650 rajveer 62
    	htmlSnippets.put("PRODUCT_SUMMARY", pageLoader.getProductSummaryHtml(productId));
1258 varun.gupt 63
    	htmlSnippets.put("PRODUCT_ID", productId + "");
64
    	htmlSnippets.put("PRODUCT_NAME", productName);
1364 varun.gupt 65
    	htmlSnippets.put("PRODUCT_URL", request.getRequestURL().toString());
66
    	htmlSnippets.put("PRODUCT_URL_ENCODED", productUrlEncoded);
67
    	htmlSnippets.put("ROOT_URL", "http://" + rootUrl);
68
		htmlSnippets.put("SOCIAL_UTILS", getSocialUtilsHtml(productId, productName, productUrlEncoded));
620 rajveer 69
		htmlSnippets.put("SLIDE_GUIDE", pageLoader.getSlideGuideHtml(productId));
1269 varun.gupt 70
		htmlSnippets.put("PAGE_TITLE", pageTitle.trim());
71
		htmlSnippets.put("PAGE_METADESC", pageLoader.getPageMetaDescriptionHtml(productId).trim());
72
		htmlSnippets.put("PAGE_METAKEYWORDS", pageLoader.getPageMetaKeywordsHtml(productId).trim());
620 rajveer 73
 
1364 varun.gupt 74
		System.out.println(htmlSnippets.get("ROOT_URL"));
650 rajveer 75
		try {
555 chandransh 76
			UserContextServiceClient userServiceClient = new UserContextServiceClient();
77
			Client client = userServiceClient.getClient();
773 rajveer 78
			long itemId = Long.parseLong(id);
79
			long userId = userinfo.getUserId();
80
			client.updateBrowseHistory(userId, itemId);
650 rajveer 81
 
449 rajveer 82
		} catch (Exception e) {
83
			// TODO Auto-generated catch block
84
			e.printStackTrace();
85
		}
86
 
650 rajveer 87
    	return "show";
317 ashish 88
    }
89
 
90
    /**
91
     * 
92
     * @param id
93
     */
94
    public void setId(String id) {
507 rajveer 95
    	StringTokenizer tokenizer = new StringTokenizer(id,"-");
96
    	while(tokenizer.hasMoreTokens()){
97
    		this.id = tokenizer.nextToken();
98
    	}
974 vikas 99
    	this.productId = Long.parseLong(this.id);
317 ashish 100
    }
101
 
387 rajveer 102
	public Map<String,String> getHtmlSnippets(){
388 rajveer 103
		System.out.println(" getHtmlSnippets  is called");
387 rajveer 104
		return htmlSnippets;
375 ashish 105
	}
388 rajveer 106
 
449 rajveer 107
	public String getSlideGuideSnippet(){
388 rajveer 108
		return htmlSnippets.get("SLIDE_GUIDE");
109
	}
110
 
449 rajveer 111
	public String getProductSummarySnippet(){
112
		return htmlSnippets.get("PRODUCT_SUMMARY");
113
	}
114
 
974 vikas 115
	public String getPageTitleSnippet(){
116
		return htmlSnippets.get("PAGE_TITLE");
117
	}
118
 
119
	public String getPageMetaDescSnippet(){
120
		return htmlSnippets.get("PAGE_METADESC");
121
	}
122
 
123
	public String getPageMetaKeywordsSnippet(){
124
		return htmlSnippets.get("PAGE_METAKEYWORDS");
125
	}
126
 
449 rajveer 127
	public String getSocialUtilsSnippet(){
128
		return htmlSnippets.get("SOCIAL_UTILS"); 
129
	}
130
 
131
	public String getLocatorSnippet(){
132
		return htmlSnippets.get("LOCATOR");
133
	}
134
 
135
	public String getRecommendationsSnippet(){
136
		return htmlSnippets.get("RECOMMENDATIONS");
137
	}
650 rajveer 138
 
449 rajveer 139
	public String getSimilarProductsSnippet(){
140
		return htmlSnippets.get("SIMILAR_PRODUCTS");
141
	}
650 rajveer 142
 
449 rajveer 143
	public String getAccessoriesSnippet(){
144
		return htmlSnippets.get("ACCESSORIES");
145
	}
146
 
650 rajveer 147
	public String getReviewsSnippet(){
148
		return htmlSnippets.get("REVIEWS");
449 rajveer 149
	}
150
 
1197 varun.gupt 151
	public String getProductName()	{
152
		return htmlSnippets.get("PRODUCT_NAME");
153
	}
1258 varun.gupt 154
 
155
	public String getProductId()	{
156
		return htmlSnippets.get("PRODUCT_ID");
157
	}
158
 
159
	public String getProductUrl()	{
160
		return htmlSnippets.get("PRODUCT_URL");
161
	}
1364 varun.gupt 162
 
163
	public String getRootUrl()	{
164
		return htmlSnippets.get("ROOT_URL");
165
	}
166
 
167
	private String getSocialUtilsHtml(long productId, String productName, String productEncodedUrl) {
168
		String htmlString = "";
169
		VelocityContext context = new VelocityContext();
170
 
171
		String templateFile = "templates/socialutils.vm";
172
 
173
		context.put("PRODUCT_ID", productId + "");
174
		context.put("PRODUCT_NAME", productName);
175
		context.put("PRODUCT_URL_ENCODED", productEncodedUrl);
176
 
177
		htmlString = pageLoader.getHtmlFromVelocity(templateFile, context);
178
		return htmlString;
179
	}
1197 varun.gupt 180
}