es.pode.administracion.presentacion.faqs.modificar.ModificarControllerImpl.java Source code

Java tutorial

Introduction

Here is the source code for es.pode.administracion.presentacion.faqs.modificar.ModificarControllerImpl.java

Source

/* Agrega es una federacin de repositorios de objetos digitales educativos formada por todas las Comunidades Autnomas propiedad de Red.es. Este cdigo ha sido desarrollado por la Entidad Pblica Empresarial red.es adscrita al Ministerio de Industria,Turismo y Comercio a travs de la Secretara de Estado de Telecomunicaciones y para la Sociedad de la Informacin, dentro del Programa Internet en el Aula, que se encuadra dentro de las actuaciones previstas en el Plan Avanza (Plan 2006-2010 para el desarrollo de la Sociedad de la Informacin y de Convergencia con Europa y entre Comunidades Autnomas y Ciudades Autnomas) y ha sido cofinanciado con fondos FEDER del Programa Operativo FEDER 2000-2006 Sociedad de la Informacin
    
This program is free software: you can redistribute it and/or modify it under the terms of the European Union Public Licence (EUPL v.1.0).  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the European Union Public Licence (EUPL v.1.0). You should have received a copy of the EUPL licence along with this program.  If not, see http://ec.europa.eu/idabc/en/document/7330.
*/
// license-header java merge-point
package es.pode.administracion.presentacion.faqs.modificar;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Enumeration;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.validator.ValidatorException;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionMapping;

import es.pode.administracion.presentacion.faqs.crear.CrearControllerImpl;
import es.pode.administracion.presentacion.noticias.noticias.NoticiasControllerImpl;
import es.pode.contenidos.negocio.faqs.servicio.CategoriaFaqVO;
import es.pode.contenidos.negocio.faqs.servicio.CategoriaIdiomaFaqVO;
import es.pode.contenidos.negocio.faqs.servicio.DescripcionFaqVO;
import es.pode.contenidos.negocio.faqs.servicio.FaqTraducidaIdiomaVO;
import es.pode.contenidos.negocio.faqs.servicio.FaqVO;
import es.pode.soporte.i18n.I18n;
import es.pode.soporte.seguridad.ldap.LdapUserDetailsUtils;

/**
 * @see es.pode.administracion.presentacion.faqs.modificar.ModificarController
 */
public class ModificarControllerImpl extends ModificarController {

    private java.util.Properties pSpringProperties = null;
    private static Logger logger = Logger.getLogger(ModificarControllerImpl.class);

    private static final String VERFAQVO = "verFaq";
    private static final String CATEGORIAMODVO = "categoriaModificar";
    private static final String FAQS = "faqs";

    private static final String TRUE = "TRUE";
    private static final String FALSE = "FALSE";

    /**
     * @see es.pode.administracion.presentacion.faqs.modificar.ModificarController#obtenerIdentificadores(org.apache.struts.action.ActionMapping, es.pode.administracion.presentacion.faqs.modificar.ObtenerIdentificadoresForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    public final void obtenerIdentificadores(ActionMapping mapping,
            es.pode.administracion.presentacion.faqs.modificar.ObtenerIdentificadoresForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        try {
            /**
            * **************************************************************************************************************************************
            * ****************************************** SE OBTIENEN LOS IDIOMAS TRADUCIBLES *******************************************************
            * **************************************************************************************************************************************
            * */
            if (logger.isDebugEnabled())
                logger.debug("Obtenemos los idiomas traducibles");

            String[] idiomasPlataforma = I18n.getInstance().obtenerIdiomasPlataforma();
            if (logger.isDebugEnabled())
                logger.debug("Hay [" + idiomasPlataforma.length + "] en la plataforma");

            String idiomaLogado = LdapUserDetailsUtils.getIdioma();
            String idiomaPrioritario = I18n.getInstance().obtenerIdiomaDefectoPlataforma();
            String idiomaSecundario = I18n.getInstance().obtenerIdiomaSecundarioPlataforma();
            if (logger.isDebugEnabled())
                logger.debug(
                        "El idioma del usuario es [" + idiomaLogado + "], idioma prioritario de la plataforma es ["
                                + idiomaPrioritario + "] y el secundario es [" + idiomaSecundario + "]");

