// On r�cup�re les recoltants
List results = VigneronPeer.findAll();
if (results != null) {
// Pour chaque r�coltant
for (int i = 0; i < results.size(); i++) {
Vigneron recoltant1 = (Vigneron) results.get(i);
// On r�cup�re leur ID
String recoltant_id = recoltant1.getId();
// On v�rifie que leurs vignes sont dans le bon pays region.
if (!TextTools.isNullOrEmpty(pays_id)) {
// On r�cupere les r�gion de vigne qu'ils travaillent
Vigne vigne = new Vigne();
vigne.setVigneron_id(recoltant_id);
vigne.setCountry_id(pays_id);
if (!TextTools.isNullOrEmpty(region_id)) vigne.setRegion_id(region_id);
List vignes = VignePeer.find(vigne);
if (vignes != null && vignes.size() > 0) {
resultats.add(recoltant1);
}
else {
// si la r�gion n'est pas renseign�e on ne regarde que le pays
if (TextTools.isNullOrEmpty(region_id)) {
if (pays_id.equals(recoltant1.getCountry_id())) {
resultats.add(recoltant1);
}
}
}
}
else {
resultats.add(recoltant1);
}
}
// Si le nom pass� en argument n'est pas nul ou vide
if (!TextTools.isNullOrEmpty(nom)) {
// Nous faisons une recherche sur chaque �l�ment qui peut contenir
// une partie du nom pass� en argument
Iterator<Vigneron> liste = resultats.iterator();
while (liste.hasNext()) {
Vigneron bout = liste.next();
if (bout != null && bout.getLastname() != null) {
if (bout.getLastname().indexOf(nom) == -1) {
liste.remove();
}
}
}
}