Subversion Repositories SmartDukaan

Rev

Rev 1778 | Rev 1952 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

import in.shop2020.serving.utils.FileUtils;
import in.shop2020.serving.utils.Utils;
import in.shop2020.thrift.clients.UserContextServiceClient;
import in.shop2020.model.v1.user.UserContextService.Client;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
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.Actions;
import org.apache.struts2.convention.annotation.Result;
import org.apache.velocity.VelocityContext;

/**
 * 
 * @author rajveer
 * 
 */

@Result(name = "show", location = "compare-show.vm")
public class CompareController extends BaseController {

    private static final long serialVersionUID = 1L;

    private static Logger log = Logger.getLogger(Class.class);

    private List<String> productList;
    private List<String> productNames;
    private Map<String, String> snippets;

    public CompareController() {
        super();
    }

    @Actions({
        @Action("/compare-mobile-phones"),
        @Action("/compare")
    })
    
    public String index() throws SecurityException, IOException {
        productList = new ArrayList<String>();
        if(request.getParameter("p1") != null){
            this.productList.add(request.getParameter("p1"));
        }
        if(request.getParameter("p2") != null){
            this.productList.add(request.getParameter("p2"));
        }
        if(request.getParameter("p3") != null){
            this.productList.add(request.getParameter("p3"));
        }
        if(request.getParameter("p4") != null){
            this.productList.add(request.getParameter("p4"));
        }
        if(request.getParameter("p5") != null){
            this.productList.add(request.getParameter("p5"));
        }
        
        readSlideNames();
        
        return "show";
    }

    private void readSlideNames(){
        
    }
    
    public List<String> getSlideNames() {
        List<String> slides = new ArrayList<String>();
        productNames = new ArrayList<String>();
        for (String productId : productList) {
            File f = new File(Utils.EXPORT_ENTITIES_PATH + productId + File.separator + "SlideNamesSnippet.html");
            FileInputStream fis = null;
            try {
                fis = new FileInputStream(f);
                BufferedReader br = new BufferedReader(new InputStreamReader(fis));
                String line;
                boolean isProductName = true;;
                while((line = br.readLine()) != null){
                    if(isProductName){
                        productNames.add(line); 
                        isProductName = false;
                        continue;
                    }
                    if(!slides.contains(line)){
                        slides.add(line);
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        log.info(productNames);
        return slides;
    }
    
    
    public Map<String, String> getSnippets(){
        if (productList != null) {
            snippets = new HashMap<String, String>();
            for (String productId : productList) {
                try {
                    snippets.put(productId, FileUtils.read(Utils.EXPORT_ENTITIES_PATH + productId + File.separator + "ComparisonSnippet.html"));
                } catch (IOException e) {
                    log.error(e);
                }
            }
        }
        return snippets;
    }
    
    public Map<String, String> getProductSnippets(){
        if (productList != null) {
            snippets = new HashMap<String, String>();
            for (String productId : productList) {
                try {
                    snippets.put(productId, FileUtils.read(Utils.EXPORT_ENTITIES_PATH + productId + File.separator + "CompareProductSnippet.html"));
                } catch (IOException e) {
                    log.error(e);
                }
            }

        }
        return snippets;
    }
    
    public List<String> getProductNames(){
        return this.productNames;
    }
}