}
}
public HealthUnit search(Long code) throws RepositoryException, ObjectNotFoundException {
HealthUnit us = null;
String sql = null;
try {
// Query montada para recuperar os relacionamentos de
// unidades de sa�de com especialidades
// filtrando pelo identificador da unidade.
sql = "select * from scbs_unidadeespecialidade where " + "codigounidadesaude = '"
+ code + "'";
Statement stmt = (Statement) this.mp.getCommunicationChannel();
resultSet = stmt.executeQuery(sql);
List specialities = new ArrayList();
// Iterar nos resultados da query para recuperar as
// especialidades e inserir em um conjunto
// (RepositorioEspecialidadeArray)
while (resultSet.next()) {
try {
MedicalSpeciality esp = specialityRep.search((new Long(resultSet
.getString("codigoespecialidade"))).longValue());
System.out.println("medicalspeciality: " + esp.getId() + " "
+ esp.getDescricao());
specialities.add(esp);
} catch (ObjectNotFoundException ex) {
}
}
resultSet.close();
stmt.close();
// Query montada para recuperar a unidade de sa�de
// usando o identificador da unidade informado como
// par�metro do m�todo
sql = "select * from scbs_unidadesaude where " + "codigo = '" + code + "'";
stmt = (Statement) this.mp.getCommunicationChannel();
resultSet = stmt.executeQuery(sql);
if (resultSet.next()) {
us = new HealthUnit(resultSet.getString("descricao"), specialities);
//us.setId(resultSet.getLong("ID"));
us.setId((new Long(resultSet.getString("codigo"))).longValue());
//preparar para buscar em outra tabela as especialidades desta unidade de saude
//depois vai chamar deepAccess() de RepositorioEspecialidadeBDR
} else {
throw new ObjectNotFoundException(ExceptionMessages.EXC_FALHA_PROCURA);