public String salvar() {
        try {
            if (tarefa.getId() == null) {
                tarefa.setStatus("1");
                tarefaDao.salvar(tarefa);
                mensagem = "Tarefa Salva com Sucesso!";
                tarefa = new Tarefa();
            } else {
//                setando esses atributos, pois, eles não estão na tela. Assim não veem para o servidor, sendo necessário fazer isso, ou colocar campo hidden na view
                getTarefa(tarefa.getId());

                if (tarefa.getColaborador() == null) {
                    tarefa.setColaborador(tarefaOld.getColaborador());
                }
                tarefa.setProjeto(tarefaOld.getProjeto());
                tarefa.setDataInicial(tarefaOld.getDataInicial());
                //se tiver finalizando a tarefa...
                if (tarefa.getStatus().equals("3")) {
                    tarefa.setDataFinal(new Date());
                }
                tarefaDao.atualizar(tarefa);
                SalvarLog();
                mensagem = "Tarefa Atualizada com Sucesso!";
            }
            limpar();
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(mensagem));
            getTarefas();

            return "/listTarefa.xhtml";

        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }
    }