Subversion Repositories SmartDukaan

Rev

Rev 2949 | Rev 3830 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
458 rajveer 1
/**
2
 * 
3
 */
4
package in.shop2020.serving.controllers;
5
 
507 rajveer 6
import java.util.StringTokenizer;
7
 
8
import in.shop2020.logistics.LogisticsService.Client;
786 rajveer 9
import in.shop2020.logistics.LogisticsServiceException;
3126 rajveer 10
import in.shop2020.thrift.clients.LogisticsClient;
507 rajveer 11
 
832 rajveer 12
import org.apache.log4j.Logger;
458 rajveer 13
import org.apache.struts2.rest.DefaultHttpHeaders;
14
import org.apache.struts2.rest.HttpHeaders;
786 rajveer 15
import org.apache.thrift.TException;
458 rajveer 16
 
17
/**
18
 * @author rajveer
19
 *
20
 */
21
public class EstimateController extends BaseController {
22
 
1044 chandransh 23
	private static final long serialVersionUID = 8023801600023970837L;
24
 
832 rajveer 25
	private static Logger log = Logger.getLogger(Class.class);	
458 rajveer 26
	private String id;
507 rajveer 27
	private long itemId;
28
	private String pincode;
843 chandransh 29
	private long days = -1;
458 rajveer 30
	public EstimateController() {
31
		super();
32
	}
33
 
34
    // GET /logout
786 rajveer 35
    public HttpHeaders show(){
3126 rajveer 36
    	LogisticsClient logisticsServiceClient = null;
507 rajveer 37
    	try {
3126 rajveer 38
			logisticsServiceClient = new LogisticsClient();
507 rajveer 39
			Client logisticsClient = logisticsServiceClient.getClient();
649 chandransh 40
			days = logisticsClient.getLogisticsEstimation(itemId, pincode).getDeliveryTime();
762 rajveer 41
 
786 rajveer 42
    	}catch (LogisticsServiceException e) {
843 chandransh 43
    		days = -1;
2949 chandransh 44
    		log.error("Unable to get estimate for " + itemId, e);
786 rajveer 45
		}catch(TException e){
46
 
762 rajveer 47
		}
786 rajveer 48
    	catch (Exception e) {
49
 
50
		}
458 rajveer 51
    	return new DefaultHttpHeaders("index");
52
    }
53
 
54
    /**
55
     * 
56
     * @param id
57
     */
58
    public void setId(String id) {
59
        this.id = id;
2148 chandransh 60
        StringTokenizer tokenizer = new StringTokenizer(this.id, "_");
507 rajveer 61
        this.pincode = tokenizer.nextToken();
62
        this.itemId = Long.parseLong(tokenizer.nextToken());
458 rajveer 63
    }
64
 
65
    public long getEstimatedTime() {
649 chandransh 66
    	return days;
458 rajveer 67
    }
68
}