/** * Get TableDesc by name */ public TableDesc getTableDesc(String tableName, String prj) { try (AutoLock lock = srcTableMapLock.lockForWrite()) { return getProjectSpecificTableDesc(getTableIdentity(tableName), prj); } }
public Map<String, TableDesc> getAllTablesMap(String prj) { // avoid cyclic locks ProjectInstance project = (prj == null) ? null : ProjectManager.getInstance(config).getProject(prj); try (AutoLock lock = srcTableMapLock.lockForWrite()) { //TODO prj == null case is now only used by test case and CubeMetaIngester //should refactor these test case and tool ASAP and stop supporting null case if (prj == null) { Map<String, TableDesc> globalTables = new LinkedHashMap<>(); for (TableDesc t : srcTableMap.values()) { globalTables.put(t.getIdentity(), t); } return globalTables; } Set<String> prjTableNames = project.getTables(); Map<String, TableDesc> ret = new LinkedHashMap<>(); for (String tableName : prjTableNames) { String tableIdentity = getTableIdentity(tableName); ret.put(tableIdentity, getProjectSpecificTableDesc(tableIdentity, prj)); } return ret; } }
/** * Get TableDesc by name */ public TableDesc getTableDesc(String tableName, String prj) { try (AutoLock lock = srcTableMapLock.lockForWrite()) { return getProjectSpecificTableDesc(getTableIdentity(tableName), prj); } }
public Map<String, TableDesc> getAllTablesMap(String prj) { // avoid cyclic locks ProjectInstance project = (prj == null) ? null : ProjectManager.getInstance(config).getProject(prj); try (AutoLock lock = srcTableMapLock.lockForWrite()) { //TODO prj == null case is now only used by test case and CubeMetaIngester //should refactor these test case and tool ASAP and stop supporting null case if (prj == null) { Map<String, TableDesc> globalTables = new LinkedHashMap<>(); for (TableDesc t : srcTableMap.values()) { globalTables.put(t.getIdentity(), t); } return globalTables; } Set<String> prjTableNames = project.getTables(); Map<String, TableDesc> ret = new LinkedHashMap<>(); for (String tableName : prjTableNames) { String tableIdentity = getTableIdentity(tableName); ret.put(tableIdentity, getProjectSpecificTableDesc(tableIdentity, prj)); } return ret; } }