/** * 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; }