/**
   * Obtém a lista de operações
   *
   * @param useFilter Usar ou não filtro de tipo para operações
   * @return the operations
   */
  public List<Operation> getOperations(boolean useFilter) {
    if (useFilter) {
      List<Operation> list = new ArrayList();

      for (Operation o : operations) {
        if (o.getType().getDescription().equals(typeFilter)) {
          list.add(o);
        }
      }

      return list;
    } else {
      return operations;
    }
  }
  /**
   * Salva o operação que está em edição ou a nova operação.
   *
   * @param description Descrição da operação
   * @param leadTimeValue Valor do lead time da operação
   * @param leadTimeType Tipo do lead time da operação
   * @param type O tipo de operação
   * @throws OperationPersistenceException
   * @throws ValidatorException
   */
  public void save(
      String description, Double leadTimeValue, String leadTimeType, OperationType type)
      throws OperationPersistenceException, ValidatorException {
    if (!isEdit()) {
      operation = new Operation();
    }

    LeadTime lt = new LeadTime();
    lt.setValue(leadTimeValue);
    lt.setType(leadTimeType);

    operation.setDescription(description);
    operation.setLeadTime(lt);
    operation.setType(type);

    if (isEdit()) {
      facade.modify(operation);
    } else {
      facade.add(operation);
    }
  }