Subversion Repositories SmartDukaan

Rev

Rev 1372 | Rev 1643 | 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.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.thrift.TException;

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 = "";

        public String index() {
                return "index";
        }
        
        //Handle /myresearch/{id}
        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.isLoggedIn()){
                        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");
                                }
                        }
                }
                
                return "success";
        }
        
        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();
                }
        }
        
        public String getHtmlSnippet(){
                if(htmlSnippet == "")   {
                        htmlSnippet = userinfo.isLoggedIn() ? "1" : "0";
                }
                return htmlSnippet;
        }       
}