Subversion Repositories SmartDukaan

Rev

Rev 536 | Blame | Last modification | View Log | RSS feed

package in.shop2020.serving.services;

import java.io.Serializable;
import java.util.Map;

import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;

import in.shop2020.serving.utils.Category;
import in.shop2020.serving.utils.Utils;
import in.shop2020.utils.Logger;

public class CategoryManager implements Serializable{

        private static final long serialVersionUID = 1L;

        private static CategoryManager categoryManager;
        
        private Map<Long, Category> categories;
        
        private static Log log = LogFactory.getLog(CategoryManager.class);
        
        static{
                synchronized(CategoryManager.class){
                        categoryManager = new CategoryManager();
                }
        }
        
        @SuppressWarnings("unchecked")
        private CategoryManager(){
                log.info("Initializing category manager");
                
                try {
                        categories = (Map<Long, Category>)Utils.getCategories();
                } catch (Exception e) {
                        log.error("Unable to load categories from Catalog.");
                        categories = null;
                        e.printStackTrace();
                }
                
                Logger.log("Initialized category manager", this);               
        }
        
        public static CategoryManager getCategoryManager(){
                return categoryManager;
        }
        
        public Map<Long, Category> getCategories(){
                return this.categories;         
        }
        
        public String getCategoryLabel(long categoryId){
                Category category = this.categories.get(categoryId);
                if(category == null){
                        return null;
                }
                return category.getLabel();
        }
}