List of usage examples for org.apache.commons.validator ValidatorException ValidatorException
public ValidatorException(String message)
From source file:es.pode.empaquetador.presentacion.basico.gestor.GestorBasicoControllerImpl.java
/** * @see es.pode.empaquetador.presentacion.basico.gestor.GestorBasicoController#cortar(org.apache.struts.action.ActionMapping, * es.pode.empaquetador.presentacion.basico.gestor.CortarForm, * javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) *//*from w w w .ja v a 2 s . c om*/ public final void cortar(ActionMapping mapping, es.pode.empaquetador.presentacion.basico.gestor.CortarForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { EmpaquetadorSession sesion = this.getEmpaquetadorSession(request); List idCopiar = form.getIdentificadores(); List idCollection = sesion.getIdCollection(); Object obj = idCollection.get(idCollection.size() - 1); List portapapeles = sesion.getPortapapeles(); GrupoVO[] grupos; if (obj instanceof GrupoVO) { grupos = new GrupoVO[((GrupoVO) obj).getGrupos().length]; grupos = ((GrupoVO) obj).getGrupos(); } else { grupos = new GrupoVO[((OrganizacionVO) obj).getGrupos().length]; grupos = ((OrganizacionVO) obj).getGrupos(); } List porta = new ArrayList(); if (idCopiar == null) { throw new ValidatorException("{gestor_basico.error_seleccionar}"); } else { for (int i = 0; i < idCopiar.size(); i++) { boolean encontrado = false; for (int k = 0; k < grupos.length && !encontrado; k++) { if (grupos[k].getIdentifier().equals(idCopiar.get(i))) { porta.add(grupos[k]); encontrado = true; } } } portapapeles.addAll(porta); sesion.setAccion("Cortar"); } }
From source file:es.pode.administracion.presentacion.adminusuarios.modificarUsuario.ModificarUsuarioControllerImpl.java
/** * Se recuperan los grupos de trabajos que existen y se muestran para que se seleccionen. *//*from www . j a va2 s . c o m*/ public void recuperarGruposTrabajo(org.apache.struts.action.ActionMapping mapping, es.pode.administracion.presentacion.adminusuarios.modificarUsuario.RecuperarGruposTrabajoForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception { try { /* Asignamos los grupos que estan seleccionados en el usuario a traves de un metodo java que rellenara la linea a pintar en la jsp con el check marcado o no lo pinta, dependiendo de si el grupo pertenece al usuario. Esto es porque si mandamos el array de grupos para pintarlos no podemos recorrerlo ya que se pintarian todos con check marcado */ //recogemos los datos del usuario Long id = new Long(request.getParameter("id")); UsuarioVO usuarioVO = this.getSrvAdminUsuariosService().descripcionUsuario(id); GrupoTrabajoVO[] grupoTrabajoVO = this.getSrvAdminUsuariosService().listarGruposTrabajo(); GrupoTrabajoVOCheck[] grupoTabrajoVOCheck = null; grupoTabrajoVOCheck = obtenerGrupoTrabajoCheck(grupoTrabajoVO, usuarioVO); form.setGruposTrabajoAsArray(grupoTabrajoVOCheck); //log("Se aade el login para comprobar si se permite modificar los roles desde la jsp"); //form.setUsuario(usuarioVO.getUsuario()); } catch (Exception e) { log.error("Error al obtener los grupos de trabajo " + e); throw new ValidatorException("{modificarUsuario.error}"); } }
From source file:es.pode.empaquetador.presentacion.avanzado.recursos.crear.elementos.CrearRecursoAvanzadoElementosControllerImpl.java
@Override public final void actualizarDependencias(ActionMapping mapping, es.pode.empaquetador.presentacion.avanzado.recursos.crear.elementos.ActualizarDependenciasForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { EmpaquetadorSession sesEmpaq = this.getEmpaquetadorSession(request); CrearRecursoAvanzadoSession sesRecurs = this.getCrearRecursoAvanzadoSession(request); List dependencias = new ArrayList(); String actionSubmit = form.getAction(); java.util.Locale locale = (Locale) request.getSession().getAttribute(ConstantesAgrega.DEFAULT_LOCALE); ResourceBundle i18n = ResourceBundle.getBundle("application-resources", locale); if (form.getAction() == (null)) { throw new ValidatorException("{portal_empaquetado.exception}"); }//from w ww.ja v a2s.c om else if (actionSubmit .equals(i18n.getString("portalempaquetado.avanzado.recursos.crear.dependencias.aceptar"))) { List path = sesEmpaq.getSubmanifestPath(); OdeVO ultimo = (OdeVO) path.get(path.size() - 1); List identificadoresActualizar = new ArrayList(); if (form.getIdentifierRowSelection() != null) { identificadoresActualizar = form.getIdentifierRowSelection(); } //obtengo lista completa de recursos List recursos = new ArrayList(); if (ultimo.getRecursos().length > 0) { RecursoVO[] rec = ultimo.getRecursos(); for (int i = 0; i < rec.length; i++) { recursos.add(rec[i]); } } if (identificadoresActualizar.size() > 0) { listaRecursos(ultimo.getSubmanifiestos(), recursos); if (logger.isDebugEnabled()) logger.debug("Se han aadido " + recursos.size() + " dependencias"); } else { logger.error("Error al aadir dependencias. No se ha seleccionado ninguna"); throw new ValidatorException("{portalempaquetado.avanzado.recursos.crear.dependencias.error}"); } //busco el recurso con el identificador for (Iterator iter = identificadoresActualizar.iterator(); iter.hasNext();) { String id = (String) iter.next(); boolean corte = false; Iterator iterator = recursos.iterator(); while (iterator.hasNext() && !corte) { RecursoVO recurso = (RecursoVO) iterator.next(); if (recurso.getIdentifier().equals(id)) { dependencias.add(recurso); corte = true; } } } sesRecurs.setDependencias(dependencias); } }
From source file:es.pode.administracion.presentacion.noticias.crear.CrearControllerImpl.java
public void crearNoticiaDos(ActionMapping mapping, CrearNoticiaDosForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String[] castellano = form.getCastellano(); String[] catalan = form.getCatalan(); String[] euskera = form.getEuskera(); String[] ingles = form.getIngles(); String[] valenciano = form.getValenciano(); String[] gallego = form.getGallego(); CategoriaNoticiaVO categoriaNoticia = (CategoriaNoticiaVO) request.getSession().getAttribute(CATEGORIAVO); rellenaArrayIdiomaCategoria(castellano, catalan, ingles, euskera, gallego, valenciano, categoriaNoticia); /**/*w ww .java2s .co m*/ * ************************************************************************************************************************************** * ************************************************ CREAR NUEVAS TRADUCCIONES DE CATEGORIAS ********************************************* * ************************************************************************************************************************************** * */ // Si hay nuevas traducciones de la categoria se inserta en la base de datos //La posicion cinco de cada uno de los idiomas contiene la nueva categoria (si se hubiera insertado) ArrayList nuevasCategorias = new ArrayList(); ArrayList nuevasCategoriasIdiomas = new ArrayList(); if (castellano != null && castellano[5] != null) { nuevasCategorias.add(castellano[5]); nuevasCategoriasIdiomas.add(castellano[0]); } if (ingles != null && ingles[5] != null) { nuevasCategorias.add(ingles[5]); nuevasCategoriasIdiomas.add(ingles[0]); } if (euskera != null && euskera[5] != null) { nuevasCategorias.add(euskera[5]); nuevasCategoriasIdiomas.add(euskera[0]); } if (valenciano != null && valenciano[5] != null) { nuevasCategorias.add(valenciano[5]); nuevasCategoriasIdiomas.add(valenciano[0]); } if (catalan != null && catalan[5] != null) { nuevasCategorias.add(catalan[5]); nuevasCategoriasIdiomas.add(catalan[0]); } if (gallego != null && gallego[5] != null) { nuevasCategorias.add(gallego[5]); nuevasCategoriasIdiomas.add(gallego[0]); } if (nuevasCategorias != null && nuevasCategorias.size() > 0) { try { if (logger.isDebugEnabled()) logger.debug("Hay [" + nuevasCategorias.size() + "] nuevas traducciones en la categoria"); ArrayList categoriasIdiomas = new ArrayList(); CategoriaIdiomaNoticiaVO[] categoriasIdiomasArray = categoriaNoticia.getCategoriaIdioma(); for (int i = 0; categoriasIdiomasArray != null && i < categoriasIdiomasArray.length; i++) categoriasIdiomas.add(categoriasIdiomasArray[i]); for (int j = 0; j < nuevasCategorias.size(); j++) { CategoriaIdiomaNoticiaVO categoriaNueva = new CategoriaIdiomaNoticiaVO(); categoriaNueva.setIdioma(((String) nuevasCategoriasIdiomas.get(j)).trim()); categoriaNueva.setNombreCategoria(((String) nuevasCategorias.get(j)).trim()); categoriasIdiomas.add(categoriaNueva); } CategoriaIdiomaNoticiaVO[] categoriasIdiomasVector = (CategoriaIdiomaNoticiaVO[]) categoriasIdiomas .toArray(new CategoriaIdiomaNoticiaVO[0]); if (logger.isDebugEnabled()) logger.debug("Se modifica la categoria"); CategoriaNoticiaVO nueva = new CategoriaNoticiaVO(); nueva.setId(categoriaNoticia.getId()); nueva.setNombre(categoriaNoticia.getNombre()); nueva.setCategoriaIdioma(categoriasIdiomasVector); nueva.setFechaPublicacion(categoriaNoticia.getFechaPublicacion()); this.getSrvNoticiasService().limpiarCategoria(form.getCategoria()); this.getSrvNoticiasService().modificarCategoria(nueva); } catch (Exception e) { logger.error("Error modificando la categoria", e); throw new ValidatorException("{error.modificando.categoria}"); } } logger.debug("Se crea la noticia"); /** * ************************************************************************************************************************************** * ************************************************ SE INSERTA LA NOTICIA ************************************************************* * ************************************************************************************************************************************** * */ try { // Se forma el vo de la noticia NoticiaVO noticia = new NoticiaVO(); noticia.setActiva(form.getEstado()); noticia.setAutor(LdapUserDetailsUtils.getLogin()); CategoriaNoticiaVO categoria = (CategoriaNoticiaVO) request.getSession().getAttribute(CATEGORIAVO); noticia.setCategoria(categoria); ArrayList descripcionesNoticia = new ArrayList(); // Se aade las descripciones // Castellano if (castellano != null && castellano[0] != null && castellano[1] != null && castellano[2] != null && castellano[3] != null) descripcionesNoticia = devuelveListaDescripciones(descripcionesNoticia, castellano[0], castellano[1], castellano[2], castellano[3]); // Ingles if (ingles != null && ingles[0] != null && ingles[1] != null && ingles[2] != null && ingles[3] != null) descripcionesNoticia = devuelveListaDescripciones(descripcionesNoticia, ingles[0], ingles[1], ingles[2], ingles[3]); // Euskera if (euskera != null && euskera[0] != null && euskera[1] != null && euskera[2] != null && euskera[3] != null) descripcionesNoticia = devuelveListaDescripciones(descripcionesNoticia, euskera[0], euskera[1], euskera[2], euskera[3]); // Valenciano if (valenciano != null && valenciano[0] != null && valenciano[1] != null && valenciano[2] != null && valenciano[3] != null) descripcionesNoticia = devuelveListaDescripciones(descripcionesNoticia, valenciano[0], valenciano[1], valenciano[2], valenciano[3]); // Catalan if (catalan != null && catalan[0] != null && catalan[1] != null && catalan[2] != null && catalan[3] != null) descripcionesNoticia = devuelveListaDescripciones(descripcionesNoticia, catalan[0], catalan[1], catalan[2], catalan[3]); // Gallego if (gallego != null && gallego[0] != null && gallego[1] != null && gallego[2] != null && gallego[3] != null) descripcionesNoticia = devuelveListaDescripciones(descripcionesNoticia, gallego[0], gallego[1], gallego[2], gallego[3]); DescripcionNoticiaVO[] descripcionesNoticiaArray = (DescripcionNoticiaVO[]) descripcionesNoticia .toArray(new DescripcionNoticiaVO[0]); noticia.setDescripcionNoticia(descripcionesNoticiaArray); // Tratamiento de la imagen if ((FormFile) request.getSession().getAttribute(IMAGEN) != null) { noticia.setAlineamientoImg(form.getAlineamiento()); noticia.setURLImagen(tratamientoImagen((FormFile) request.getSession().getAttribute(IMAGEN))); } logger.debug("Se introduce en la base de datos la noticia"); Long id = this.getSrvNoticiasService().crearNoticia(noticia); if (logger.isDebugEnabled()) logger.debug("Se ha introducido la noticia con identificador [" + id + "]"); form.setIdModificado(id); //Se elimina el objeto introducido en sesion request.getSession().setAttribute(CATEGORIAVO, null); request.getSession().setAttribute(IMAGEN, null); } catch (Exception e) { logger.error("Error al introducir la noticia", e); throw new ValidatorException("{errors.noticias.insertar}"); } }
From source file:es.pode.empaquetador.presentacion.archivos.gestor.GestorArchivosControllerImpl.java
/** * @see es.pode.empaquetador.presentacion.archivos.gestor.GestorArchivosController#cortar(org.apache.struts.action.ActionMapping, es.pode.empaquetador.presentacion.archivos.gestor.CortarForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) *//*from ww w . j a v a 2s . c o m*/ public final void cortar(ActionMapping mapping, es.pode.empaquetador.presentacion.archivos.gestor.CortarForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { GestorArchivosSession sesArch = this.getGestorArchivosSession(request); List archivosACortar = form.getArchivosVO(); List portapapeles = sesArch.getPortapapeles(); if (portapapeles != null) { portapapeles.addAll(archivosACortar); sesArch.setAccion(CORTAR_STR); } else { throw new ValidatorException(PORTAL_EMPAQUETADOR_EXCEPTION); } }
From source file:es.pode.administracion.presentacion.adminusuarios.modificarUsuario.ModificarUsuarioControllerImpl.java
/** * metodo que recoge los grupos de trabajo y los mete en el usuario *//*from w ww .j ava 2 s. c om*/ public final void asignarGruposTrabajo(org.apache.struts.action.ActionMapping mapping, es.pode.administracion.presentacion.adminusuarios.modificarUsuario.AsignarGruposTrabajoForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception { ModificarUsuarioBSession modificarUsuarioBSession = this.getModificarUsuarioBSession(request); UsuarioVO usuarioSesion = modificarUsuarioBSession.getUsuario(); SrvAdminUsuariosService srvAdminUsuariosService = this.getSrvAdminUsuariosService(); try { String[] ids = form.getIdentificadorRowSelectionAsArray(); if (log.isDebugEnabled()) log.debug("Los identificadores seleccionados son los siguientes " + ids); //log("ids.length "+ids.length); if (ids == null) { if (log.isDebugEnabled()) log.debug("No se ha seleccionado ningun grupo"); throw new ValidatorException("{errors.modificacionusuario.gruposTrabajoVacio}"); } else { GrupoTrabajoVO[] grupoTrabajoVO = new GrupoTrabajoVO[ids.length]; if (log.isDebugEnabled()) log.debug("grupoTrabajoVO.length " + grupoTrabajoVO.length); Long idL = null; for (int i = 0; i < ids.length; i++) { idL = new Long(ids[i]); GrupoTrabajoVO grupoG = srvAdminUsuariosService.descripcionGrupoTrabajo(idL); grupoTrabajoVO[i] = grupoG; } usuarioSesion.setGrupoTrabajo(grupoTrabajoVO); } //metemos en la sesion el usuario this.getModificarUsuarioBSession(request).setUsuario(usuarioSesion); } catch (ValidatorException ve) { log.error("Se produce la siguiente excepcion " + ve); throw ve; } catch (Exception e) { log.error("Error al dar de alta un usuario ", e); throw new ValidatorException("{modificarUsuario.error}"); } }
From source file:es.pode.administracion.presentacion.adminusuarios.altaUsuario.AltaUsuarioControllerImpl.java
/** * Metodo que recoge los roles del usuario y mira si tiene el rol catalogador o empaquetador para mostrar la pantalla de Grupos de Trabajo * o no mostrarla/*from w w w . j av a 2 s . com*/ */ public final java.lang.String rolParaGruposTrabajo(org.apache.struts.action.ActionMapping mapping, es.pode.administracion.presentacion.adminusuarios.altaUsuario.RolParaGruposTrabajoForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception { AltaUsuarioBSession altaUsuarioBSession = this.getAltaUsuarioBSession(request); UsuarioVO usuarioSesion = altaUsuarioBSession.getUsuario(); String resultado = "FALLO"; boolean siRoles = true; try { //recogemos los grupos que se han asigando al usuario y vemos que roles contienen GrupoVO[] grupos = usuarioSesion.getGrupos(); siRoles = validarRolesDocenteYCatalogador(grupos); if (siRoles) resultado = "OK"; } catch (Exception e) { log.error("Error al obtener los roles del usuario ", e); throw new ValidatorException("{errors.altausuario}"); } finally { form.setResultado(resultado); } return resultado; }
From source file:es.pode.empaquetador.presentacion.basico.gestor.GestorBasicoControllerImpl.java
/** * @see es.pode.empaquetador.presentacion.basico.gestor.GestorBasicoController#copiar(org.apache.struts.action.ActionMapping, * es.pode.empaquetador.presentacion.basico.gestor.CopiarForm, * javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) *///from w w w .ja v a2 s . c o m public final void copiar(ActionMapping mapping, es.pode.empaquetador.presentacion.basico.gestor.CopiarForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { EmpaquetadorSession sesion = this.getEmpaquetadorSession(request); List idCopiar = form.getIdentificadores(); List idCollection = sesion.getIdCollection(); Object obj = idCollection.get(idCollection.size() - 1); List portapapeles = sesion.getPortapapeles(); GrupoVO[] grupos; if (obj instanceof GrupoVO) { grupos = new GrupoVO[((GrupoVO) obj).getGrupos().length]; grupos = ((GrupoVO) obj).getGrupos(); } else { grupos = new GrupoVO[((OrganizacionVO) obj).getGrupos().length]; grupos = ((OrganizacionVO) obj).getGrupos(); } List porta = new ArrayList(); if (idCopiar == null) { throw new ValidatorException("{gestor_basico.error_seleccionar}"); } else { for (int i = 0; i < idCopiar.size(); i++) { boolean encontrado = false; for (int k = 0; k < grupos.length && !encontrado; k++) { if (grupos[k].getIdentifier().equals(idCopiar.get(i))) { porta.add(grupos[k]); encontrado = true; } } } portapapeles.addAll(porta); sesion.setAccion("Copiar"); } }
From source file:es.pode.administracion.presentacion.planificador.modificarTarea.ObtenerTareaControllerImpl.java
/** * Metodo que obtiene los datos de la tarea de informeFecha que se selecciona *///from w w w .ja va 2 s. c o m public void obtenerTareaInformeFecha(org.apache.struts.action.ActionMapping mapping, es.pode.administracion.presentacion.planificador.modificarTarea.ObtenerTareaInformeFechaForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception { if (tz == null) tz = utilidades.asignarZonaHoraria(); TareaInformesVO tarea = new TareaInformesVO(); try { //cargamos la tarea con lo valores esenciales para recuperar los demas valores de esta misma tarea tarea.setTrabajo(((ObtenerTCargaODEsFormImpl) form).getTrabajo()); tarea.setGrupoTrabajo(((ObtenerTCargaODEsFormImpl) form).getGrupoTrabajo()); tarea.setTrigger(((ObtenerTCargaODEsFormImpl) form).getTrigger()); tarea.setGrupoTrigger(((ObtenerTCargaODEsFormImpl) form).getGrupoTrigger()); tarea.setPeriodicidad(((ObtenerTCargaODEsFormImpl) form).getPeriodicidad()); //llamamos al servicio para que carge los valores en la tarea del tipo correspondiente TareaInformesVO tareaInformes = this.getSrvPlanificadorService().obtenerTareaInformes(tarea); //Si tiene periodicidad no se obtienen las fechas Desde y Hasta if (tareaInformes.getPeriodicidad().equalsIgnoreCase("N")) { if (log.isDebugEnabled()) log.debug(tareaInformes + "No es periodica"); //asignamos a la fecha Desde y Hasta la franja horaria correspondiente tareaInformes.getFechaDesde().setTimeZone(tz); tareaInformes.getFechaHasta().setTimeZone(tz); ((ObtenerTCargaODEsFormImpl) form).setDiaDesde( (new Integer(tareaInformes.getFechaDesde().get(Calendar.DAY_OF_MONTH))).toString()); ((ObtenerTCargaODEsFormImpl) form).setMesDesde( (new Integer(tareaInformes.getFechaDesde().get(Calendar.MONTH) + 1)).toString()); ((ObtenerTCargaODEsFormImpl) form) .setAnioDesde((new Integer(tareaInformes.getFechaDesde().get(Calendar.YEAR))).toString()); ((ObtenerTCargaODEsFormImpl) form).setDiaHasta( (new Integer(tareaInformes.getFechaHasta().get(Calendar.DAY_OF_MONTH))).toString()); ((ObtenerTCargaODEsFormImpl) form).setMesHasta( (new Integer(tareaInformes.getFechaHasta().get(Calendar.MONTH) + 1)).toString()); ((ObtenerTCargaODEsFormImpl) form) .setAnioHasta((new Integer(tareaInformes.getFechaHasta().get(Calendar.YEAR))).toString()); } else { if (log.isDebugEnabled()) log.debug(tareaInformes + "Es periodica"); } //asignamos a la fecha inicio la franja horaria correspondiente tareaInformes.getFechaInicio().setTimeZone(tz); //rellenamos los datos especificos de este tipo de tarea ((ObtenerTCargaODEsFormImpl) form).setPeriodicidad(tareaInformes.getPeriodicidad()); ((ObtenerTCargaODEsFormImpl) form).setTipoTarea(tareaInformes.getInforme()); ((ObtenerTCargaODEsFormImpl) form).setFormato(tareaInformes.getFormato()); ((ObtenerTCargaODEsFormImpl) form).setInforme(tareaInformes.getInforme()); ((ObtenerTCargaODEsFormImpl) form) .setAnio((new Integer(tareaInformes.getFechaInicio().get(Calendar.YEAR))).toString()); ((ObtenerTCargaODEsFormImpl) form) .setMes((new Integer(tareaInformes.getFechaInicio().get(Calendar.MONTH) + 1)).toString()); ((ObtenerTCargaODEsFormImpl) form) .setDia((new Integer(tareaInformes.getFechaInicio().get(Calendar.DAY_OF_MONTH))).toString()); ((ObtenerTCargaODEsFormImpl) form) .setHora((new Integer(tareaInformes.getFechaInicio().get(Calendar.HOUR_OF_DAY))).toString()); ((ObtenerTCargaODEsFormImpl) form) .setMinutos((new Integer(tareaInformes.getFechaInicio().get(Calendar.MINUTE))).toString()); ((ObtenerTCargaODEsFormImpl) form).setMsgInforme(tareaInformes.getMsgInforme()); ((ObtenerTCargaODEsFormImpl) form).setMsgNoInforme(tareaInformes.getMsgNoInforme()); ((ObtenerTCargaODEsFormImpl) form).setMsgDescTrabajo(tareaInformes.getMsgDescripcionTrabajo()); } catch (Exception e) { log.error("Error: " + e); throw new ValidatorException("{tareas.error}"); } }
From source file:es.pode.gestorFlujo.presentacion.objetosPendientes.Publicar.PublicarControllerImpl.java
/** * @see es.pode.gestorFlujo.presentacion.objetosPendientes.Publicar.PublicarController#cargaFormularioPublicar(org.apache.struts.action.ActionMapping, * es.pode.gestorFlujo.presentacion.objetosPendientes.Publicar.CargaFormularioPublicarForm, * javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) * //w w w .j av a 2 s . c om * Carga las opciones necesarios en el formulario, en este caso los valores * del idioma para el buscador */ public final void cargaFormularioPublicar(ActionMapping mapping, es.pode.gestorFlujo.presentacion.objetosPendientes.Publicar.CargaFormularioPublicarForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { String idioma = LdapUserDetailsUtils.getIdioma(); if (logger.isDebugEnabled()) logger.debug("Cargando los datos de publicar ode"); PublicarSession publiSes = this.getPublicarSession(request); // (las comunidades si puede ser null pq sea universal) if ((publiSes.getTipoLicencia() == null || publiSes.getTipoLicencia().length() == 0) || (publiSes.getUniversal() == null || publiSes.getUniversal().length() == 0)) {//Cuando entramos de publicar // sacamos la licencia del ode (viene con una del catalogador, // de momento) LicenciaVO licenciaVO = this.getSrvPublicacionService().obtenLicenciaODE(form.getIdODE(), idioma); if (logger.isDebugEnabled()) logger.debug( "En este caso los sacamos del lomes del ODE el ambito es: " + licenciaVO.getUniversal() + " las comunidades son: " + licenciaVO.getComunidades() + ";"); form.setUniversal(licenciaVO.getUniversal()); publiSes.setUniversal(licenciaVO.getUniversal()); publiSes.setComunidades(licenciaVO.getComunidades()); // //Ahora el tipo de licencia en el idioma del perfil TerminoYPadreVO TerminoYPadreVOida = new TerminoYPadreVO(); TerminoYPadreVOida.setIdiomaTermino(getPropertyValue("fuentesTaxonicas.traduccion.idioma")); TerminoYPadreVOida.setNomTermino(licenciaVO.getTipoLicencia()); TerminoYPadreVOida.setIdVocabulario(getPropertyValue("combo.tipoLicencias")); TerminoYPadreVOida.setIdTermino(""); // TerminoYPadreVO[] arrayTerminoYPadreTitulos= TerminoYPadreVO[] terminoYPadreTitulosVuelta = this.getSrvVocabulariosControladosService() .obtenerIdTermino(new TerminoYPadreVO[] { TerminoYPadreVOida }); // ampliado para probar pq devuelve null esta llamada al // webservice publiSes.setTipoLicencia(terminoYPadreTitulosVuelta[0].getIdTermino()); NodoVO[] nodos = obtenNodosLocalesVO(this.getSrvNodoService()); // Le pasamos las comunidades dnd aplica el ambito, si es universal tb hay if (!licenciaVO.getUniversal().equalsIgnoreCase(getPropertyValue("licencia.acceso.universal"))) {//Si no es universal String[] comunidadesMostrarIds = interseccionNodos(licenciaVO.getComunidades());//Cogemos los nodos vlidos y le aadimos el nodo local String[] comunidadesMostrar = new String[comunidadesMostrarIds.length];//Cogemos las urls para pintar for (int i = 0; i < comunidadesMostrar.length; i++) { for (int j = 0; j < nodos.length; j++) { if (nodos[j].getIdNodo().equalsIgnoreCase(comunidadesMostrarIds[i])) { comunidadesMostrar[i] = nodos[j].getUrlWS(); break; } } } publiSes.setComunidadesMostrar(comunidadesMostrar); } else//Si es universal, lleva todos los nodos { String nodoLista = ""; for (int i = 0; i < nodos.length; i++) {//Si es universal tenemos que meter todos los nodos String idsNodos = nodos[i].getIdNodo(); nodoLista = nodoLista + idsNodos + ","; } licenciaVO.setComunidades(nodoLista); String[] comunidadesMostrar = new String[nodos.length];//Todas las urls para pintar for (int j = 0; j < nodos.length; j++) { comunidadesMostrar[j] = nodos[j].getUrlWS(); } publiSes.setComunidadesMostrar(comunidadesMostrar); publiSes.setComunidades(nodoLista); } } //Cuando volvemos de modificar, o le damos a publicar // universal if ((publiSes.getUniversal() != null) && (publiSes.getUniversal().length() > 0)) { form.setUniversal(publiSes.getUniversal()); } else { form.setUniversal(""); } // tipoLicencia if ((publiSes.getTipoLicencia() != null) && (publiSes.getTipoLicencia().length() > 0)) { // traducimos la licencia al idioma de navegacion para mostrarla if (logger.isDebugEnabled()) logger.debug("traduciendo la licencia de la sesion[" + publiSes.getTipoLicencia() + "] y idioma [" + idioma + "]"); TerminoVO[] licencia = this.getSrvVocabulariosControladosService() .crearTraduccionAIdioma(new String[] { publiSes.getTipoLicencia() }, idioma); if (licencia != null && licencia.length > 0) form.setTipoLicencia(licencia[0].getNomTermino()); else { form.setTipoLicencia(""); } } else { form.setTipoLicencia(""); } // comunidades if ((publiSes.getComunidades() != null)) {//Puede que venga un string "" (si no se chequea ningun ode en modificar) if (logger.isDebugEnabled()) logger.debug("las comunidades ya estaban en la sesion: " + publiSes.getComunidades()); String[] nodosIntersacados = interseccionNodos(publiSes.getComunidades());//Los nodos vlidos y el nodo local String conLocal = ""; for (int i = 0; i < nodosIntersacados.length; i++) { conLocal = conLocal + nodosIntersacados[i] + ","; } conLocal = conLocal.substring(0, conLocal.length() - 1); if (logger.isDebugEnabled()) logger.debug("Despues de concatenar el nodo local:" + conLocal); NodoVO[] nodos = obtenNodosLocalesVO(this.getSrvNodoService());//Las url para pintar for (int i = 0; i < nodosIntersacados.length; i++) { for (int j = 0; j < nodos.length; j++) { if (nodos[j].getIdNodo().equalsIgnoreCase(nodosIntersacados[i])) { nodosIntersacados[i] = nodos[j].getUrlWS(); break; } } } publiSes.setComunidadesMostrar(nodosIntersacados); form.setComunidades(conLocal); form.setComunidadesMostrar(publiSes.getComunidadesMostrar()); } else { form.setComunidades(""); } // idODE if ((publiSes.getIdODE() == null) || (publiSes.getIdODE().length() == 0)) publiSes.setIdODE(form.getIdODE()); if (logger.isDebugEnabled()) logger.debug("idode form = " + form.getIdODE() + " idode ses = " + publiSes.getIdODE() + ";"); // titulo if (publiSes.getTitulo() == null) publiSes.setTitulo(form.getTitulo()); // es despublicado //Nunca viene vacio el esDespublicado; excepto cuando entramos a modificar las licencias, y en ese caso la sesion ya viene implementada. if (!(form.getEsDespublicado() == null)) { publiSes.setEsDespublicado(form.getEsDespublicado()); logger.debug( "Lo metemos en el objeto de sesion.Este ODE es despublicado?" + form.getEsDespublicado()); } else { logger.debug("Volvemos del modificar?" + form.getEsDespublicado() + "es del form; y de la sesion" + publiSes.getEsDespublicado()); } // posibles comentarios anteriores form.setComentarios(publiSes.getComentarios()); // Ahora pasamos la licencia if (logger.isDebugEnabled()) { logger.debug("Metemos los campos en el form"); logger.debug("Licencia: " + publiSes.getTipoLicencia() + " Universal?" + publiSes.getUniversal()); logger.debug("Licencia obtenida."); } } catch (Exception ex) { logger.error("Error al cargar pantalla de publicar: ", ex); throw new ValidatorException("{gestorFlujo.error.inesperado}"); } }