Rev 1614 | Rev 1761 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.model.v1.user.UserContextService;import in.shop2020.model.v1.user.WidgetException;import in.shop2020.model.v1.user.UserContextService.Client;import in.shop2020.serving.utils.FileUtils;import in.shop2020.serving.utils.Utils;import in.shop2020.thrift.clients.UserContextServiceClient;import java.io.File;import java.io.IOException;import java.util.StringTokenizer;import org.apache.log4j.Logger;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.InterceptorRef;import org.apache.struts2.convention.annotation.InterceptorRefs;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import org.apache.thrift.TException;@Results({@Result(name="failure", location="myresearch-failure.vm"),@Result(name="success", location="myresearch-success.vm")})public class MyresearchController extends BaseController{private UserContextServiceClient userServiceClient = null;private Client client;public MyresearchController(){super();try {userServiceClient = new UserContextServiceClient();client = userServiceClient.getClient();} catch (Exception e) {e.printStackTrace();}}private static Logger log = Logger.getLogger(Class.class);private String htmlSnippet = "";@Action(value="myresearch",interceptorRefs={@InterceptorRef("myDefault")})public String index() {return "index";}//Handle /myresearch/{id}@Action(value="addtoresearch",interceptorRefs={@InterceptorRef("createuser"),@InterceptorRef("myDefault")})public String create() throws WidgetException, TException, IOException {log.info("list of item ids is " + this.request.getParameter("productid"));String itemIds = this.request.getParameter("productid");if(userinfo.getUserId() != -1){StringTokenizer tokenizer = new StringTokenizer(itemIds,"_");while(tokenizer.hasMoreTokens()){long entity_id = Long.parseLong(tokenizer.nextToken());boolean isNew = client.updateMyResearch(userinfo.getUserId(), entity_id);if(isNew){htmlSnippet = htmlSnippet + FileUtils.read( Utils.EXPORT_ENTITIES_PATH + entity_id + File.separator +"WidgetSnippet.html");}}if (this.request.getParameter("historyitems") != null) {String historyItems = this.request.getParameter("productid");updateHistory(historyItems);}}return "success";}@Action(value="deletefromresearch",interceptorRefs={@InterceptorRef("createuser"),@InterceptorRef("myDefault")})public String destroy(){log.info("list of item ids is " + this.request.getParameter("productid"));String itemIds = this.request.getParameter("productid");if(itemIds == null){return "failure";}long itemId = 0;StringTokenizer tokenizer = new StringTokenizer(itemIds,"_");while(tokenizer.hasMoreTokens()){itemId = Long.parseLong(tokenizer.nextToken());deleteFromMyResearch(userinfo.getUserId(), itemId);}return "success";}private void deleteFromMyResearch(long userId, long itemId) {try {UserContextServiceClient userServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userServiceClient.getClient();userClient.deleteItemFromMyResearch(userId, itemId);} catch (WidgetException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}private void updateHistory(String historyItems) {UserContextServiceClient userServiceClient;try {userServiceClient = new UserContextServiceClient();UserContextService.Client userClient = userServiceClient.getClient();StringTokenizer tokenizer = new StringTokenizer(historyItems, "_");while (tokenizer.hasMoreTokens()) {long itemId = Long.parseLong(tokenizer.nextToken());userClient.updateBrowseHistory(userinfo.getUserId(), itemId);}} catch (Exception e) {e.printStackTrace();}}public String getHtmlSnippet(){if(htmlSnippet == "") {htmlSnippet = "0";}return htmlSnippet;}}