{
Validate.argNotNull(plaque, "plaque");
Validate.argNotNull(saison, "saison");
Validate.argNotNull(categorie, "categorie");
final CategorieParticipante categorieParticipante = categorieParticipanteService
.getCategorieParticipante(saison, categorie);
boolean plaqueMinMaxDefini = (categorieParticipante.getPlaqueMin() != null && categorieParticipante
.getPlaqueMax() != null);
boolean plaqueGeleMinMaxDefini = (categorieParticipante
.getPlaqueGeleMin() != null && categorieParticipante
.getPlaqueGeleMax() != null);
int plaqueint = 0;
try
{
plaqueint = Integer.parseInt(plaque);
}
catch (NumberFormatException e)
{
if (plaqueMinMaxDefini)
{
throw new PlaqueException("La plaque n'est pas un numéro. ");
}
}
if (plaqueMinMaxDefini)
{
if (plaqueint < categorieParticipante.getPlaqueMin()
|| plaqueint > categorieParticipante.getPlaqueMax())
{
throw new PlaqueException("La plaque n'est pas dans la plage"
+ " de plaques assignées. ");
}
if (plaqueGeleMinMaxDefini)
{
if (plaqueint >= categorieParticipante.getPlaqueGeleMin()
&& plaqueint <= categorieParticipante
.getPlaqueGeleMax())
{
throw new PlaqueException(
"La plaque est dans la plage des "
+ "plaques gelées. ");