{
List<Address> result = new ArrayList<Address>();
// 1) Im Adressbuch suchen
{
DBIterator list = Settings.getDBService().createList(HibiscusAddress.class);
if (text != null && text.length() > 0)
{
// Gross-Kleinschreibung ignorieren wir
String s = "%" + text.toLowerCase() + "%";
list.addFilter("(kontonummer LIKE ? OR " +
" LOWER(iban) LIKE ? OR " +
" blz LIKE ? OR " +
" LOWER(kategorie) LIKE ? OR " +
" LOWER(name) LIKE ? OR " +
" LOWER(kommentar) LIKE ?)",s,s,s,s,s,s);
}
list.setOrder("ORDER by LOWER(name)");
// Iterieren ueber die Adressen um BIC/IBAN zu vervollstaendigen
while (list.hasNext())
{
HibiscusAddress a = (HibiscusAddress) list.next();
this.completeIBAN(a);
result.add(a);
}
}
// 2) In den eigenen Konten suchen
{
DBIterator list = Settings.getDBService().createList(Konto.class);
if (text != null && text.length() > 0)
{
// Gross-Kleinschreibung ignorieren wir
String s = "%" + text.toLowerCase() + "%";
list.addFilter("(kontonummer LIKE ? OR " +
" blz LIKE ? OR " +
" LOWER(name) LIKE ? OR " +
" LOWER(kommentar) LIKE ?)",new Object[]{s,s,s,s});
}
while (list.hasNext())
{
result.add(new KontoAddress((Konto) list.next()));
}
}
return result;
}