use of lucee.runtime.config.ConfigImpl 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.runtime.config.ConfigImpl 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_...
* @param defaultValue value returned when there is no default cache for this type
* @return matching cache
*/
public static Cache getDefault(PageContext pc, int type, Cache defaultValue) {
// get default from application conetx
String name = null;
if (pc != null && pc.getApplicationContext() != null)
name = pc.getApplicationContext().getDefaultCacheName(type);
Config config = ThreadLocalPageContext.getConfig(pc);
if (!StringUtil.isEmpty(name)) {
Cache cc = getCache(pc, name, null);
if (cc != null)
return cc;
}
// get default from config
CacheConnection cc = ((ConfigImpl) config).getCacheDefaultConnection(type);
if (cc == null)
return defaultValue;
try {
return cc.getInstance(config);
} catch (Throwable t) {
ExceptionUtil.rethrowIfNecessary(t);
return defaultValue;
}
}
use of lucee.runtime.config.ConfigImpl 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()]);
}
use of lucee.runtime.config.ConfigImpl in project Lucee by lucee.
the class ComponentCacheClear method call.
public static String call(PageContext pc) {
ConfigImpl config = (ConfigImpl) pc.getConfig();
config.clearComponentCache();
return null;
}
use of lucee.runtime.config.ConfigImpl in project Lucee by lucee.
the class CTCacheClear method call.
public static String call(PageContext pc) {
ConfigImpl config = (ConfigImpl) pc.getConfig();
config.clearCTCache();
return null;
}
Aggregations