Subversion Repositories SmartDukaan

Rev

Rev 7670 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.util;

import in.shop2020.thrift.clients.config.ConfigClient;

import java.util.logging.Logger;

/**
 * Utility functions and wrappers 
 * 
 * @author naveen
 *
 */
public class Utils {
        /**
         * Path to DB
         */             
        public static String CONTENT_DB_PATH;
        public static String EXPORT_IR_PATH, EXPORT_MEDIA_PATH, EXPORT_DEFINITIONS_PATH, EXPORT_PATH,
        EXPORT_DIFF_PATH, EXPORT_SOLR_PATH, EXPORT_ENTITIES_PATH_SAHOLIC, EXPORT_ENTITIES_PATH_SHOP2020, EXPORT_ENTITIES_PATH_LOCALHOST,
        EXPORT_PARTNERS_CONTENT_PATH, EXPORT_JAVASCRIPT_CONTENT_PATH, EXPORT_HELPDOCS_PATH, EXPORT_VELOCITY_PATH,
        EXPORT_MEDIA_WEBSITE_PATH, EXPORT_MEDIA_STATIC_PATH, DOMAIN_NAMES_FOR_CONTENT_GENERATION;

        public static final int MOBILE_PHONES_CATAGORY = 10001;
        public static final int MOBILE_ACCESSORIES_CATEGORY = 10011;
        public static final int LAPTOPS_CATEGORY = 10049;
        public static final int LAPTOP_ACCESSORIES_CATEGORY = 10070;
        public static final int TABLETS_CATEGORY = 10009;
        public static final int CAMERAS_CATEGORY = 11001;
        public static final int ROOT_CATAGOEY = 10000;
        
        public static final long BLUETOOTH_HEADSET = 10012;
        public static final long MEMORY_CARD = 10013;
        public static final long BATTERY = 10014;
        public static final long HEADSET = 10015;
        public static final long CHARGER = 10016;
        public static final long CARRYING_CASE = 10018;
        public static final long SCREEN_GUARD = 10020;
        
        public static String BERKELEY_DB_PATH = "/var/lib/tomcat6/webapps/db/bdb/";
        
        public static String currentDir = System.getProperty("user.dir");

        static {
                try {

                        ConfigClient configClient = ConfigClient.getClient();
                        CONTENT_DB_PATH = configClient.get("CONTENT_DB_PATH");
                        BERKELEY_DB_PATH = configClient.get("BERKELEY_DB_PATH");
                        
                        EXPORT_IR_PATH = configClient.get("EXPORT_IR_PATH");

                        EXPORT_MEDIA_PATH = configClient.get("EXPORT_MEDIA_PATH");
                        EXPORT_MEDIA_WEBSITE_PATH = configClient.get("EXPORT_MEDIA_WEBSITE_PATH");
                        EXPORT_MEDIA_STATIC_PATH = configClient.get("EXPORT_MEDIA_STATIC_PATH");

                        EXPORT_ENTITIES_PATH_SAHOLIC = configClient.get("EXPORT_ENTITIES_PATH_SAHOLIC");
                        EXPORT_ENTITIES_PATH_SHOP2020 = configClient.get("EXPORT_ENTITIES_PATH_SHOP2020");
                        EXPORT_ENTITIES_PATH_LOCALHOST = configClient.get("EXPORT_ENTITIES_PATH_LOCALHOST");
                        
                        EXPORT_DEFINITIONS_PATH = configClient.get("EXPORT_DEFINITIONS_PATH");
                        EXPORT_DIFF_PATH = configClient.get("EXPORT_DIFF_PATH");
                        EXPORT_SOLR_PATH = configClient.get("EXPORT_SOLR_PATH");
                        EXPORT_PARTNERS_CONTENT_PATH = configClient.get("EXPORT_PARTNERS_CONTENT_PATH");
                        EXPORT_JAVASCRIPT_CONTENT_PATH = configClient.get("EXPORT_JAVASCRIPT_CONTENT_PATH");
                        EXPORT_HELPDOCS_PATH = configClient.get("EXPORT_HELPDOCS_PATH");
                        EXPORT_VELOCITY_PATH = configClient.get("EXPORT_VELOCITY_PATH");
                        EXPORT_PATH = configClient.get("EXPORT_PATH");
                        DOMAIN_NAMES_FOR_CONTENT_GENERATION = configClient.get("domainNamesForContentGeneration"); 
                } catch (Exception ex) {
                        ex.printStackTrace();
                        CONTENT_DB_PATH = "/var/lib/tomcat6/webapps/db/";
                        BERKELEY_DB_PATH = "/var/lib/tomcat6/webapps/db/bdb/";

                        EXPORT_IR_PATH = "/var/lib/tomcat6/webapps/export/ir/";

                        EXPORT_MEDIA_PATH = "/var/lib/tomcat6/webapps/export/media/";
            EXPORT_MEDIA_WEBSITE_PATH = "/var/lib/tomcat6/webapps/export/media/website/";
            EXPORT_MEDIA_STATIC_PATH = "/var/lib/tomcat6/webapps/export/media/static/";

                        EXPORT_ENTITIES_PATH_SAHOLIC = "/var/lib/tomcat6/webapps/export/html/entities-saholic/";
                        EXPORT_ENTITIES_PATH_SHOP2020 = "/var/lib/tomcat6/webapps/export/html/entities-shop2020/";
                        EXPORT_ENTITIES_PATH_LOCALHOST = "/var/lib/tomcat6/webapps/export/html/entities-localhost/";

                        EXPORT_DEFINITIONS_PATH = "/var/lib/tomcat6/webapps/export/html/definitions/";
                        EXPORT_DIFF_PATH = "/var/lib/tomcat6/webapps/export/html/diff/";
                        EXPORT_SOLR_PATH = "/var/lib/tomcat6/webapps/export/solr/";
                        EXPORT_PARTNERS_CONTENT_PATH = "/var/lib/tomcat6/webapps/export/partners/";
                        EXPORT_JAVASCRIPT_CONTENT_PATH = "/var/lib/tomcat6/webapps/export/javascripts/";
                        EXPORT_HELPDOCS_PATH = "/var/lib/tomcat6/webapps/export/html/helpdocs/";
                        EXPORT_VELOCITY_PATH = "/var/lib/tomcat6/webapps/export/velocity/entities/";
                        EXPORT_PATH  = "/var/lib/tomcat6/webapps/export/";
                        DOMAIN_NAMES_FOR_CONTENT_GENERATION = "saholic.com;shop2020.in;store.shop2020.in:8080";
                }
        }
        
