/** * Metodo para modificar el nodo de tipo SQI. * * @param nodo, de tipo NodoSQIVO * @return Long El identificador del nodo que se modifica * @throws Exception */ protected Long handleModificarNodoSQI(NodoSQIVO nodo) throws Exception { try { NodosSQIPorIDCriteria criterio = new NodosSQIPorIDCriteria(); Long[] identi = new Long[1]; identi[0] = nodo.getId(); criterio.setIds(identi); List nodos = this.getNodoSQIDao().consultarNodosSQI(criterio); NodoSQI nodoV = (NodoSQI) nodos.get(0); if (nodoV != null) { String nombre = nodo.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 + "]"); } nodoV.setNombreNodo(nombre); String url = nodo.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 + "]"); } nodoV.setUrlServicio(url); String desc = nodo.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 + "]"); } nodoV.setDescripcionNodo(desc); String consulta = nodo.getLenguajeConsulta().toUpperCase(); // Constantes String respuesta = nodo.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 + "]"); } nodoV.setLenguajeConsulta(consulta); nodoV.setLenguajeRespuesta(respuesta); String idSesion = nodo.getIdentificadorSesion(); String gestor = ""; if (idSesion == null || idSesion.equals("")) { gestor = nodo.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 + "]"); } } nodoV.setIdentificadorSesion(idSesion); nodoV.setGestorSesion(gestor); String clave = nodo.getClave(); String usuario = nodo.getUsuario(); 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 + "]"); } } 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 + "]"); } } nodoV.setClave(clave); nodoV.setUsuario(usuario); // actualizamos los datos del nodo this.getNodoSQIDao().update(nodoV); } else { logger.error( "El nodo con identificador [" + nodo.getId() + "] que se quiere modificar no existe en la base de datos"); throw new Exception( "El nodo con identificador [" + nodo.getId() + "] que se quiere modificar no existe en la base de datos"); } } catch (Exception e) { logger.error( "Error al actualizar el nodo SQI con identificador [" + nodo.getId() + "],nombre del nodo [" + nodo.getNombreNodo() + "], descripcion del nodo [" + nodo.getDescripcionNodo() + "]" + ",lenguaje de consulta [" + nodo.getLenguajeConsulta() + "], lenguaje de respuesta [" + nodo.getLenguajeRespuesta() + "], " + "la URL del servicio [" + nodo.getUrlServicio() + "],el gestor de sesiones [" + nodo.getGestorSesion() + "], " + "el identificador de la sesion [" + nodo.getIdentificadorSesion() + "], la clave [" + nodo.getClave() + "]," + " y el usuario [" + nodo.getUsuario() + "]", e); throw new Exception( "Error al actualizar el nodo SQI con identificador [" + nodo.getId() + "],nombre del nodo [" + nodo.getNombreNodo() + "], descripcion del nodo [" + nodo.getDescripcionNodo() + "]" + ",lenguaje de consulta [" + nodo.getLenguajeConsulta() + "], lenguaje de respuesta [" + nodo.getLenguajeRespuesta() + "], " + "la URL del servicio [" + nodo.getUrlServicio() + "],el gestor de sesiones [" + nodo.getGestorSesion() + "], " + "el identificador de la sesion [" + nodo.getIdentificadorSesion() + "], la clave [" + nodo.getClave() + "]," + " y el usuario [" + nodo.getUsuario() + "]", e); } return nodo.getId(); }