Gotcha! Tu veux n'interdire que les metiers qui ont cette espece en principale target, c est a dire que tu as coche la case a cote dans l interface du metier? Ce n'est pas ce que getSpeciesTargetSpecies() renvoit. il faut que tu ajoutes isPrimaryCatch() : getSpeciesTargetSpecies(param_species).isPrimaryCatch(); c est un boolean qui te dit si tu as coche espece principqale ou non. j espere que ca aide! A+ Le 15 mai 2012 02:52, Jessica Andre <Jessica.Andre@utas.edu.au> a écrit :
Salut,****
** **
Et oui, j’ai bien 16 métiers… Et on ne secoue pas la tête en signe de désapprobation svp…****
Merci pour ton aide, mais ca marche pas… Ce qui sort de info.getSpeciesTargetSpecies() n’est pas une liste d’éléments mais plutôt du style M_SJ_Calamari_out-Banded morwong(janvier-décembre)(TargetFactor) (c'est-à-dire metier-espèce-mois-target factor), donc pas compatible avec une List comme tu l’as décrit. En re-(re-re)regardant le code, je crois voir pourquoi il applique la règle pour toute les espèces : il semble que quelque soit le metier, ISIS me sort banded morwong comme target species, alors que dans ma base de données pour les métiers, le main target species est bien spécifié comme il faut (c’est a dire pas banded morwong pour tous les métiers…)****
** **
Dans isCaptureDate****
** **
MetierSeasonInfo info = metier.getMetierSeasonInfo(date.getMonth()); ****
log.info(" *$$$$$** info:" + info); *renvoie par ex. M_HL_Wrasse_out saison janvier-décembre*****
TargetSpecies target = info.getSpeciesTargetSpecies(species);****
log.info(" *** target:" + target); * renvoie par ex. **M_HL_Wrasse_out-Banded morwong(janvier-décembre)(TargetFactor), ca devrait etre wrasse*****
Species target2 = target.getSpecies();****
log.info(" *$$$$$** target2:" + target2); *me renvoie systematiquement banded morwong…au lieu de Wrasse *
* *
boolean result;****
result = false;****
** **
if (target2.equals(param_species)) {****
result = true;****
****
} else {****
result = false;****
}****
** **
Donc forcement, la condition de la règle est toujours vrai (puisque il faut que la target species soit banded morwong pour l’appliquer) et donc il m’applique la règle pour toute les espèces. ****
** **
** **
J’y retourne. Je comprends toujours pas pourquoi il fait ca.****
** **
Jess****
** **
*From:* isis-fish-users-bounces@list.isis-fish.org [mailto: isis-fish-users-bounces@list.isis-fish.org] *On Behalf Of *Sigrid Lehuta *Sent:* Tuesday, 15 May 2012 12:56 AM
*To:* isis-fish-users@list.isis-fish.org *Subject:* Re: [Isis-fish-users] Modification regle TotalClosure****
** **
Desolee, j ai des soucis d envoi intempestif en ce moment, je finis mon message en dessous.****
** **
je crois que je vois un truc louche dans ton code (en meme temps je ne suis pas sure car ton debug est bon: 16 metiers concernes?) ****
Dans isCaptureDate
je me demande ce que la methode getSpeciesTargetSpecies renvoit si species n est pas dans les especes capturables du metier et du coup ce que "TargetSpecies target = info.getSpeciesTargetSpecies(species);" fait? je me dit qu il doit la creer, et du coup logiquement ta methode retourne tjs vrai.
A la place je ferais: list<TargetSpecies> ListTarget = info.getSpeciesTargetSpecies(); for(TargetSpecies ts : ListTarget){ if(ts.getSpecies().equals(param_species)){****
result=true; } //surtout pas de else } ****
et je ne crois pas qu il faille utiliser species en argument de la methode, je crois que c est redondant.
Dis moi ce que tu en penses. A ++****
****
Le 13 mai 2012 19:36, Jessica Andre <Jessica.Andre@utas.edu.au> a écrit :* ***
** **
Euh... Non. Comme je n'utilise pas de fonction d'inactivité, il y a pour chaque espèce un metier qui s'appelle M_Inactivity et qui est "pratiqué" chaque mois. Donc non, il n'y a pas pour chaque metier une espèce capturable en Mars/Avril. Si c'est ca le problème, comment je le contourne?!
Merci d'avance
Jess****
-----Original Message----- From: isis-fish-users-bounces@list.isis-fish.org [mailto: isis-fish-users-bounces@list.isis-fish.org] On Behalf Of Eric Chatellier Sent: Friday, 11 May 2012 6:10 PM To: isis-fish-users@list.isis-fish.org Subject: Re: [Isis-fish-users] Modification regle TotalClosure
Le 11/05/2012 04:32, Jessica Andre a écrit :
Bonjour,
Bonjour,
J'ai un petit souci de codage. Je cherche a modifier la règle
pour qu'elle s'applique en mars-avril mais seulement pour une de mes 4 espèces. J'ai bidouillé le code mais ca m'applique quand même la fermeture pour toute les espèces. Alors comme je rame un peu (retours de congés***
TotalClosure *
maternité, la tête en vrac.), si quelqu'un pouvais m'aider ca serait gentil.****
J'ai mis la règle en PJ avec mon log de simu (simplifié pour 2 espèces
sur 1 an).
****
Merci d'avance a l'âme généreuse.****
Je ne vois pas d'erreur dans la regle, ca vient donc peut-être de la base.
Suivant le test fait par la fonction "isCaptureDate", êtes-vous sure que pour tous les métiers, il y a un moins une espèce capturable portant sur Mars et/ou Avril qui concerne l'espèce que vous avez défini en paramètre de la règle (param_species) ?
-- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users _______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users****
** **
** **
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users