@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;
  }
  @Override
  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) {

      Map<String, Object> parameters = getParameters(request, true);

      InformeFinal informeFinal =
          (InformeFinal) getParameterToObject("InformeFinal", InformeFinal.class, null, parameters);

      if (informeFinal != null) {

        InformeFinal informeFinalConsultada =
            InformeFinalServicio.getInstance().getInformeFinal(informeFinal.getInfo_info());
        xmlPage.append(objectToXML.getXML(informeFinalConsultada));

        // Se busca el estudiante asociado al usuario
        Long siguienteVersion =
            DocumentoInformeFinalServicio.getInstance()
                .getSiguienteVersion(informeFinalConsultada.getInfo_info());
        xmlPage.append(
            "<SiguienteVersionDocumentoInformeFinal>"
                + siguienteVersion.intValue()
                + "</SiguienteVersionDocumentoInformeFinal>");
      }

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

    return xmlPage;
  }
  @Override
  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) {

      String info_info = request.getParameter("InformeFinal.info_info");

      if (info_info != null) {

        // Servicio
        InformeFinalServicio servicio = InformeFinalServicio.getInstance();
        ProcesoEvaluacionInformeFinalServicio servicioProceso =
            ProcesoEvaluacionInformeFinalServicio.getInstance();

        // Se consulta la informeFinal
        InformeFinal informeFinal = servicio.getInformeFinal(Long.parseLong(info_info));
        xmlPage.append(objectToXML.getXML(informeFinal));

        // Se consulta el formato con el cual se realiza la solicitud
        FormatoInformeFinal formatoRevision =
            ProcesoEvaluacionInformeFinalServicio.getInstance()
                .getFormatoInformeFinal(FormatoInformeFinal.FORMATO_SOLICITUD_REVISION);
        xmlPage.append(objectToXML.getXML(formatoRevision));

        // Conceptos de evaluacion
        List<ConceptoEvaluacionInformeFinal> conceptos =
            servicioProceso.getConceptosEvaluacionPorInstancia(
                EvaluacionInformeFinal.INSTANCIA_ESTUDIANTE);
        xmlPage.append(objectToXML.getXML(conceptos));

      } else {
        xmlPage.append("<error>2</error>");
      }

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

    return xmlPage;
  }
  @Override
  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) {

      Map<String, Object> parameters = getParameters(request, true);
      EvaluacionInformeFinal evaluacion =
          (EvaluacionInformeFinal)
              getParameterToObject(
                  "EvaluacionInformeFinal", EvaluacionInformeFinal.class, null, parameters);

      if (evaluacion != null) {

        // Servicio
        ProcesoEvaluacionInformeFinalServicio servicioProceso =
            ProcesoEvaluacionInformeFinalServicio.getInstance();
        InformeFinalServicio servicioInformeFinal = InformeFinalServicio.getInstance();

        // Se consulta la informacion de la evaluacion
        EvaluacionInformeFinal evaluacionConsultada =
            servicioProceso.getEvaluacion(evaluacion.getEval_eval());

        if (evaluacionConsultada != null) {

          if (evaluacionConsultada
              .getFormularioRespuesta()
              .getFrmu_form()
              .equals(FormatoInformeFinal.FORMATO_REVISION)) {
            xmlPage.append(
                "<tituloPagina>"
                    + "Consulta Concepto de Revisión de InformeFinal"
                    + "</tituloPagina>");
            xmlPage.append("<responsable>" + "Jurado InformeFinal" + "</responsable>");
            xmlPage.append("<verSolicitud>" + "true" + "</verSolicitud>");

          } else if (evaluacionConsultada
              .getFormularioRespuesta()
              .getFrmu_form()
              .equals(FormatoInformeFinal.FORMATO_SOLICITUD_REVISION)) {
            xmlPage.append(
                "<tituloPagina>"
                    + "Consulta de Solicitud de Modifidación de InformeFinal"
                    + "</tituloPagina>");
            xmlPage.append("<responsable>" + "Estudiante" + "</responsable>");
          }

          xmlPage.append(objectToXML.getXML(evaluacionConsultada));

          // Se consulta la informacion de la propuesta
          InformeFinal propuesta =
              servicioInformeFinal.getInformeFinal(evaluacionConsultada.getEval_info());
          xmlPage.append(objectToXML.getXML(propuesta));

        } else {
          xmlPage.append("<error>2</error>");
        }
      } else {
        xmlPage.append("<error>2</error>");
      }

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

    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;
  }
  @Override
  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) {

      Map<String, Object> parameters = getParameters(request, true);

      String srdp_srdp =
          (String)
              getParameterToObject(
                  "SolicitudRevisionDocumentacionPasantia.srdp_srdp",
                  String.class,
                  null,
                  parameters);

      if (srdp_srdp != null) {

        // Servicio
        SolicitudRevisionDocumentacionPasantiaProyectoServicio servicio =
            SolicitudRevisionDocumentacionPasantiaProyectoServicio.getInstance();

        SolicitudRevisionDocumentacionPasantia solicitud =
            servicio.getSolicitud(Long.parseLong(srdp_srdp));

        if (solicitud == null) {
          xmlPage.append("<error>2</error>");
          xmlPage.append(
              objectToXML.getXML(
                  new String("Acceso denegado. No se ha especificado el numero de la solicitud.")));

        } else {

          // Se consulta la propuesta asociado a la solicitud
          ProyectoServicio propuestaServicio = ProyectoServicio.getInstance();
          Proyecto propuesta = propuestaServicio.getProyecto(solicitud.getSrdp_proy());

          // Solicitud
          xmlPage.append(objectToXML.getXML(solicitud));

          // propuesta
          xmlPage.append(objectToXML.getXML(propuesta));

          // Histotrico de la solicitud
          List<HistoricoSolicitudRevisionDocumentacionPasantia> historico =
              servicio.getHistoricoPorSolicitud(solicitud.getSrdp_srdp());

          if (historico != null) {
            xmlPage.append(objectToXML.getXML(historico));
          }
        }
      } else {
        xmlPage.append("<error>2</error>");
        xmlPage.append(
            objectToXML.getXML(
                new String("Acceso denegado. No se ha especificado el numero de la solicitud.")));
      }

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

    return xmlPage;
  }