Esempio n. 1
0
  /**
   * 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));
  }