public boolean checkDatabase(String templateName, DatabaseCheck databaseCheck, String rangeName) throws TechnicalException, FunctionalException { String datasetNameFromTableName = this.nctm.getDatasetName(); if (null != datasetNameFromTableName && !MyUtils.isEmpty(datasetNameFromTableName) && !datasetNameFromTableName.equals(rangeName)) { throw new FunctionalException( "Mismatching dataset identifiers: datasetNameFromTableName = " + datasetNameFromTableName + ", rangeName = " + rangeName); } if (this.getTableConstraint() == null || this.getField() == null) { return false; } String tableName = null; if (this.main) { return true; } else { tableName = datasetNameFromTableName == null ? rangeName + "__" + this.getTableConstraint() : this.getTableConstraint(); MyUtils.checkStatusProgram( tableName.split("__").length == 3, "tableName = " + tableName, true); } return databaseCheck.checkDatabase(templateName, tableName, this.getField()) && databaseCheck.checkDatabase(templateName, tableName, this.getKey()); }