this.last_type = type;
catalogContext = project_catalogs.get(type);
if (catalogContext == null) {
CatalogContext cc = null;
AbstractProjectBuilder projectBuilder = getProjectBuilder(type);
if (ENABLE_JAR_REUSE) {
File jar_path = projectBuilder.getJarPath(true);
if (needs_reset.contains(type)) {
jar_path.delete();
needs_reset.remove(type);
}
if (jar_path.exists()) {
LOG.debug("LOAD CACHE JAR: " + jar_path.getAbsolutePath());
cc = CatalogUtil.loadCatalogContextFromJar(jar_path);
} else {
LOG.debug("MISSING JAR: " + jar_path.getAbsolutePath());
}
}
if (cc == null) {
File jarPath = projectBuilder.getJarPath(true);
Catalog c = null;
switch (type) {
case TPCE:
c = projectBuilder.createCatalog(fkeys, full_catalog);
break;
default:
c = projectBuilder.getFullCatalog(fkeys);
if (LOG.isDebugEnabled())
LOG.debug(type + " Catalog JAR: " + jarPath.getAbsolutePath());
break;
} // SWITCH
assert(c != null);