Rev 6135 | Rev 6206 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.utils;import in.shop2020.config.ConfigException;import in.shop2020.model.v1.order.LineItem;import in.shop2020.model.v1.order.Order;import in.shop2020.model.v1.order.RechargePlan;import in.shop2020.model.v1.order.RechargeType;import in.shop2020.model.v1.user.Cart;import in.shop2020.model.v1.user.Line;import in.shop2020.thrift.clients.TransactionClient;import in.shop2020.thrift.clients.config.ConfigClient;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import org.apache.commons.lang.StringUtils;import org.apache.log4j.Logger;import org.apache.thrift.transport.TTransportException;public class Utils {private static Logger logger = Logger.getLogger(Utils.class);public static final String EXPORT_ENTITIES_PATH = getExportPath();public static final String EXPORT_JAVASCRIPT_CONTENT_PATH = "/var/lib/tomcat6/webapps/export/javascripts/";public static final long ROOT_CATEGORY = 10000;public static final long MOBILE_PHONES_CATEGORY = 10001;public static final long MOBILE_ACCESSORIES_CATEGORY = 10011;public static final long TABLETS_CATEGORY = 10010;public static final long LAPTOPS_CATEGORY = 10050;public static final long CAMERAS_CATEGORY = 11001;static Map<Long, String> providersMap;static Map<Long, String> mobileProvidersMap;static Map<Long, String> dthProvidersMap;static Map<Long, List<RechargePlan>> operatorPlanMap = new HashMap<Long, List<RechargePlan>>();public static String[] facetDefIDs = new String[] {"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" };public static String[] facetLabels = new String[] {"Category","Sub Category","Price", "Brand", "Data Connectivity","Camera Resolution", "Display", "Operating System", "RAM", "Storage Capacity", "Processor","Capacity", "Class", "Capacity", "Capacity", "Type", "Interface", "Resolution", "Optical Zoom", "Display Size", "Effective Resolution" };public static String[] rootfacetDefIDs = new String[] {"F_50010","F_50011","F_50002","F_50001"};public static String[] rootfacetLabels = new String[] {"Category","Sub Category","Price", "Brand"};static {TransactionClient tcl;try {tcl = new TransactionClient();mobileProvidersMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE);dthProvidersMap = tcl.getClient().getServiceProviders(RechargeType.DTH);// providersMap.putAll(mobileProvidersMap);// providersMap.putAll(dthProvidersMap);for (Long operatorId : mobileProvidersMap.keySet()) {List<RechargePlan> plans = tcl.getClient().getPlansForOperator(operatorId);if (!plans.isEmpty()) {operatorPlanMap.put(operatorId, plans);}}// providersMap.putAll(tcl.getClient().getServiceProviders(RechargeType.DTH));} catch (Exception e) {logger.error("Could not get providers", e);}}private static String getExportPath(){String exportPath=null;ConfigClient client = ConfigClient.getClient();try{exportPath = client.get("export_entities_path");}catch(ConfigException ce){logger.error("Unable to read export path from the config client: ", ce);logger.warn("Setting the default export path");exportPath = "/var/lib/tomcat6/webapps/export/html/entities/";}return exportPath;}public static boolean validatePin(String pincode) {int pin;try {pin = Integer.parseInt(pincode);}catch (NumberFormatException e) {return false;}if (pin < 100000 || pin > 999999) {return false;}return true;}public static boolean isValidEmail(String emailAddress) {if(emailAddress == null || emailAddress.isEmpty()) {return false;}try {InternetAddress address = new InternetAddress(emailAddress, true);address.validate();return true;} catch (AddressException e) {logger.error(emailAddress + " is not valid email address ", e);return false;}}public static boolean validatePhone(String phone) {long iPhone;try {iPhone = Long.parseLong(phone);}catch (NumberFormatException e) {return false;}if (iPhone < 1000000000l || iPhone > 9999999999l) {return false;}return true;}public static String getItemIdStringInCart(Cart cart) {List<String> itemIds = new ArrayList<String>();for (Line line : cart.getLines()) {itemIds.add(Long.toString(line.getItemId()));}return StringUtils.join(itemIds, '_');}public static String getItemIdStringFromOrders(List<Order> orders) {List<String> itemIds = new ArrayList<String>();if (orders != null) {for (Order order : orders) {for (LineItem lItem : order.getLineitems()) {itemIds.add(Long.toString(lItem.getItem_id()));}}}return StringUtils.join(itemIds, '_');}public static String getRechargeProviderName(long providerId) {return providersMap.get(providerId);}public static Map<Long, String> getMobileProvidersMap() {return mobileProvidersMap;}public static Map<Long, String> getDthProvidersMap() {return dthProvidersMap;}public static Map<Long, List<RechargePlan>> getOperatorPlanMap() {return operatorPlanMap;}}