        //Next some paths are somewhat hardcoded need to check when gets time. But they will be used only first time and in utility classes.
        /**
         * Path to XML definitions
         */
        public static final String DEFINITIONS_SRC_PATH = currentDir +  "/src/xml/model/";
        /**
         * Path to where PPT files will be picked
         */
        public static final String CONTENT_SRC_PPT_PATH = currentDir + "/content/ppt/";
        /**
         * Path where exported HTML files are kept
         */
        public static final String CONTENT_SRC_HTML_PATH =      currentDir + "/content/html/";

                
        public static String VTL_SRC_PATH = "src/velocity/";
        public static String JYTHON_SRC_PATH = "src/jython/";
        
        //to be used in case of web
        //public static String JYTHON_SRC_PATH = Utils.class.getClassLoader().getResource("jython").getPath();
        

        
        /**
         * Jython source path
         */
//      public static String JYTHON_SRC_PATH = "src/jython/";

        
        public static long SNIPPETS_FEATURE_DEFINITIONID = 120081;
        
        
        /**
         * Brand's feature definition, is not referred directly by content models
         */
        public static final long BRAND_FEATURE_DEFINITION_ID = 120080;
        public static final long AVAILABILITY_FEATURE_DEFINITION_ID = 120428;
        public static final long TAG_FEATURE_DEFINITION_ID = 120430;
        public static final long PRICE_FEATURE_DEFINITION_ID = 120128;
        public static final long MAIN_CAT_FEATURE_DEFINITION_ID = 120123;
        public static final long SUB_CAT_FEATURE_DEFINITION_ID = 120124;
        public static final long BRAND_SYNONYMS_FEATURE_DEFINITION_ID = 120307;
        public static final long SUB_CATEGORY_SYNONYMS_FEATURE_DEFINITION_ID = 120308;
        
        public static final long ZERO_SLIDE_DEFINITION_ID = 130000;
        public static final long AFTER_SALES_SLIDE_DEFINITION_ID = 130088;
        public static final long SUMMARY_SLIDE_DEFINITION_ID = 130054;
        public static final String OFFER_MSG_TEMPLATE = "\t{1}\tfalse\t{0}";
        public static final String CAPACITY_TEMPLATE = "{0} {1} - {2}";
        public static final String EXPECTED_ARRIVAL_ACHIEVED_TEMPLATE = "Few items will achieve its expected arrival date after tomorrow. Please take appropriate action within 24 hours if needed.";
        public static final String POPULARITY_JSON = "popularity.json";
        public static final String RISKY_PAUSED_JSON = "availability.json";
        /**
         * Brand's facet definition
         */
        public static final long BRAND_FACET_DEFINITION_ID = 50001;
        
        /**
         * Singleton Logger instance
         */
        public static Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);

        /**
         * INFO type message
         * 
         * @param obj
         */
        public static void info(Object obj) {
                System.out.println("INFO: " + obj.toString());
        }
        
        /**
         * SEVERE type message
         * 
         * @param obj
         */
        public static void severe(Object obj) {
                System.out.println("SEVERE: " + obj.toString());
        }

        /**
         * MANDATORY type message
         * 
         * @param obj
         */
        public static void warning(Object obj) {
                System.out.println("WARNING: " + obj.toString());
        }
}