            // Rellena el combo de categorias
            NoticiasControllerImpl noticiasController = new NoticiasControllerImpl();

            Collection categorias = Arrays.asList(this.getSrvFaqService()
                    .obtenerCategoriasTraducidas(noticiasController.devuelveIdiomasTraducibles(idiomasPlataforma,
                            idiomaLogado, idiomaPrioritario, idiomaSecundario)));
            form.setCategoriaBackingList(categorias, "id", "nombre");

            //      Se obtiene los datos de la faq
            if (logger.isDebugEnabled())
                logger.debug("Se obtiene los datos de la faq con identificador [" + form.getId() + "]");
            FaqVO faq = this.getSrvFaqService().consultaFaq(form.getId());
            request.getSession().setAttribute(VERFAQVO, faq);

            form.setCategoria(faq.getCategoria().getId());

        } catch (Exception e) {
            logger.error("Error obteniendo la faq");
            throw new ValidatorException("{errorObteniendoFaq}");
        }

    }

    /**
     * @see es.pode.administracion.presentacion.faqs.modificar.ModificarController#modificarFaqUno(org.apache.struts.action.ActionMapping, es.pode.administracion.presentacion.faqs.modificar.ModificarFaqUnoForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    public final void modificarFaqUno(ActionMapping mapping,
            es.pode.administracion.presentacion.faqs.modificar.ModificarFaqUnoForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        FaqTraducidaIdiomaVO[] faqs = null;
        CrearControllerImpl crearController = new CrearControllerImpl();
        /**
        * **************************************************************************************************************************************
        * ********************************************** SE COMPRUEBA LA CATEGORIA *************************************************************
        * **************************************************************************************************************************************
        * */
        if (form.getCategoria() == null) {
            logger.error("Categoria es un campo obligatorio");
            throw new ValidatorException("{errors.noticia.categoria}");
        }
        logger.debug("Se recupera el vo de la faq de la request");
        FaqVO faq = (FaqVO) request.getSession().getAttribute(VERFAQVO);

        if (logger.isDebugEnabled())
            logger.debug("Se obtiene la categoria con identificador [" + form.getCategoria() + "]");
        CategoriaFaqVO categoria = this.getSrvFaqService().obtenerCategoria(form.getCategoria());
        request.getSession().setAttribute(CATEGORIAMODVO, categoria);

        ArrayList idiomasList = new ArrayList();
        CategoriaIdiomaFaqVO[] idiomasCategorias = categoria.getCategoriaIdioma();
        for (int i = 0; i < idiomasCategorias.length; i++)
            idiomasList.add(idiomasCategorias[i].getIdioma());

        form.setIdiomasCategoriasBBDDAsArray((String[]) idiomasList.toArray(new String[0]));

        //Se comprueba la posicion en todos los idiomas
        if (logger.isDebugEnabled())
            logger.debug("Gestin de la posicion de los faqs en cada idioma");

        if (request.getSession().getAttribute(FAQS) != null) {
            //Se recupera de la sesion
            faqs = (FaqTraducidaIdiomaVO[]) request.getSession().getAttribute(FAQS);
        } else {
            //         Se obtiene los faqs en el servicio
            faqs = this.getSrvFaqService().obtenerFaqsBloquesIdiomas(I18n.getInstance().obtenerIdiomasPlataforma());
            request.getSession().setAttribute(FAQS, faqs);
        }
        //      Castellano      
        String[] faqsEs = crearController.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("castellano"));
        form.setPosicionesCastellanoAsArray(faqsEs);
        //Ingles
        String[] faqsEn = crearController.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("ingles"));
        form.setPosicionesInglesAsArray(faqsEn);
        //Catalan
        String[] faqsCa = crearController.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("catalan"));
        form.setPosicionesCatalanAsArray(faqsCa);
        //Valenciano
        String[] faqsVa = crearController.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("valenciano"));
        form.setPosicionesValencianoAsArray(faqsVa);
        //Gallego
        String[] faqsGl = crearController.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("gallego"));
        form.setPosicionesGallegoAsArray(faqsGl);
        //Euskera
        String[] faqsEu = crearController.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("euskera"));
        form.setPosicionesEuskeraAsArray(faqsEu);

        if ((form.getCastellano() != null && form.getCastellano().length > 0)
                || (form.getCatalan() != null && form.getCatalan().length > 0)
                || (form.getEuskera() != null && form.getEuskera().length > 0)
                || (form.getIngles() != null && form.getIngles().length > 0)
                || (form.getValenciano() != null && form.getValenciano().length > 0)
                || (form.getGallego() != null && form.getGallego().length > 0)) {
            String[] castellano = form.getCastellano();
            String[] catalan = form.getCatalan();
            String[] euskera = form.getEuskera();
            String[] ingles = form.getIngles();
            String[] valenciano = form.getValenciano();
            String[] gallego = form.getGallego();

            //Tratamiento de la posicion         
            form.setValuePosicion(
                    crearController.dameValuePosiciones(castellano, catalan, ingles, euskera, gallego, valenciano));

            form.setIdiomas(crearController.dameIdiomas(castellano, catalan, ingles, euskera, gallego, valenciano));
            form.setIdiomasAlta(
                    crearController.dameIdiomas(castellano, catalan, ingles, euskera, gallego, valenciano));
            form.setTitulo(crearController.dameTitulos(castellano, catalan, ingles, euskera, gallego, valenciano));
            form.setDescripcion(
                    crearController.dameDescripciones(castellano, catalan, ingles, euskera, gallego, valenciano));
            form.setNombreCategoria(
                    crearController.dameCategorias(castellano, catalan, ingles, euskera, gallego, valenciano));
        } else {

            ArrayList idiomasAlta = new ArrayList();
            ArrayList titulo = new ArrayList();
            ArrayList descripcion = new ArrayList();
            ArrayList valuePosicion = new ArrayList();

            DescripcionFaqVO[] descripcionesFaq = faq.getDescripcionFaq();
            for (int j = 0; descripcionesFaq != null && j < descripcionesFaq.length; j++) {
                if (descripcionesFaq[j].getPregunta() != null && !("").equals(descripcionesFaq[j].getPregunta())) {
                    titulo.add(descripcionesFaq[j].getPregunta());
                    descripcion.add(descripcionesFaq[j].getRespuesta());
                    valuePosicion.add(descripcionesFaq[j].getPosicion().toString());
                    idiomasAlta.add(descripcionesFaq[j].getIdioma());
                }
            }

            form.setValuePosicion(valuePosicion);
            form.setTitulo(titulo);
            form.setDescripcion(descripcion);
            form.setIdiomasAlta(idiomasAlta);

            ArrayList nombreCategoria = new ArrayList();
            ArrayList idiomas = new ArrayList();

            //          Se almacena los datos
            if (categoria != null) {
                CategoriaIdiomaFaqVO[] categoriasIdiomas = categoria.getCategoriaIdioma();
                for (int i = 0; categoriasIdiomas != null && i < categoriasIdiomas.length; i++) {
                    if (categoriasIdiomas[i].getNombre() != null
                            && !("").equals(categoriasIdiomas[i].getNombre())) {
                        nombreCategoria.add(categoriasIdiomas[i].getNombre());
                        idiomas.add(categoriasIdiomas[i].getIdioma());
                    }
                }
            }

            form.setIdiomas(idiomas);
            form.setNombreCategoria(nombreCategoria);

        }
    }

    /**
     * @see es.pode.administracion.presentacion.faqs.modificar.ModificarController#modificarFaqDos(org.apache.struts.action.ActionMapping, es.pode.administracion.presentacion.faqs.modificar.ModificarFaqDosForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    public final void modificarFaqDos(ActionMapping mapping,
            es.pode.administracion.presentacion.faqs.modificar.ModificarFaqDosForm 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();

        CrearControllerImpl controllerCrear = new CrearControllerImpl();
        CategoriaFaqVO categoriaFaq = (CategoriaFaqVO) request.getSession().getAttribute(CATEGORIAMODVO);
        controllerCrear.rellenaArrayIdiomaCategoriaFaq(castellano, catalan, ingles, euskera, gallego, valenciano,
                categoriaFaq);

        /**
         * **************************************************************************************************************************************
         * ************************************************ CREAR NUEVAS TRADUCCIONES DE CATEGORIAS *********************************************
         * **************************************************************************************************************************************
         * */
        //      Si hay nuevas traducciones de la categoria se inserta en la base de datos
        ArrayList nuevasCategorias = new ArrayList();
        ArrayList nuevasCategoriasIdiomas = new ArrayList();
        if (castellano != null && castellano[4] != null) {
            nuevasCategorias.add(castellano[4]);
            nuevasCategoriasIdiomas.add(castellano[0]);
        }
        if (ingles != null && ingles[4] != null) {
            nuevasCategorias.add(ingles[4]);
            nuevasCategoriasIdiomas.add(ingles[0]);
        }
        if (euskera != null && euskera[4] != null) {
            nuevasCategorias.add(euskera[4]);
            nuevasCategoriasIdiomas.add(euskera[0]);
        }
        if (valenciano != null && valenciano[4] != null) {
            nuevasCategorias.add(valenciano[4]);
            nuevasCategoriasIdiomas.add(valenciano[0]);
        }
        if (catalan != null && catalan[4] != null) {
            nuevasCategorias.add(catalan[4]);
            nuevasCategoriasIdiomas.add(catalan[0]);
        }
        if (gallego != null && gallego[4] != null) {
            nuevasCategorias.add(gallego[4]);
            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();
                CategoriaIdiomaFaqVO[] categoriasIdiomasArray = categoriaFaq.getCategoriaIdioma();
                for (int i = 0; categoriasIdiomasArray != null && i < categoriasIdiomasArray.length; i++)
                    categoriasIdiomas.add(categoriasIdiomasArray[i]);

                for (int j = 0; j < nuevasCategorias.size(); j++) {
                    CategoriaIdiomaFaqVO categoriaNueva = new CategoriaIdiomaFaqVO();
                    categoriaNueva.setIdioma(((String) nuevasCategoriasIdiomas.get(j)).trim());
                    categoriaNueva.setNombre(((String) nuevasCategorias.get(j)).trim());
                    categoriasIdiomas.add(categoriaNueva);
                }
                CategoriaIdiomaFaqVO[] categoriasIdiomasVector = (CategoriaIdiomaFaqVO[]) categoriasIdiomas
                        .toArray(new CategoriaIdiomaFaqVO[0]);

                if (logger.isDebugEnabled())
                    logger.debug("Se modifica la categoria");
                CategoriaFaqVO nueva = new CategoriaFaqVO();
                nueva.setId(categoriaFaq.getId());
                nueva.setNombre(categoriaFaq.getNombre());
                nueva.setCategoriaIdioma(categoriasIdiomasVector);
                nueva.setFechaAlta(categoriaFaq.getFechaAlta());

                this.getSrvFaqService().limpiarCategoria(form.getCategoria());
                this.getSrvFaqService().modificarCategoria(nueva);

            } catch (Exception e) {
                logger.error("Error modificando la categoria", e);
                throw new ValidatorException("{error.modificando.categoria}");
            }
        }

        logger.debug("Se modifica la faq");
        /**
         * **************************************************************************************************************************************
         * ****************************************************** SE MODIFICA LA FAQ ************************************************************
         * **************************************************************************************************************************************
         * */
        try {

            FaqVO faqModificable = (FaqVO) request.getSession().getAttribute(VERFAQVO);

            //         Se forma el vo de la faq
            FaqVO faq = new FaqVO();
            faq.setId(faqModificable.getId());
            faq.setFechaPublicacion(faqModificable.getFechaPublicacion());

            CategoriaFaqVO categoria = (CategoriaFaqVO) request.getSession().getAttribute(CATEGORIAMODVO);
            faq.setCategoria(categoria);

            ArrayList descripcionesFaq = new ArrayList();

            //Tratamiento de la posicion
            logger.debug("Se recupera las faqs de la sesion");
            FaqTraducidaIdiomaVO[] faqs = (FaqTraducidaIdiomaVO[]) request.getSession().getAttribute(FAQS);
            //         Castellano      
            String[] faqsEs = controllerCrear.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("castellano"));

            //Ingles
            String[] faqsEn = controllerCrear.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("ingles"));

            //Catalan
            String[] faqsCa = controllerCrear.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("catalan"));

            //Valenciano
            String[] faqsVa = controllerCrear.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("valenciano"));

            //Gallego
            String[] faqsGl = controllerCrear.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("gallego"));

            //Euskera
            String[] faqsEu = controllerCrear.dameFaqsIdiomaPosicion(faqs, this.getPropertyValue("euskera"));

            //      Se aade las descripciones 
            //      Castellano
            if (castellano != null && castellano[0] != null && castellano[1] != null && castellano[2] != null)
                descripcionesFaq = controllerCrear.devuelveListaDescripcionesFaq(descripcionesFaq, castellano[0],
                        castellano[1], castellano[2], castellano[5], faqsEs.length);

            //      Ingles
            if (ingles != null && ingles[0] != null && ingles[1] != null && ingles[2] != null)
                descripcionesFaq = controllerCrear.devuelveListaDescripcionesFaq(descripcionesFaq, ingles[0],
                        ingles[1], ingles[2], ingles[5], faqsEn.length);

            //      Euskera
            if (euskera != null && euskera[0] != null && euskera[1] != null && euskera[2] != null)
                descripcionesFaq = controllerCrear.devuelveListaDescripcionesFaq(descripcionesFaq, euskera[0],
                        euskera[1], euskera[2], euskera[5], faqsEu.length);

            //      Valenciano
            if (valenciano != null && valenciano[0] != null && valenciano[1] != null && valenciano[2] != null)
                descripcionesFaq = controllerCrear.devuelveListaDescripcionesFaq(descripcionesFaq, valenciano[0],
                        valenciano[1], valenciano[2], valenciano[5], faqsVa.length);

            //      Catalan
            if (catalan != null && catalan[0] != null && catalan[1] != null && catalan[2] != null)
                descripcionesFaq = controllerCrear.devuelveListaDescripcionesFaq(descripcionesFaq, catalan[0],
                        catalan[1], catalan[2], catalan[5], faqsCa.length);

            //      Gallego
            if (gallego != null && gallego[0] != null && gallego[1] != null && gallego[2] != null)
                descripcionesFaq = controllerCrear.devuelveListaDescripcionesFaq(descripcionesFaq, gallego[0],
                        gallego[1], gallego[2], gallego[5], faqsGl.length);

            DescripcionFaqVO[] descripcionesFaqArray = (DescripcionFaqVO[]) descripcionesFaq
                    .toArray(new DescripcionFaqVO[0]);
            faq.setDescripcionFaq(descripcionesFaqArray);

            logger.debug("Se modifica en la base de datos la noticia");
            this.getSrvFaqService().limpiarFaq(faq.getId());
            this.getSrvFaqService().modificarFaq(faq);

            form.setIdModificado(form.getId());

            //Se elimina el objeto introducido en sesion
            request.getSession().setAttribute(CATEGORIAMODVO, null);
            request.getSession().setAttribute(FAQS, null);
            request.getSession().setAttribute(VERFAQVO, null);

        } catch (Exception e) {
            logger.error("Error al modificar la faq", e);
            throw new ValidatorException("{errors.faqs.modificar}");
        }
    }

    /**
     * @see es.pode.administracion.presentacion.faqs.modificar.ModificarController#validarFormulario(org.apache.struts.action.ActionMapping, es.pode.administracion.presentacion.faqs.modificar.ValidarFormularioForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    public final void validarFormulario(ActionMapping mapping,
            es.pode.administracion.presentacion.faqs.modificar.ValidarFormularioForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        logger.debug("Se recoge los parametros del formulario");

        /**
         * **************************************************************************************************************************************
         * **************************************** SE RECOGE LOS PARAMETROS DEL FORMULARIO *****************************************************
         * **************************************************************************************************************************************
         * */

        //      Los array tienen cinco posiciones:
        //         [0] es la del idioma
        //         [1] es la del titulo
        //         [2] es la de la descripcion
        //         [3] es la categoria
        //         [4] si la categoria es nueva
        //         [5] la posicion donde se insertara la faq

        String[] castellano = new String[6];
        String[] ingles = new String[6];
        String[] euskera = new String[6];
        String[] valenciano = new String[6];
        String[] catalan = new String[6];
        String[] gallego = new String[6];

        CrearControllerImpl controllerFaqs = new CrearControllerImpl();

        for (Enumeration names = request.getParameterNames(); names.hasMoreElements();) {
            String name = String.valueOf(names.nextElement());
            if (request.getParameter(name) != null && !(request.getParameter(name)).trim().equals("")) {
                if (name.endsWith(this.getPropertyValue("castellano"))) {
                    castellano = controllerFaqs.rellenaArrayFaq(request, name, castellano);
                    castellano[0] = this.getPropertyValue("castellano");
                } else if (name.endsWith(this.getPropertyValue("ingles"))) {
                    ingles = controllerFaqs.rellenaArrayFaq(request, name, ingles);
                    ingles[0] = this.getPropertyValue("ingles");
                } else if (name.endsWith(this.getPropertyValue("catalan"))) {
                    catalan = controllerFaqs.rellenaArrayFaq(request, name, catalan);
                    catalan[0] = this.getPropertyValue("catalan");
                } else if (name.endsWith(this.getPropertyValue("euskera"))) {
                    euskera = controllerFaqs.rellenaArrayFaq(request, name, euskera);
                    euskera[0] = this.getPropertyValue("euskera");
                } else if (name.endsWith(this.getPropertyValue("valenciano"))) {
                    valenciano = controllerFaqs.rellenaArrayFaq(request, name, valenciano);
                    valenciano[0] = this.getPropertyValue("valenciano");
                } else if (name.endsWith(this.getPropertyValue("gallego"))) {
                    gallego = controllerFaqs.rellenaArrayFaq(request, name, gallego);
                    gallego[0] = this.getPropertyValue("gallego");
                }
            }
        }

        CategoriaFaqVO categoriaFaq = (CategoriaFaqVO) request.getSession().getAttribute(CATEGORIAMODVO);
        controllerFaqs.rellenaArrayIdiomaCategoriaFaq(castellano, catalan, ingles, euskera, gallego, valenciano,
                categoriaFaq);

        logger.debug("Se valida el formulario");
        /**
         * **************************************************************************************************************************************
         * ************************************************ SE VALIDA EL FORMULARIO *************************************************************
         * **************************************************************************************************************************************
         * */
        if (!controllerFaqs.validaFormularioFaq(castellano, catalan, ingles, euskera, gallego, valenciano,
                request)) {
            logger.debug("El formulario ha validado correctamente");
            form.setValido(FALSE);
        } else {
            logger.debug("El formulario no ha validado");
            form.setValido(TRUE);
        }
        form.setCastellano(castellano);
        form.setCatalan(catalan);
        form.setEuskera(euskera);
        form.setIngles(ingles);
        form.setValenciano(valenciano);
        form.setGallego(gallego);
    }

    /**
     * @see es.pode.administracion.presentacion.faqs.modificar.ModificarController#analizaValidacion(org.apache.struts.action.ActionMapping, es.pode.administracion.presentacion.faqs.modificar.AnalizaValidacionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    public final java.lang.String analizaValidacion(ActionMapping mapping,
            es.pode.administracion.presentacion.faqs.modificar.AnalizaValidacionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        //      Se comprueba si el formulario ha validado o no
        if (logger.isDebugEnabled())
            logger.debug("El resultado de la validacion del formulario es [" + form.getValido() + "]");
        return (form.getValido());
    }

    private String getPropertyValue(String sKey) throws IOException {
        InputStream fIsSpringProperties = this.getClass().getResourceAsStream("/portaladministracion.properties");
        if (this.pSpringProperties == null) {
            pSpringProperties = new java.util.Properties();
            pSpringProperties.load(fIsSpringProperties);
        }
        fIsSpringProperties.close();
        // devolvemos la propiedad
        return pSpringProperties.getProperty(sKey);
    }

}