Particularmente, eu faço esse tipo de verificação no próprio relatório. Se eu não me engano, o Jasper te oferece 3 opções de comportamento quando a query não retorna resultados: página em branco, sem páginas, e no-data-section. Você pode colocar a mensagem no no-data-section e evita todo esse malabarismo com result set.
Entendi, mas o problema que eu nunca fiz essas verificações, ainda mais no próprio relatório!
Por enquanto vou deixar assim, quando tiver um tempo, vou procurar saber sobre no-data-section