public void avaliaEgresso(
      String cpf,
      List<Integer> respostas,
      String especialidade,
      String questao10Outro,
      String questao15Area) {

    PesquisaAvaliacao form = faRepo.findByDescritor("AvaliacaoEgresso");
    Aluno aluno = getAlunoPorCPF(cpf);
    List<Alternativa> alternativas = new ArrayList<Alternativa>();

    for (int i = 0; i < respostas.size(); i++) {
      Alternativa a = alternativaRepo.findOne(respostas.get(i));
      alternativas.add(a);
    }

    AvaliacaoEgresso avaliacao = new AvaliacaoEgresso(aluno, alternativas, form);

    if (especialidade != null && especialidade.length() > 0) {
      avaliacao.setEspecialidade(especialidade);
    }

    if (questao10Outro != null && questao10Outro.length() > 0) {
      avaliacao.setQuestao10_Outro(questao10Outro);
    }

    if (questao15Area != null && questao15Area.length() > 0) {
      avaliacao.setQuestao15_Area(questao15Area);
    }

    egressoRepo.save(avaliacao);
  }
  public SolicitaAvaliacaoEgressoResponse retornaQuestoes() {
    SolicitaAvaliacaoEgressoResponse response = new SolicitaAvaliacaoEgressoResponse();
    PesquisaAvaliacao form = faRepo.findByDescritor("AvaliacaoEgresso");
    List<Quesito> quesitos = form.getQuesitos();
    List<AlternativaDto> alternativas;
    if (quesitos == null || quesitos.size() == 0) return null;

    for (Quesito quesito : quesitos) {
      alternativas = new ArrayList<AlternativaDto>();

      for (Alternativa alternativa : quesito.getAlternativas()) {
        alternativas.add(
            response.new AlternativaDto(alternativa.getId(), alternativa.getDescritor()));
      }

      response.add(response.new Item(quesito.getEnunciado(), alternativas));
    }
    return response;
  }