use of lucee.commons.io.cache.exp.CacheException in project Lucee by lucee.
the class CacheUtil method getDefault.
/**
* get the default cache for a certain type, also check definitions in application context (application . cfc/cfapplication)
* @param pc current PageContext
* @param type default type -> Config.CACHE_DEFAULT_...
* @return matching cache
* @throws IOException
*/
public static Cache getDefault(PageContext pc, int type) throws IOException {
// get default from application conetxt
String name = pc != null ? pc.getApplicationContext().getDefaultCacheName(type) : null;
if (!StringUtil.isEmpty(name)) {
Cache cc = getCache(pc, name, null);
if (cc != null)
return cc;
}
// get default from config
Config config = ThreadLocalPageContext.getConfig(pc);
CacheConnection cc = ((ConfigImpl) config).getCacheDefaultConnection(type);
if (cc == null)
throw new CacheException("there is no default " + toStringType(type, "") + " cache defined, you need to define this default cache in the Lucee Administrator");
return cc.getInstance(config);
}
use of lucee.commons.io.cache.exp.CacheException in project Lucee by lucee.
the class CacheSetProperties method getCaches.
private static CacheConnection[] getCaches(PageContext pc, String cacheName) throws CacheException {
ConfigImpl config = (ConfigImpl) pc.getConfig();
if (StringUtil.isEmpty(cacheName)) {
return new CacheConnection[] { config.getCacheDefaultConnection(Config.CACHE_TYPE_OBJECT), config.getCacheDefaultConnection(Config.CACHE_TYPE_TEMPLATE) };
// MUST which one is first
}
ArrayList<CacheConnection> list = new ArrayList<CacheConnection>();
String name;
String[] names = ListUtil.listToStringArray(cacheName, ',');
for (int i = 0; i < names.length; i++) {
name = names[i].trim().toLowerCase();
if (name.equalsIgnoreCase("template"))
list.add(config.getCacheDefaultConnection(Config.CACHE_TYPE_TEMPLATE));
else if (name.equalsIgnoreCase("object"))
list.add(config.getCacheDefaultConnection(Config.CACHE_TYPE_OBJECT));
else {
CacheConnection cc = config.getCacheConnections().get(name);
if (cc == null)
throw new CacheException("there is no cache defined with name [" + name + "]");
list.add(cc);
}
}
return list.toArray(new CacheConnection[list.size()]);
}
Aggregations