Subversion Repositories SmartDukaan

Rev

Rev 1614 | Rev 1852 | 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.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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.thrift.TException;

public class BrowseHistoryController extends BaseController{

        private static Logger log = Logger.getLogger(Class.class);
        private static final long serialVersionUID = -5508838941749125824L;
        private String id;
        private String snippets="";
        private List<String> items;
        public String index() {
                return "index";
        }
        
        //browse-hostory/a_b_c
        public String show() {
                return "show";
        }

        //Handle /browse-history/{id}
        public String create(){
                log.info("list of item ids is " + this.request.getParameter("historyitems"));
                if (this.request.getParameter("historyitems") != null) {
                        String historyItems = this.request.getParameter("historyitems");
                        if(userinfo.getUserId() != -1){
                                updateHistory(historyItems);
                        }
                }
                return "success";
        }

    public String getSnippets() throws Exception {
        if(items != null){
                for(String itemId: items){
                                snippets = snippets + FileUtils.read( Utils.EXPORT_ENTITIES_PATH + itemId + File.separator +"WidgetSnippet.html");
                        }
        }
        System.out.println(snippets);
                return snippets;
    }

    public void setId(String id) {
        this.id = id;
        items = new ArrayList<String>();
        StringTokenizer tokenizer = new StringTokenizer(id,"-");
        while(tokenizer.hasMoreTokens()){
                this.items.add(tokenizer.nextToken());
        }
        System.out.println("items are: " + items);
    }
    
    public String getId() {
        return this.id;
    }

    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();
                }
        }
}