package org.ensembl.healthcheck.testcase.eg_core;
import java.sql.Connection;
import org.ensembl.healthcheck.DatabaseRegistryEntry;
import org.ensembl.healthcheck.DatabaseType;
import org.ensembl.healthcheck.ReportManager;
import org.ensembl.healthcheck.testcase.SingleDatabaseTestCase;
import org.ensembl.healthcheck.util.DBUtils;
public class SimpleFeatureEnds extends SingleDatabaseTestCase {
private static int THRESHOLD = 0;
public SimpleFeatureEnds() {
setDescription("Check that simple feature co-ordinates make sense");
}
public boolean run(DatabaseRegistryEntry dbre) {
boolean result = true;
Connection con = dbre.getConnection();
logger.fine("Checking simple features for " + DBUtils.getShortDatabaseName(con) + " ...");
int rows = DBUtils.getRowCount(con, "SELECT COUNT(*) FROM simple_feature INNER JOIN seq_region USING (seq_region_id) WHERE seq_region_end > length");
if (rows > THRESHOLD) {
result = false;
ReportManager.problem(this, con, rows + " simple features have seq_region_end > seq_region.length");
}
return result;
}
}