Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
419 rajveer 1
package in.shop2020.serving.utils;
2
 
1453 chandransh 3
import in.shop2020.config.ConfigException;
3209 vikas 4
import in.shop2020.model.v1.order.LineItem;
5
import in.shop2020.model.v1.order.Order;
6135 anupam.sin 6
import in.shop2020.model.v1.order.RechargeType;
3209 vikas 7
import in.shop2020.model.v1.user.Cart;
8
import in.shop2020.model.v1.user.Line;
6135 anupam.sin 9
import in.shop2020.thrift.clients.TransactionClient;
1453 chandransh 10
import in.shop2020.thrift.clients.config.ConfigClient;
419 rajveer 11
 
3209 vikas 12
import java.util.ArrayList;
13
import java.util.List;
6135 anupam.sin 14
import java.util.Map;
3209 vikas 15
 
4891 varun.gupt 16
import javax.mail.internet.AddressException;
17
import javax.mail.internet.InternetAddress;
18
 
3209 vikas 19
import org.apache.commons.lang.StringUtils;
20
import org.apache.log4j.Logger;
6135 anupam.sin 21
import org.apache.thrift.transport.TTransportException;
3209 vikas 22
 
419 rajveer 23
public class Utils {
2942 chandransh 24
    private static Logger logger = Logger.getLogger(Utils.class);
25
 
4892 varun.gupt 26
	public static final String EXPORT_ENTITIES_PATH = getExportPath();
5084 phani.kuma 27
	public static final String EXPORT_JAVASCRIPT_CONTENT_PATH = "/var/lib/tomcat6/webapps/export/javascripts/";
2306 vikas 28
	public static final long ROOT_CATEGORY = 10000;
29
	public static final long MOBILE_PHONES_CATEGORY = 10001;
30
	public static final long MOBILE_ACCESSORIES_CATEGORY = 10011;
3656 mandeep.dh 31
	public static final long TABLETS_CATEGORY = 10010;
32
    public static final long LAPTOPS_CATEGORY = 10050;
5873 amit.gupta 33
    public static final long CAMERAS_CATEGORY = 11001;
6135 anupam.sin 34
 
35
    static Map<Long, String> providersMap;
3656 mandeep.dh 36
 
4137 varun.gupt 37
    public static String[] facetDefIDs = new String[] {
5941 amit.gupta 38
    	"F_50010","F_50011","F_50002","F_50001",  "F_50006", "F_50007", "F_50012", "F_50013", "F_50014", "F_50015", "F_50017", "F_50018", "F_50019", "F_50020", "F_50021", "F_50022", "F_50023", "F_50024", "F_50025", "F_50026", "F_50027" };
4272 varun.gupt 39
    public static String[] facetLabels = new String[] {"Category","Sub Category","Price", "Brand", "Data Connectivity", 
5439 phani.kuma 40
    	"Camera Resolution", "Display", "Operating System", "RAM", "Storage Capacity", "Processor",
5941 amit.gupta 41
    	"Capacity", "Class", "Capacity", "Capacity", "Type", "Interface", "Resolution", "Optical Zoom", "Display Size", "Effective Resolution" };
5525 phani.kuma 42
    public static String[] rootfacetDefIDs = new String[] {"F_50010","F_50011","F_50002","F_50001"};
43
    public static String[] rootfacetLabels = new String[] {"Category","Sub Category","Price", "Brand"};
6135 anupam.sin 44
 
45
    static {
46
        TransactionClient tcl;
47
        try {
48
            tcl = new TransactionClient();
49
            providersMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE);
50
            providersMap.putAll(tcl.getClient().getServiceProviders(RechargeType.DTH));
51
        } catch (Exception e) {
52
            logger.error("Could not get providers", e);
53
        }
54
    }
55
 
56
 
57
 
1453 chandransh 58
	private static String getExportPath(){
1457 chandransh 59
		String exportPath=null;
1453 chandransh 60
		ConfigClient client = ConfigClient.getClient();
61
		try{
62
			exportPath = client.get("export_entities_path");
63
		}catch(ConfigException ce){
2942 chandransh 64
			logger.error("Unable to read export path from the config client: ", ce);
65
			logger.warn("Setting the default export path");
1475 chandransh 66
			exportPath = "/var/lib/tomcat6/webapps/export/html/entities/";
1453 chandransh 67
		}
68
		return exportPath;
69
	}
70
 
822 vikas 71
	public static boolean validatePin(String pincode) {
72
		int pin;
73
		try {
74
			pin = Integer.parseInt(pincode);
75
		}
76
		catch (NumberFormatException e) {
77
			return false;
78
		}
79
 
80
		if (pin < 100000 || pin > 999999) {
81
			return false;
82
		}
83
		return true;
84
	}
4891 varun.gupt 85
 
86
	public static boolean isValidEmail(String emailAddress)	{
87
 
88
		if(emailAddress == null || emailAddress.isEmpty())	{
89
			return false;
90
		}
91
		try {
92
			InternetAddress address = new InternetAddress(emailAddress, true);
93
			address.validate();
94
			return true;
95
 
96
		} catch (AddressException e) {
97
			logger.error(emailAddress + " is not valid email address ", e);
98
			return false;
99
		}
100
	}
822 vikas 101
 
102
	public static boolean validatePhone(String phone) {
839 vikas 103
		long iPhone;
822 vikas 104
		try {
839 vikas 105
    		iPhone = Long.parseLong(phone);
822 vikas 106
		}
107
		catch (NumberFormatException e) {
108
			return false;
109
		}
839 vikas 110
 
111
		if (iPhone < 1000000000l || iPhone > 9999999999l) {
112
			return false;
113
		}
822 vikas 114
		return true;
115
	}
3209 vikas 116
 
117
	public static String getItemIdStringInCart(Cart cart) {
118
	    List<String> itemIds = new ArrayList<String>();
119
        for (Line line : cart.getLines()) {
120
            itemIds.add(Long.toString(line.getItemId()));
121
        }
122
        return StringUtils.join(itemIds, '_');
123
    }
124
 
125
	public static String getItemIdStringFromOrders(List<Order> orders) {
126
        List<String> itemIds = new ArrayList<String>();
127
        if (orders != null) {
128
            for (Order order : orders) {
129
                for (LineItem lItem : order.getLineitems()) {
130
                    itemIds.add(Long.toString(lItem.getItem_id()));
131
                }
132
            }
133
        }
134
        return StringUtils.join(itemIds, '_');
6135 anupam.sin 135
    }
136
 
137
 
138
 
139
	public static String getRechargeProviderName(long providerId) {
140
            return providersMap.get(providerId);
141
	}
4891 varun.gupt 142
}