package org.ensembl.healthcheck.testcase.funcgen; import java.util.Iterator; import java.util.List; import org.ensembl.healthcheck.DatabaseRegistryEntry; import org.ensembl.healthcheck.ReportManager; import org.ensembl.healthcheck.Team; import org.ensembl.healthcheck.testcase.AbstractTemplatedTestCase; import org.ensembl.healthcheck.util.SqlTemplate; public class BrokenFeatureSetToFeatureTypeLinks extends AbstractTemplatedTestCase { public BrokenFeatureSetToFeatureTypeLinks() { this.setTeamResponsible(Team.FUNCGEN); } @Override protected boolean runTest(DatabaseRegistryEntry dbre) { SqlTemplate s = getTemplate(dbre); List<String> featureSetWithoutFeatureType = s.queryForDefaultObjectList( "select feature_set.name from feature_set left join feature_type using (feature_type_id) where feature_type.feature_type_id is null", String.class ); if (featureSetWithoutFeatureType.size()==0) { return true; } Iterator<String> i = featureSetWithoutFeatureType.iterator(); while (i.hasNext()) { ReportManager.problem(this, dbre.getConnection(), "The feature set " + i.next() + " is not linked to a feature type." ); } return false; } }