Cláusulas Condicionais Onde em JasperReports

Digamos que eu queira um JasperReport que permita ao usuário filtrar uma data, se assim desejar. O SQL é o seguinte:

select * from foo where bar = $P{bar} and some_date > $P{some.date}

Agora, eu não quero filtrar por alguma data, se eles não passaram a data em. Eu encontrei o seguinte kludge que as pessoas usam:

select * from foo where bar = $P{bar} $P!{some.date.fragment}

E asome.date.fragment O parâmetro é definido com o seguinte padrão:

($P{some.date} == null || $P{some.date}.equals("")) ? "" : "AND some_date >'" + new java.sql.Date($P{some.date}.getTime()).toString() + "'"

Isso não está funcionando comotoString não produz a data em um formato que meu servidor SQL entenda. Eu gostaria de ter o condicional ainda usar uma instrução preparada com o driver jdbc e lançar o parâmetro, eu só quero que a declaração preparada seja dependente se o parâmetro é nulo ou não. Isso pode ser feito?

questionAnswers(3)

yourAnswerToTheQuestion