@Override
  public StringBuffer executeAction(HttpServletRequest request) {

    StringBuffer xmlPage = new StringBuffer();
    ObjectToXML objectToXML = ObjectToXML.getInstance();

    SessionAppUsuario sessionAppUsuario =
        AutenticadorServicio.getInstance().getSessionAppUsuario(request);
    HttpSession session = sessionAppUsuario.getHttpSession();

    // Se revisa hubo solicitud asignada
    SolicitudCartaPresentacionPasantia solicitudFinalizada =
        (SolicitudCartaPresentacionPasantia)
            session.getAttribute("var.solicitudCartaPresentacionPasantiaFinalizada");

    if (solicitudFinalizada != null) {
      xmlPage.append(objectToXML.getXML(solicitudFinalizada));
      sessionAppUsuario
          .getHttpSession()
          .removeAttribute("var.solicitudCartaPresentacionPasantiaFinalizada");

    } else {
      xmlPage.append("<error>1</error>");
      xmlPage.append(
          objectToXML.getXML(
              new String(
                  "Error. No se pudo terminar correctamente el proceso de finalizar la solicitud de elaboración de carta de presentación de pasantía, porfavor intentelo nuevamente")));
    }
    return xmlPage;
  }
  public StringBuffer executeAction(HttpServletRequest request) {

    StringBuffer xmlPage = new StringBuffer();
    ObjectToXML objectToXML = ObjectToXML.getInstance();

    // Session de aplicacion
    SessionAppUsuario sessionAppUsuario =
        AutenticadorServicio.getInstance().getSessionAppUsuario(request);

    if (sessionAppUsuario != null) {

      // Solicitante
      Estudiante solicitante =
          EstudianteServicio.getInstance().getEstudiantePorUsuario(sessionAppUsuario.getUsuario());

      if (solicitante != null) {

        Map<String, Object> parameters = getParameters(request, true);
        Proyecto proyecto =
            (Proyecto) getParameterToObject("Proyecto", Proyecto.class, null, parameters);
        String observacion =
            (String) getParameterToObject("Observacion", String.class, null, parameters);

        if (proyecto != null) {

          DocumentoProyecto documento =
              getDocumentoProyecto(
                  proyecto.getProy_proy(), parameters, sessionAppUsuario.getUsuario(), observacion);

          if (documento != null) {

            StringBuffer mensajeError = new StringBuffer();
            Boolean sinErrores =
                DocumentoProyectoServicio.getInstance()
                    .crearNuevaVersionDocumentoTransaccional(
                        documento, sessionAppUsuario.getUsuario(), mensajeError);

            if (!sinErrores) {
              this.nextPage = this.nextPage + "?error=1";
              sessionAppUsuario.getHttpSession().removeAttribute("var.error");
              sessionAppUsuario.getHttpSession().setAttribute("var.error", mensajeError.toString());

              sessionAppUsuario.notificarEvento(
                  "Error creando version de proyecto: " + mensajeError.toString());
            } else {

              // TODO Si se crea la preproyecto se debe notiticar a los participantes

              sessionAppUsuario.getHttpSession().setAttribute("var.crearVersionDocProyecto", true);

              // Se crea un nuevo mensaje de session
              sessionAppUsuario.notificarEvento(
                  "Se ha creado correctamente la versión No. "
                      + documento.getDproy_vers()
                      + " de la proyecto No."
                      + documento.getDproy_proy());
            }
          }
        }

      } else {
        this.nextPage = this.nextPage + "?error=1";
        sessionAppUsuario.getHttpSession().removeAttribute("var.error");
        sessionAppUsuario
            .getHttpSession()
            .setAttribute(
                "var.error",
                "No se puede crear la version de la proyecto ya que el usuario registrado no es un estudiante");
      }

    } else {
      xmlPage.append("<error>1</error>");
      xmlPage.append(
          objectToXML.getXML(
              new String("Usuario invalido. Por favor inicie session correctamente")));
    }

    return xmlPage;
  }