Пример #1
0
  /**
   * Metodo para dar de alta un nodo de tipo SQI.
   *
   * @param nodoSQI NodoSQIVO con los datos del nodo de tipo SQI que se dara de alta
   * @return Long
   * @throws Exception
   */
  protected Long handleAltaNodoSQI(NodoSQIVO nodoSQI) throws Exception {
    Long identificador = null;
    try {
      String nombre = nodoSQI.getNombreNodo();
      if (nombre == null || nombre.equals("")) {
        logger.error("El nombre del nodo SQI es obligatorio [" + nombre + "]");
        throw new Exception("El nombre del nodo es obligatorio[" + nombre + "]");
      }
      String url = nodoSQI.getUrlServicio();
      if (url == null || url.equals("")) {
        logger.error("La URL del servicio es obligatorio [" + url + "]");
        throw new Exception("La URL del servicio es obligatorio [" + url + "]");
      }
      String desc = nodoSQI.getDescripcionNodo();
      if (desc == null || desc.equals("")) {
        logger.error("La descripcion del nodo SQI es obligatorio [" + desc + "]");
        throw new Exception("La descripcion del nodo es obligatorio[" + desc + "]");
      }
      String consulta = nodoSQI.getLenguajeConsulta().toUpperCase(); // Constantes
      String respuesta = nodoSQI.getLenguajeRespuesta().toUpperCase(); // Constantes
      if (consulta != null && !consulta.equals("")) {
        if (!consulta.equalsIgnoreCase(LENGUAJE_CONSULTA_VSQL)) {
          logger.error(
              "El lenguaje de consulta debe ser de tipo "
                  + LENGUAJE_CONSULTA_VSQL
                  + ", ["
                  + consulta
                  + "]");
          throw new Exception(
              "El lenguaje de consulta debe ser de tipo "
                  + LENGUAJE_CONSULTA_VSQL
                  + ", ["
                  + consulta
                  + "]");
        }
      } else {
        logger.error("El lenguaje de consulta es obligatorio [" + consulta + "]");
        throw new Exception("El lenguaje de consulta es obligatorio [" + consulta + "]");
      }
      if (respuesta != null && !respuesta.equals("")) {
        if (!respuesta.equalsIgnoreCase(LENGUAJE_RESPUESTA_LOM)
            && !respuesta.equalsIgnoreCase(LENGUAJE_RESPUESTA_LOMES)) {
          logger.error(
              "El lenguaje de respuesta debe ser de tipo "
                  + LENGUAJE_RESPUESTA_LOM
                  + "o tipo "
                  + LENGUAJE_RESPUESTA_LOMES
                  + "["
                  + respuesta
                  + "]");
          throw new Exception("{errors.altanodoSQI.lenguajeRespuesta} ");
        }
      } else {
        logger.error("El lenguaje de respuesta es obligatorio [" + respuesta + "]");
        throw new Exception("El respuesta de consulta es obligatorio[" + respuesta + "]");
      }

      // Para guardarlos en la base de datos en mayuscula
      nodoSQI.setLenguajeConsulta(nodoSQI.getLenguajeConsulta().toUpperCase());
      nodoSQI.setLenguajeRespuesta(nodoSQI.getLenguajeRespuesta().toUpperCase());
      String idSesion = nodoSQI.getIdentificadorSesion();
      if (idSesion == null || idSesion.equals("")) {
        String gestor = nodoSQI.getGestorSesion();
        if (gestor == null || gestor.equals("")) {
          logger.error(
              "La URL del gestor de sesiones o el identificador de la sesion es obligatorio, identificadorSesion ["
                  + idSesion
                  + "] el gestor de sesiones ["
                  + gestor
                  + "]");
          throw new Exception(
              "La URL del gestor de sesiones o el identificador de la sesion es obligatorio,identificadorSesion ["
                  + idSesion
                  + "] el gestor de sesiones  ["
                  + gestor
                  + "]");
        }
      }

      String usuario = nodoSQI.getUsuario();
      String clave = nodoSQI.getClave();
      if (usuario != null && !usuario.equals("")) {
        if (clave == null || clave.equals("")) {
          logger.error(
              "Si existe usuario," + usuario + ", es obligatoria la clave [" + clave + "]");
          throw new Exception(
              "Si existe usuario," + usuario + ", es obligatoria la clave [" + clave + "]");
        }
      }
      if (clave != null && !clave.equals("")) {
        if (usuario == null || usuario.equals("")) {
          logger.error(
              "Si existe clave," + clave + ", es obligatorio el usuario [" + usuario + "]");
          throw new Exception(
              "Si existe clave," + clave + ", es obligatorio el usuario [" + usuario + "]");
        }
      }
      NodoSQI nodo = this.getNodoSQIDao().fromNodoSQIVO(nodoSQI);
      if (logger.isDebugEnabled()) {
        logger.debug("Se introduce el nodo en la base de datos");
      }
      NodoSQI nodoS = this.getNodoSQIDao().create(nodo);
      identificador = nodoS.getId();

    } catch (Exception e) {
      logger.error(
          "Error al dar de alta al nodo de tipo SQI con identificador [ " + nodoSQI.getId() + "]",
          e);
      throw new Exception(
          "Error al dar de alta al nodo de tipo SQI con identificador [ " + nodoSQI.getId() + "]",
          e);
    }
    return identificador;
  }