Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
317 ashish 1
/**
2
 * 
3
 */
4
package in.shop2020.serving.controllers;
5
 
375 ashish 6
import in.shop2020.serving.pages.PageContentKeys;
7
import in.shop2020.serving.pages.PageEnum;
8
import in.shop2020.serving.pages.PageManager;
620 rajveer 9
import in.shop2020.serving.services.PageLoaderHandler;
555 chandransh 10
import in.shop2020.thrift.clients.UserContextServiceClient;
11
import in.shop2020.model.v1.user.UserContextService.Client;
375 ashish 12
 
317 ashish 13
import java.io.IOException;
375 ashish 14
import java.util.HashMap;
15
import java.util.Map;
507 rajveer 16
import java.util.StringTokenizer;
317 ashish 17
 
18
import javax.servlet.ServletContext;
19
 
20
import org.apache.juli.logging.Log;
21
import org.apache.juli.logging.LogFactory;
507 rajveer 22
import org.apache.struts2.convention.annotation.Action;
23
import org.apache.struts2.convention.annotation.Actions;
317 ashish 24
import org.apache.struts2.convention.annotation.Result;
25
import org.apache.struts2.convention.annotation.Results;
26
import org.apache.struts2.rest.DefaultHttpHeaders;
27
import org.apache.struts2.rest.HttpHeaders;
28
import org.apache.struts2.util.ServletContextAware;
29
 
30
import com.opensymphony.xwork2.ModelDriven;
31
 
32
/**
33
 * 
34
 * @author naveen
35
 *
36
 */
