Subversion Repositories SmartDukaan

Rev

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

package in.shop2020.serving.services;

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

import org.apache.log4j.Logger;

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

public class CategoryManager implements Serializable{

        private static final long serialVersionUID = 1L;

        private static CategoryManager categoryManager;
        
        private Map<Long, Category> categories;
        
        private static Logger log = Logger.getLogger(Class.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();
                }
                
                in.shop2020.utils.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();
        }

        public Category getCategory(long categoryId){
                return this.categories.get(categoryId);
        }
}