package com.salesmanager.core.utils;

//TODO Jhonny cache removed and class remamed
//@Component("cache")
public class CacheUtils {


    //    @Inject
//    @Qualifier("serviceCache")
//    private Cache cache;
//
//
//    public final static String REFERENCE_CACHE = "REF";
//
//    private static final Logger LOGGER = LoggerFactory.getLogger(CacheUtils.class);
//
//    private final static String KEY_DELIMITER = "_";
//
//
//    public void putInCache(Object object, String keyName) throws Exception {
//
//        cache.put(keyName, object);
//
//    }
//
//
//    public Object getFromCache(String keyName) throws Exception {
//
//        ValueWrapper vw = cache.get(keyName);
//        if (vw != null) {
//            return vw.get();
//        }
//
//        return null;
//
//    }
//
//    public List<String> getCacheKeys(MerchantStore store) throws Exception {
//
//        net.sf.ehcache.Cache cacheImpl = (net.sf.ehcache.Cache) cache.getNativeCache();
//        List<String> returnKeys = new ArrayList<String>();
//        for (Object key : cacheImpl.getKeys()) {
//
//
//            try {
//                String sKey = (String) key;
//
//                // a key should be <storeId>_<rest of the key>
//                int delimiterPosition = sKey.indexOf(KEY_DELIMITER);
//
//                if (delimiterPosition > 0 && Character.isDigit(sKey.charAt(0))) {
//
//                    String keyRemaining = sKey.substring(delimiterPosition + 1);
//                    returnKeys.add(keyRemaining);
//
//                }
//
//            } catch (Exception e) {
//                LOGGER.equals("key " + key + " cannot be converted to a String or parsed");
//            }
//        }
//
//        return returnKeys;
//    }
//
//    public void shutDownCache() throws Exception {
//
//    }
//
//    public void removeFromCache(String keyName) throws Exception {
//        cache.evict(keyName);
//    }
//
//    public void removeAllFromCache(MerchantStore store) throws Exception {
//        net.sf.ehcache.Cache cacheImpl = (net.sf.ehcache.Cache) cache.getNativeCache();
//        for (Object key : cacheImpl.getKeys()) {
//            try {
//                String sKey = (String) key;
//
//                // a key should be <storeId>_<rest of the key>
//                int delimiterPosition = sKey.indexOf(KEY_DELIMITER);
//
//                if (delimiterPosition > 0 && Character.isDigit(sKey.charAt(0))) {
//
//
//                    cache.evict(key);
//
//                }
//
//            } catch (Exception e) {
//                LOGGER.equals("key " + key + " cannot be converted to a String or parsed");
//            }
//        }
//    }


}