37
@Results({
507 rajveer 38
	@Result(name="success", location="/entity-show")
317 ashish 39
})
40
public class EntityController extends BaseController 
41
	implements  ModelDriven<Object>, ServletContextAware  {
507 rajveer 42
 
375 ashish 43
	private PageManager pageManager = null;
44
 
317 ashish 45
	/**
46
	 * 
47
	 */
48
	private static Log log = LogFactory.getLog(EntityController.class);
49
 
50
	/**
51
	 * 
52
	 */
53
	@SuppressWarnings("unused")
54
	private ServletContext servletContext = null;
55
 
56
	/**
57
	 * 
58
	 */
59
	private String id;
375 ashish 60
 
620 rajveer 61
	private long productId;
375 ashish 62
 
620 rajveer 63
	private Map<String,String> htmlSnippets = new HashMap<String, String>();;
375 ashish 64
 
620 rajveer 65
 
375 ashish 66
	public EntityController(){
67
		super();
68
		pageManager = PageManager.getPageManager();
69
	}
507 rajveer 70
 
71
	// GET /entity/1000001
72
	@Actions({
73
		@Action("/mobiles"),
74
		@Action("/books"),
75
		@Action("/mobile"),
76
		@Action("/entity")
77
	})
317 ashish 78
    public HttpHeaders show() throws SecurityException, IOException {
79
    	log.info("id=" + id);
637 rajveer 80
 
81
    	htmlSnippets.put("HEADER", pageLoader.getHeaderHtml(this.userinfo.isLoggedIn(), this.userinfo.getNameOfUser()));
620 rajveer 82
		htmlSnippets.put("MAIN_MENU", pageLoader.getMainMenuHtml());
83
		htmlSnippets.put("SEARCH_BAR", pageLoader.getSearchBarHtml(userinfo.getTotalItems(), 0));
84
 
85
 
86
		htmlSnippets.put("PRODUCT_SUMMARY", pageLoader.getProductSummaryHtml(productId));
87
		htmlSnippets.put("SOCIAL_UTILS", pageLoader.getSocialUtilsHtml(productId));
88
		htmlSnippets.put("SLIDE_GUIDE", pageLoader.getSlideGuideHtml(productId));
89
		htmlSnippets.put("LOCATOR", pageLoader.getLocatorHtml());
90
		htmlSnippets.put("REVIEWS", pageLoader.getReviewsHtml(productId));
91
 
92
		htmlSnippets.put("CUSTOMER_SERVICE", pageLoader.getCustomerServiceHtml());
637 rajveer 93
		htmlSnippets.put("MY_RESEARCH", pageLoader.getMyResearchHtml(userinfo.getUserId(), userinfo.isLoggedIn()));
94
		htmlSnippets.put("BROWSE_HISTORY", pageLoader.getBrowseHistoryHtml(userinfo.getUserId(), userinfo.isLoggedIn()));
620 rajveer 95
		htmlSnippets.put("RECOMMENDATIONS", pageLoader.getRecommendationsHtml());
96
		htmlSnippets.put("SIMILAR_PRODUCTS", pageLoader.getSimilarProductsHtml(productId));
97
		htmlSnippets.put("ACCESSORIES", pageLoader.getAccessoriesHtml(productId));
98
		htmlSnippets.put("FOOTER", pageLoader.getFooterHtml());
99
		htmlSnippets.put("JS_FILES", "");
100
		htmlSnippets.put("CSS_FILES", "");
101
 
449 rajveer 102
    	try {
555 chandransh 103
			UserContextServiceClient userServiceClient = new UserContextServiceClient();
104
			Client client = userServiceClient.getClient();
449 rajveer 105
			long item_id = Long.parseLong(id);
106
			boolean isSessionId = userinfo.isSessionId();
590 chandransh 107
			long user_id = userinfo.getUserId();
449 rajveer 108
			client.updateBrowseHistory(user_id, item_id, isSessionId);
109
 
110
		} catch (Exception e) {
111
			// TODO Auto-generated catch block
112
			e.printStackTrace();
113
		}
114
 
620 rajveer 115
    	return new DefaultHttpHeaders("show");
317 ashish 116
    }
117
 
118
    /**
119
     * 
120
     * @param id
121
     */
122
    public void setId(String id) {
507 rajveer 123
    	StringTokenizer tokenizer = new StringTokenizer(id,"-");
124
    	while(tokenizer.hasMoreTokens()){
125
    		this.id = tokenizer.nextToken();
126
    	}
620 rajveer 127
    	this.productId = Long.parseLong(id);
317 ashish 128
    }
129
 
130
	/* (non-Javadoc)
131
	 * @see com.opensymphony.xwork2.ModelDriven#getModel()
132
	 */
133
	@Override
134
	public Object getModel() {
388 rajveer 135
		System.out.println(" getModer  is called");
136
		return htmlSnippets;
137
		//return this.id;
317 ashish 138
	}
139
 
140
	/**
141
	 * 
142
	 */
143
	@Override
144
	public void setServletContext(ServletContext servletContext) {
145
		this.servletContext = servletContext;
146
	}
375 ashish 147
 
387 rajveer 148
	public Map<String,String> getHtmlSnippets(){
388 rajveer 149
		System.out.println(" getHtmlSnippets  is called");
387 rajveer 150
		return htmlSnippets;
375 ashish 151
	}
388 rajveer 152
 
449 rajveer 153
	public String getHeaderSnippet(){
154
		return htmlSnippets.get("HEADER");
388 rajveer 155
	}
317 ashish 156
 
449 rajveer 157
	public String getSlideGuideSnippet(){
388 rajveer 158
		return htmlSnippets.get("SLIDE_GUIDE");
159
	}
160
 
449 rajveer 161
	public String getMainMenuSnippet(){
162
		return htmlSnippets.get("MAIN_MENU");
388 rajveer 163
	}
449 rajveer 164
 
165
	public String getSearchBarSnippet(){
166
		return htmlSnippets.get("SEARCH_BAR");
167
	}
168
 
169
	public String getProductSummarySnippet(){
170
		return htmlSnippets.get("PRODUCT_SUMMARY");
171
	}
172
 
173
	public String getSocialUtilsSnippet(){
174
		return htmlSnippets.get("SOCIAL_UTILS"); 
175
	}
176
 
177
	public String getLocatorSnippet(){
178
		return htmlSnippets.get("LOCATOR");
179
	}
180
 
181
	public String getReviewsSnippet(){
182
		return htmlSnippets.get("REVIEWS");
183
	}
184
 
185
	public String getCustomerServiceSnippet(){
186
		return htmlSnippets.get("CUSTOMER_SERVICE");
187
	}
188
 
189
	public String getMyResearchSnippet(){
190
		return htmlSnippets.get("MY_RESEARCH");
191
	}
388 rajveer 192
 
637 rajveer 193
	public String getBrowseHistorySnippet(){
194
		return htmlSnippets.get("BROWSE_HISTORY");
195
	}
196
 
449 rajveer 197
	public String getRecommendationsSnippet(){
198
		return htmlSnippets.get("RECOMMENDATIONS");
199
	}
200
 
201
	public String getSimilarProductsSnippet(){
202
		return htmlSnippets.get("SIMILAR_PRODUCTS");
203
	}
204
 
205
	public String getAccessoriesSnippet(){
206
		return htmlSnippets.get("ACCESSORIES");
207
	}
208
 
209
	public String getFooterSnippet(){
210
		return htmlSnippets.get("FOOTER");
211
	}
212
 
213
	public String getJsFileSnippet(){
214
		return htmlSnippets.get("JS_FILES");
215
	}
216
 
217
	public String getCssFileSnippet(){
218
		return htmlSnippets.get("CSS_FILES");
219
	}
220
 
317 ashish 221
}