/** * Méthode en charge de constuire un item à partir d'un thème, d'une grille et d'une catégorie. * * @param theme Le thème * @param grille La grille * @param La catégorie * @return L'item. */ private Item buildItem(final Grille grille, final Theme theme, final Categorie categorie) { final Item item = this.itemFactory.getInitializedObject(); item.setTheme(theme.getNom()); item.setGrille(grille); if (categorie != null) { item.setCategorie(categorie.getLibelle()); item.setActe(categorie.getActe()); item.getRegles().addAll(categorie.getRegles()); for (final Regle regle : item.getRegles()) { regle.getItems().add(item); } } // Cas d'un thème qui est aussi une catégorie. else if (theme.isCategorie()) { item.getRegles().addAll(theme.getRegles()); for (final Regle regle : item.getRegles()) { regle.getItems().add(item); } } return item; }
/** * Méthode en charge de filtrer les règles de l'item et de ne retourner que les règles de cout * variables. * * @param item L'item. * @return Les regles au cout variables. */ @SuppressWarnings("unchecked") private Collection<Regle> getReglesCoutVariable(final Item item) { return CollectionUtils.select( item.getRegles(), new GenericPredicate("type", TypeCout.VARIABLE)); }