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 ArraysHaveProbes extends AbstractTemplatedTestCase { public ArraysHaveProbes() { this.setTeamResponsible(Team.FUNCGEN); } @Override protected boolean runTest(DatabaseRegistryEntry dbre) { SqlTemplate s = getTemplate(dbre); List<String> arraysWithoutProbes = s.queryForDefaultObjectList( "select distinct array.name from array join array_chip using (array_id) left join probe using (array_chip_id) where probe.probe_id is null", String.class ); if (arraysWithoutProbes.size()==0) { return true; } Iterator<String> i = arraysWithoutProbes.iterator(); while (i.hasNext()) { ReportManager.problem(this, dbre.getConnection(), "The array " + i.next() + " has no probes." ); } return false; } }