Example usage for org.apache.commons.lang3 StringUtils upperCase

List of usage examples for org.apache.commons.lang3 StringUtils upperCase

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils upperCase.

Prototype

public static String upperCase(final String str) 

Source Link

Document

Converts a String to upper case as per String#toUpperCase() .

A null input String returns null .

 StringUtils.upperCase(null)  = null StringUtils.upperCase("")    = "" StringUtils.upperCase("aBc") = "ABC" 

Note: As described in the documentation for String#toUpperCase() , the result of this method is affected by the current locale.

Usage

From source file:org.wise.portal.dao.user.impl.HibernateUserDao.java

/**
 * Capitalizes the first letter of a given String
 * //w ww.j  a  v  a 2 s  . c  o m
 * @param string
 * @return String
 */
private String capitalizeFirst(String string) {
    return StringUtils.upperCase(StringUtils.left(string, 1)) + StringUtils.right(string, string.length() - 1);
}

From source file:org.wso2.carbon.apimgt.rest.api.store.mappings.TierMappingUtil.java

/**
 * Converts a Tier object into TierDTO//from w w w  .ja  v a  2s. c  om
 *
 * @param tier      Tier object
 * @param tierLevel tier level (api/application or resource)
 * @return TierDTO corresponds to Tier object
 */
public static TierDTO fromTierToDTO(Policy tier, String tierLevel) {
    TierDTO dto = new TierDTO();
    dto.setName(tier.getPolicyName());
    dto.setDescription(tier.getDescription());
    dto.setTierLevel(TierDTO.TierLevelEnum.valueOf(StringUtils.upperCase(tierLevel)));
    dto.setUnitTime((long) tier.getDefaultQuotaPolicy().getLimit().getUnitTime());

    Limit limit = tier.getDefaultQuotaPolicy().getLimit();
    if (limit instanceof RequestCountLimit) {
        dto.setRequestCount((long) (((RequestCountLimit) limit).getRequestCount()));
    } else if (limit instanceof BandwidthLimit) {
        dto.setRequestCount((long) (((BandwidthLimit) limit).getDataAmount()));
    }
    //// TODO: 08/12/16 More fields to map 
    return dto;
}

From source file:org.xlrnet.metadict.storage.mapdb.MapdbStorageEngineFactory.java

private DBMaker createDBMakerInstance(Map<String, String> configuration) {
    String modeProperty = configuration.get(PROPERTY_KEY_OPERATION_MODE);
    String filepathProperty = configuration.get(PROPERTY_KEY_DB_FILE);

    checkNotNull(filepathProperty, "Database file must be specified with property" + PROPERTY_KEY_DB_FILE);

    OperationMode operationMode = OperationMode.valueOf(StringUtils.upperCase(modeProperty));

    LOGGER.info("Initializing MapDB storage backend in {} mode", operationMode);

    switch (operationMode) {
    case FILE:/*from w  w w  .  ja v  a  2 s  .c  o m*/
        Path path = Paths.get(filepathProperty);
        LOGGER.info("Using MapDB database file '{}'", path.toAbsolutePath().toString());
        return DBMaker.newFileDB(path.toFile());
    case TEMPORARY:
        return DBMaker.newMemoryDB();
    default:
        throw new StorageBackendException("Unknown operation mode: " + operationMode);
    }
}

From source file:org.xwiki.contrib.authentication.internal.DefaultTrustedAuthenticationConfiguration.java

@Override
public CaseStyle getUserProfileCaseStyle() {
    try {//from w w  w  .  j a va 2 s.  c  o m
        return CaseStyle.valueOf(
                StringUtils.upperCase(StringUtils.trim(getCustomProperty(USERPROFILE_CASE_PROPERTY, null))));
    } catch (Exception e) {
        // ignored, use default
    }
    return USERPROFILE_CASE_DEFAULT;
}

From source file:org.xwiki.notifications.notifiers.internal.email.NotificationUserIterator.java

private boolean isSameInterval(Object interval) {
    return interval != null && this.interval
            .equals(NotificationEmailInterval.valueOf(StringUtils.upperCase((String) interval)));
}

From source file:pe.gob.mef.gescon.web.ui.AlertaMB.java

public void save(ActionEvent event) {
    try {/* w  ww .  j  a  v a  2  s  .  co  m*/
        if (CollectionUtils.isEmpty(this.getListaAlerta())) {
            this.setListaAlerta(Collections.EMPTY_LIST);
        }
        Alerta alerta = new Alerta();
        alerta.setVnombre(this.getNombre());
        alerta.setVdescripcion(this.getDescripcion());
        alerta.setNparametroid(this.getSelectedParametro());
        alerta.setDfechini(this.getFechfin());
        alerta.setDfechfin(this.getFechfin());
        alerta.setNcondicion1(this.getCondicion1());
        alerta.setNcondicion2(this.getCondicion2());
        alerta.setNtipo1(this.getTipo1());
        alerta.setNtipo2(this.getTipo2());
        alerta.setNuseraplica(this.getUseraplica());
        alerta.setNvalor1(this.getValor1());
        alerta.setNvalor2(this.getValor2());
        if (!errorValidation(alerta)) {
            LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
            User user = loginMB.getUser();
            AlertaService service = (AlertaService) ServiceFinder.findBean("AlertaService");
            alerta.setNalertaid(service.getNextPK());
            alerta.setVnombre(StringUtils.upperCase(this.getNombre().trim()));
            alerta.setVdescripcion(StringUtils.capitalize(this.getDescripcion().trim()));
            alerta.setNactivo(BigDecimal.ONE);
            alerta.setDfechacreacion(new Date());
            alerta.setVusuariocreacion(user.getVlogin());
            service.saveOrUpdate(alerta);
            this.setListaAlerta(service.getAlertas());
            this.cleanAttributes();
            RequestContext.getCurrentInstance().execute("PF('newDialog').hide();");
        }
    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.AlertaMB.java

public void update(ActionEvent event) {
    try {/*from   w ww .  j  a  v  a2s  .co  m*/
        if (event != null) {
            if (StringUtils.isBlank(this.getSelectedAlerta().getVnombre())) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA,
                        "Nombre requerido. Ingrese el nombre de la alerta.");
                FacesContext.getCurrentInstance().addMessage(null, message);
                return;
            }
            if (StringUtils.isBlank(this.getSelectedAlerta().getVdescripcion())) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, Constante.SEVERETY_ALERTA,
                        "Descripcin requerida. Ingrese la descripcin de la alerta.");
                FacesContext.getCurrentInstance().addMessage(null, message);
                return;
            }
            LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
            User user = loginMB.getUser();
            this.getSelectedAlerta()
                    .setVnombre(StringUtils.upperCase(this.getSelectedAlerta().getVnombre().trim()));
            this.getSelectedAlerta()
                    .setVdescripcion(StringUtils.capitalize(this.getSelectedAlerta().getVdescripcion().trim()));
            this.getSelectedAlerta().setVusuariomodificacion(user.getVlogin());
            this.getSelectedAlerta().setDfechamodificacion(new Date());

            AlertaService service = (AlertaService) ServiceFinder.findBean("AlertaService");
            service.saveOrUpdate(this.getSelectedAlerta());
            this.setListaAlerta(service.getAlertas());
            this.cleanAttributes();
            RequestContext.getCurrentInstance().execute("PF('editDialog').hide();");
        }
    } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.BaseLegalMB.java

public void save(ActionEvent event) {
    try {/*from   w  w w .j a v a  2  s  .c o  m*/
        if (CollectionUtils.isEmpty(this.getListaBaseLegal())) {
            this.setListaBaseLegal(new ArrayList());
        }
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getTiporangoId() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getRangoId() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getTipoNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el tipo de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getNumeroNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el nmero de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSumilla())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la sumilla de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getUploadFile() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Debe cargar el archivo PDF de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getFechaVigencia() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la fecha de publicacin en el diario \"EL PERUANO\".");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (!this.getChkGobNacional() && !this.getChkGobRegional() && !this.getChkGobLocal()
                && !this.getChkMancomunidades()) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione al menos un mbito para la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }

        if (!CollectionUtils.isEmpty(this.getListaTarget())) {
            for (BaseLegal v : this.getListaTarget()) {
                if (v.getNestadoid().equals(BigDecimal.ZERO)) {
                    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                            "Debe seleccionar el estado de todos los vnculos agregados.");
                    FacesContext.getCurrentInstance().addMessage(null, message);
                    return;
                }
            }
        }

        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();

        BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
        BaseLegal base = new BaseLegal();
        base.setNbaselegalid(service.getNextPK());
        base.setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        base.setVnombre(StringUtils.capitalize(this.getSumilla()));
        base.setVnumero(this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
        base.setNtiporangoid(this.getTiporangoId());
        base.setNrangoid(this.getRangoId());
        base.setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
        base.setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
        base.setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
        base.setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
        base.setNdestacado(BigDecimal.ZERO);
        base.setNcodigowiki(this.getCodigoWiki());
        base.setVsumilla(this.getComentario().trim());
        base.setDfechavigencia(this.getFechaVigencia());
        base.setVtema(this.getTema());
        base.setNactivo(BigDecimal.ONE);
        if (this.getSelectedCategoria().getNflagbl().toString().equals("1")) {
            base.setNestadoid(BigDecimal.valueOf(Long.valueOf(Constante.ESTADO_BASELEGAL_REGISTRADO)));
        } else {
            base.setNestadoid(BigDecimal.valueOf(Long.valueOf(Constante.ESTADO_BASELEGAL_PUBLICADO)));
            base.setDfechapublicacion(new Date());
        }

        base.setVusuariocreacion(user.getVlogin());
        base.setDfechacreacion(new Date());
        service.saveOrUpdate(base);

        String ruta0 = this.pathBL + base.getNbaselegalid().toString() + "\\" + BigDecimal.ZERO.toString()
                + "\\";
        String txt0 = base.getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", txt0);

        BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                .findBean("BaseLegalHistorialService");
        BaselegalHist baseHist = new BaselegalHist();
        baseHist.setNhistorialid(serviceHistorial.getNextPK());
        baseHist.setNbaselegalid(base.getNbaselegalid());
        baseHist.setNcategoriaid(base.getNcategoriaid());
        baseHist.setVnombre(base.getVnombre());
        baseHist.setVnumero(base.getVnumero());
        baseHist.setNtiporangoid(base.getNtiporangoid());
        baseHist.setNrangoid(base.getNrangoid());
        baseHist.setNgobnacional(base.getNgobnacional());
        baseHist.setNgobregional(base.getNgobregional());
        baseHist.setNgoblocal(base.getNgoblocal());
        baseHist.setNmancomunidades(base.getNmancomunidades());
        baseHist.setNdestacado(base.getNdestacado());
        baseHist.setVsumilla(base.getVsumilla());
        baseHist.setDfechavigencia(base.getDfechavigencia());
        baseHist.setVtema(base.getVtema());
        baseHist.setNactivo(base.getNactivo());
        baseHist.setNestadoid(base.getNestadoid());
        baseHist.setNversion(BigDecimal.ONE);
        baseHist.setVusuariocreacion(base.getVusuariocreacion());
        baseHist.setDfechacreacion(base.getDfechacreacion());
        serviceHistorial.saveOrUpdate(baseHist);

        String ruta1 = this.pathBL + base.getNbaselegalid().toString() + "\\" + BigDecimal.ONE.toString()
                + "\\";
        String txt1 = baseHist.getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", txt1);

        Tbaselegal tbaselegal = new Tbaselegal();
        BeanUtils.copyProperties(tbaselegal, base);

        ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
        if (this.getUploadFile() != null) {
            ruta0 = this.path + base.getNbaselegalid().toString() + "\\" + BigDecimal.ZERO.toString() + "\\";
            Archivo archivo = new Archivo();
            archivo.setNarchivoid(aservice.getNextPK());
            archivo.setTbaselegal(tbaselegal);
            archivo.setVnombre(this.getUploadFile().getFileName());
            archivo.setVruta(ruta0 + archivo.getVnombre());
            archivo.setNversion(BigDecimal.ZERO);
            archivo.setVusuariocreacion(user.getVlogin());
            archivo.setDfechacreacion(new Date());
            aservice.saveOrUpdate(archivo);
            saveFile(ruta0);

            ruta1 = this.path + base.getNbaselegalid().toString() + "\\" + BigDecimal.ONE.toString() + "\\";
            ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                    .findBean("ArchivoHistorialService");
            ArchivoHist archivoHist = new ArchivoHist();
            archivoHist.setNarchivohistid(aserviceHist.getNextPK());
            archivoHist.setNhistorialid(baseHist.getNhistorialid());
            archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
            archivoHist.setVnombre(archivo.getVnombre());
            archivoHist.setVruta(ruta1 + archivo.getVnombre());
            archivoHist.setNversion(BigDecimal.ONE);
            archivoHist.setVusuariocreacion(user.getVlogin());
            archivoHist.setDfechacreacion(new Date());
            aserviceHist.saveOrUpdate(archivoHist);
            saveFile(ruta1);
        }

        if (!CollectionUtils.isEmpty(this.getListaTarget())) {
            for (BaseLegal v : this.getListaTarget()) {
                VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                        .findBean("VinculoBaseLegalService");
                TvinculoBaselegalId id = new TvinculoBaselegalId();
                id.setNbaselegalid(tbaselegal.getNbaselegalid());
                id.setNvinculoid(vservice.getNextPK());
                VinculoBaselegal vinculo = new VinculoBaselegal();
                vinculo.setId(id);
                vinculo.setTbaselegal(tbaselegal);
                vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
                vinculo.setNtipovinculo(v.getNestadoid());
                vinculo.setDfechacreacion(new Date());
                vinculo.setVusuariocreacion(user.getVlogin());
                vservice.saveOrUpdate(vinculo);

                BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
                blvinculada.setNestadoid(v.getNestadoid());
                blvinculada.setDfechamodificacion(new Date());
                blvinculada.setVusuariomodificacion(user.getVlogin());
                service.saveOrUpdate(blvinculada);

                if (v.getNestadoid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                        || v.getNestadoid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                    ConocimientoService cservice = (ConocimientoService) ServiceFinder
                            .findBean("ConocimientoService");
                    List<Consulta> listaConocimientos = cservice
                            .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                    if (!CollectionUtils.isEmpty(listaConocimientos)) {
                        for (Consulta c : listaConocimientos) {
                            Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                            conocimiento.setDfechamodificacion(new Date());
                            conocimiento.setVusuariomodificacion(user.getVlogin());
                            String descripcionHtml = GcmFileUtils
                                    .readStringFromFileServer(conocimiento.getVruta(), "html.txt");
                            String descripcionPlain = GcmFileUtils
                                    .readStringFromFileServer(conocimiento.getVruta(), "plain.txt");
                            cservice.saveOrUpdate(conocimiento);

                            HistorialService historialService = (HistorialService) ServiceFinder
                                    .findBean("HistorialService");
                            Historial lastHistorial = historialService
                                    .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                            int lastversion;
                            if (lastHistorial != null) {
                                lastversion = lastHistorial.getNnumversion().intValue();
                            } else {
                                lastversion = 0;
                            }
                            String newpath = "";
                            if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                                newpath = "bl/";
                            } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                                newpath = "bp/";
                            } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                                newpath = "ct/";
                            } else if (conocimiento.getNtipoconocimientoid()
                                    .equals(Constante.OPORTUNIDADMEJORA)) {
                                newpath = "om/";
                            } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                                newpath = "pr/";
                            } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                                newpath = "wk/";
                            }

                            String url = newpath.concat(conocimiento.getNconocimientoid().toString())
                                    .concat("/").concat(Integer.toString(lastversion + 1)).concat("/");

                            ThistorialId thistorialId = new ThistorialId();
                            thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                            thistorialId.setNhistorialid(historialService.getNextPK());
                            Historial historial = new Historial();
                            historial.setId(thistorialId);
                            historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                            historial.setNcategoriaid(conocimiento.getNcategoriaid());
                            historial.setVtitulo(conocimiento.getVtitulo());
                            historial.setNactivo(BigDecimal.ONE);
                            historial.setNsituacionid(conocimiento.getNsituacionid());
                            historial.setVruta(url);
                            historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                            historial.setDfechacreacion(new Date());
                            historial.setVusuariocreacion(user.getVlogin());
                            historialService.saveOrUpdate(historial);

                            GcmFileUtils.writeStringToFileServer(url, "html.txt", descripcionHtml);
                            GcmFileUtils.writeStringToFileServer(url, "plain.txt", descripcionPlain);

                            SeccionService seccionService = (SeccionService) ServiceFinder
                                    .findBean("SeccionService");
                            SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                    .findBean("SeccionHistService");
                            List<Seccion> listaSeccion = seccionService
                                    .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                            if (!CollectionUtils.isEmpty(listaSeccion)) {
                                String url0 = conocimiento.getVruta().concat("s");
                                String url1 = url.concat("s");
                                for (Seccion seccion : listaSeccion) {
                                    seccion.setDetalleHtml(GcmFileUtils
                                            .readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                    ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                    seccion.setVruta(ruta0);
                                    seccion.setDfechamodificacion(new Date());
                                    seccion.setVusuariomodificacion(user.getVlogin());
                                    seccionService.saveOrUpdate(seccion);

                                    seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                                    ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                                    TseccionHistId tseccionHistId = new TseccionHistId();
                                    tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                                    tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                                    tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                                    SeccionHist seccionHist = new SeccionHist();
                                    seccionHist.setId(tseccionHistId);
                                    seccionHist.setNorden(seccion.getNorden());
                                    seccionHist.setVruta(ruta1);
                                    seccionHist.setVtitulo(seccion.getVtitulo());
                                    seccionHist.setVusuariocreacion(user.getVlogin());
                                    seccionHist.setDfechacreacion(new Date());
                                    seccionHistService.saveOrUpdate(seccionHist);

                                    GcmFileUtils.writeStringToFileServer(ruta1, "html.txt",
                                            seccion.getDetalleHtml());
                                    GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt",
                                            seccion.getDetallePlain());
                                }
                            }

                            VinculoService vinculoService = (VinculoService) ServiceFinder
                                    .findBean("VinculoService");
                            Vinculo vinculoC = new Vinculo();
                            vinculoC.setNvinculoid(vinculoService.getNextPK());
                            vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                            vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                            vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                            vinculoC.setDfechacreacion(new Date());
                            vinculoC.setVusuariocreacion(user.getVlogin());
                            vinculoService.saveOrUpdate(vinculoC);

                            List<Vinculo> vinculos = vinculoService
                                    .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                            VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                                    .findBean("VinculoHistService");
                            for (Vinculo vinc : vinculos) {
                                TvinculoHistId vinculoHistId = new TvinculoHistId();
                                vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                                vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                                vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                                VinculoHist vinculoHist = new VinculoHist();
                                vinculoHist.setId(vinculoHistId);
                                vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                                vinculoHist.setDfechacreacion(new Date());
                                vinculoHist.setVusuariocreacion(user.getVlogin());
                                vinculoHistService.saveOrUpdate(vinculoHist);
                            }
                        }
                    }
                } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                    ConocimientoService cservice = (ConocimientoService) ServiceFinder
                            .findBean("ConocimientoService");
                    List<Consulta> listaConocimientos = cservice
                            .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                    if (!CollectionUtils.isEmpty(listaConocimientos)) {
                        for (Consulta c : listaConocimientos) {
                            Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                            conocimiento.setNflgvinculo(BigDecimal.ONE);
                            conocimiento.setDfechamodificacion(new Date());
                            conocimiento.setVusuariomodificacion(user.getVlogin());
                        }
                    }
                }

                VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                        .findBean("VinculoBaselegalHistorialService");
                VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
                vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
                vinculoHist.setNhistorialid(baseHist.getNhistorialid());
                vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
                vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
                vinculoHist.setNtipovinculo(v.getNestadoid());
                vinculoHist.setDfechacreacion(new Date());
                vinculoHist.setVusuariocreacion(user.getVlogin());
                vserviceHist.saveOrUpdate(vinculoHist);
            }
        }

        if (this.getSelectedCategoria().getNflagbl().toString().equals("1")) {
            Asignacion asignacion = new Asignacion();
            AsignacionService serviceasig = (AsignacionService) ServiceFinder.findBean("AsignacionService");
            asignacion.setNasignacionid(serviceasig.getNextPK());
            asignacion.setNtipoconocimientoid(Constante.BASELEGAL);
            asignacion.setNconocimientoid(base.getNbaselegalid());
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("1")));
            CategoriaService categoriaService = (CategoriaService) ServiceFinder.findBean("CategoriaService");
            asignacion.setNusuarioid(categoriaService
                    .getCategoriaById(this.getSelectedCategoria().getNcategoriaid()).getNmoderador());
            asignacion.setDfechaasignacion(new Date());
            asignacion.setDfechacreacion(new Date());
            serviceasig.saveOrUpdate(asignacion);
        }

        this.setListaBaseLegal(service.getBaselegales());
        for (BaseLegal bl : this.getListaBaseLegal()) {
            bl.setArchivo(aservice.getArchivoByBaseLegal(bl));
        }
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/baselegal/lista.xhtml");
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.BaseLegalMB.java

public void edit(ActionEvent event) {
    try {/*from   w  w w  .j  a  v  a2s  .c  om*/
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNtiporangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNrangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getTipoNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el tipo de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getNumeroNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el nmero de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedBaseLegal().getVnombre())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la sumilla de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getDfechavigencia() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la fecha de publicacin en el diario \"EL PERUANO\".");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (!this.getChkGobNacional() && !this.getChkGobRegional() && !this.getChkGobLocal()
                && !this.getChkMancomunidades()) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione al menos un mbito para la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNdestacado().equals(BigDecimal.ZERO) && this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.BASELEGAL);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return;
            }
        }
        if (!CollectionUtils.isEmpty(this.getListaTarget())) {
            for (BaseLegal v : this.getListaTarget()) {
                if (v.getNestadoid().equals(BigDecimal.ZERO)) {
                    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                            "Debe seleccionar el estado de todos los vnculos agregados.");
                    FacesContext.getCurrentInstance().addMessage(null, message);
                    return;
                }
            }
        }

        if (CollectionUtils.isEmpty(this.getListaBaseLegal())) {
            this.setListaBaseLegal(new ArrayList());
        }
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();
        if (this.getSelectedCategoria() != null) {
            this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        }
        BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
        this.getSelectedBaseLegal()
                .setVnombre(StringUtils.capitalize(this.getSelectedBaseLegal().getVnombre()));
        this.getSelectedBaseLegal().setVnumero(
                this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
        this.getSelectedBaseLegal().setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        this.getSelectedBaseLegal().setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        this.getSelectedBaseLegal()
                .setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNcodigowiki(this.getCodigoWiki());
        this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
        this.getSelectedBaseLegal().setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
        this.getSelectedBaseLegal().setVusuariomodificacion(user.getVlogin());
        this.getSelectedBaseLegal().setDfechamodificacion(new Date());
        service.saveOrUpdate(this.getSelectedBaseLegal());

        BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                .findBean("BaseLegalHistorialService");
        BaselegalHist hist = serviceHistorial
                .getLastHistorialByBaselegal(this.getSelectedBaseLegal().getNbaselegalid());

        BaselegalHist baseHist = new BaselegalHist();
        baseHist.setNhistorialid(serviceHistorial.getNextPK());
        baseHist.setNbaselegalid(this.getSelectedBaseLegal().getNbaselegalid());
        baseHist.setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
        baseHist.setVnombre(this.getSelectedBaseLegal().getVnombre());
        baseHist.setVnumero(this.getSelectedBaseLegal().getVnumero());
        baseHist.setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        baseHist.setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        baseHist.setNgobnacional(this.getSelectedBaseLegal().getNgobnacional());
        baseHist.setNgobregional(this.getSelectedBaseLegal().getNgobregional());
        baseHist.setNgoblocal(this.getSelectedBaseLegal().getNgoblocal());
        baseHist.setNmancomunidades(this.getSelectedBaseLegal().getNmancomunidades());
        baseHist.setNdestacado(this.getSelectedBaseLegal().getNdestacado());
        baseHist.setVsumilla(this.getSelectedBaseLegal().getVsumilla());
        baseHist.setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        baseHist.setVtema(this.getSelectedBaseLegal().getVtema());
        baseHist.setNactivo(this.getSelectedBaseLegal().getNactivo());
        baseHist.setNestadoid(this.getSelectedBaseLegal().getNestadoid());
        baseHist.setNversion(BigDecimal.valueOf(hist.getNversion().intValue() + 1));
        baseHist.setVusuariocreacion(user.getVlogin());
        baseHist.setDfechacreacion(new Date());
        baseHist.setVusuariomodificacion(this.getSelectedBaseLegal().getVusuariomodificacion());
        baseHist.setDfechamodificacion(this.getSelectedBaseLegal().getDfechamodificacion());
        serviceHistorial.saveOrUpdate(baseHist);

        Tbaselegal tbaselegal = new Tbaselegal();
        BeanUtils.copyProperties(tbaselegal, this.getSelectedBaseLegal());

        String ruta0 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + BigDecimal.ZERO.toString() + "\\";
        String txt0 = this.getSelectedBaseLegal().getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", txt0);
        String ruta1 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        String txt1 = baseHist.getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", txt1);

        ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
        Archivo archivo = aservice.getArchivoByBaseLegal(this.getSelectedBaseLegal());
        if (this.getUploadFile() != null) {
            ruta0 = this.path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                    + BigDecimal.ZERO.toString() + "\\";
            archivo.setVnombre(this.getUploadFile().getFileName());
            archivo.setVruta(ruta0 + archivo.getVnombre());
            archivo.setVusuariomodificacion(user.getVlogin());
            archivo.setDfechamodificacion(new Date());
            aservice.saveOrUpdate(archivo);
            saveFile(ruta0);
        }

        ruta1 = this.path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                .findBean("ArchivoHistorialService");
        ArchivoHist archivoHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);
        archivoHist = archivoHist != null ? archivoHist : new ArchivoHist();
        archivoHist.setNarchivohistid(aserviceHist.getNextPK());
        archivoHist.setNhistorialid(baseHist.getNhistorialid());
        archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
        archivoHist.setVnombre(archivo.getVnombre());
        archivoHist.setVruta(ruta1 + archivo.getVnombre());
        archivoHist.setVusuariocreacion(user.getVlogin());
        archivoHist.setDfechacreacion(new Date());
        aserviceHist.saveOrUpdate(archivoHist);
        saveFile(ruta1);

        VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                .findBean("VinculoBaseLegalService");
        vservice.deleteByBaseLegal(this.getSelectedBaseLegal());
        for (BaseLegal v : this.getListaTarget()) {
            TvinculoBaselegalId id = new TvinculoBaselegalId();
            id.setNbaselegalid(tbaselegal.getNbaselegalid());
            id.setNvinculoid(vservice.getNextPK());
            VinculoBaselegal vinculo = new VinculoBaselegal();
            vinculo.setId(id);
            vinculo.setTbaselegal(tbaselegal);
            vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculo.setNtipovinculo(v.getNestadoid());
            vinculo.setDfechacreacion(new Date());
            vinculo.setVusuariocreacion(user.getVlogin());
            vservice.saveOrUpdate(vinculo);

            BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
            blvinculada.setNestadoid(v.getNestadoid());
            blvinculada.setDfechamodificacion(new Date());
            blvinculada.setVusuariomodificacion(user.getVlogin());
            service.saveOrUpdate(blvinculada);

            if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                    || v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.getVlogin());
                        String descripcionHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "html.txt");
                        String descripcionPlain = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "plain.txt");
                        cservice.saveOrUpdate(conocimiento);

                        HistorialService historialService = (HistorialService) ServiceFinder
                                .findBean("HistorialService");
                        Historial lastHistorial = historialService
                                .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                        int lastversion;
                        if (lastHistorial != null) {
                            lastversion = lastHistorial.getNnumversion().intValue();
                        } else {
                            lastversion = 0;
                        }
                        String newpath = "";
                        if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                            newpath = "bl/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                            newpath = "bp/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                            newpath = "ct/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.OPORTUNIDADMEJORA)) {
                            newpath = "om/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                            newpath = "pr/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                            newpath = "wk/";
                        }

                        String url = newpath.concat(conocimiento.getNconocimientoid().toString()).concat("/")
                                .concat(Integer.toString(lastversion + 1)).concat("/");

                        ThistorialId thistorialId = new ThistorialId();
                        thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                        thistorialId.setNhistorialid(historialService.getNextPK());
                        Historial historial = new Historial();
                        historial.setId(thistorialId);
                        historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                        historial.setNcategoriaid(conocimiento.getNcategoriaid());
                        historial.setVtitulo(conocimiento.getVtitulo());
                        historial.setNactivo(BigDecimal.ONE);
                        historial.setNsituacionid(conocimiento.getNsituacionid());
                        historial.setVruta(url);
                        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                        historial.setDfechacreacion(new Date());
                        historial.setVusuariocreacion(user.getVlogin());
                        historialService.saveOrUpdate(historial);

                        GcmFileUtils.writeStringToFileServer(url, "html.txt", descripcionHtml);
                        GcmFileUtils.writeStringToFileServer(url, "plain.txt", descripcionPlain);

                        SeccionService seccionService = (SeccionService) ServiceFinder
                                .findBean("SeccionService");
                        SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                .findBean("SeccionHistService");
                        List<Seccion> listaSeccion = seccionService
                                .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                        if (!CollectionUtils.isEmpty(listaSeccion)) {
                            String url0 = conocimiento.getVruta().concat("s");
                            String url1 = url.concat("s");
                            for (Seccion seccion : listaSeccion) {
                                seccion.setDetalleHtml(
                                        GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                seccion.setVruta(ruta0);
                                seccion.setDfechamodificacion(new Date());
                                seccion.setVusuariomodificacion(user.getVlogin());
                                seccionService.saveOrUpdate(seccion);

                                seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                                ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                                TseccionHistId tseccionHistId = new TseccionHistId();
                                tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                                tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                                tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                                SeccionHist seccionHist = new SeccionHist();
                                seccionHist.setId(tseccionHistId);
                                seccionHist.setNorden(seccion.getNorden());
                                seccionHist.setVruta(ruta1);
                                seccionHist.setVtitulo(seccion.getVtitulo());
                                seccionHist.setVusuariocreacion(user.getVlogin());
                                seccionHist.setDfechacreacion(new Date());
                                seccionHistService.saveOrUpdate(seccionHist);

                                GcmFileUtils.writeStringToFileServer(ruta1, "html.txt",
                                        seccion.getDetalleHtml());
                                GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt",
                                        seccion.getDetallePlain());
                            }
                        }

                        VinculoService vinculoService = (VinculoService) ServiceFinder
                                .findBean("VinculoService");
                        Vinculo vinculoC = new Vinculo();
                        vinculoC.setNvinculoid(vinculoService.getNextPK());
                        vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                        vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                        vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                        vinculoC.setDfechacreacion(new Date());
                        vinculoC.setVusuariocreacion(user.getVlogin());
                        vinculoService.saveOrUpdate(vinculoC);

                        List<Vinculo> vinculos = vinculoService
                                .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                        VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                                .findBean("VinculoHistService");
                        for (Vinculo vinc : vinculos) {
                            TvinculoHistId vinculoHistId = new TvinculoHistId();
                            vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                            vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                            vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                            VinculoHist vinculoHist = new VinculoHist();
                            vinculoHist.setId(vinculoHistId);
                            vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                            vinculoHist.setDfechacreacion(new Date());
                            vinculoHist.setVusuariocreacion(user.getVlogin());
                            vinculoHistService.saveOrUpdate(vinculoHist);
                        }
                    }
                }
            } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setNflgvinculo(BigDecimal.ONE);
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.getVlogin());
                    }
                }
            }

            VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                    .findBean("VinculoBaselegalHistorialService");
            VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
            vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
            vinculoHist.setNhistorialid(baseHist.getNhistorialid());
            vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
            vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculoHist.setNtipovinculo(v.getNestadoid());
            vinculoHist.setDfechacreacion(new Date());
            vinculoHist.setVusuariocreacion(user.getVlogin());
            vserviceHist.saveOrUpdate(vinculoHist);
        }

        this.setListaBaseLegal(service.getBaselegales());
        for (BaseLegal bl : this.getListaBaseLegal()) {
            bl.setArchivo(aservice.getArchivoByBaseLegal(bl));
        }
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/baselegal/lista.xhtml");
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
}

From source file:pe.gob.mef.gescon.web.ui.BaseLegalMB.java

public void post(ActionEvent event) {
    try {//from  w w w  . j a  va2 s  . c om
        if (this.getSelectedCategoria() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione la categora de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNtiporangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNrangoid() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione el tipo de rango de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getTipoNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el tipo de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getNumeroNorma())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese el nmero de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (StringUtils.isBlank(this.getSelectedBaseLegal().getVnombre())) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la sumilla de la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getDfechavigencia() == null) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Ingrese la fecha de publicacin en el diario \"EL PERUANO\".");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (!this.getChkGobNacional() && !this.getChkGobRegional() && !this.getChkGobLocal()
                && !this.getChkMancomunidades()) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                    "Seleccione al menos un mbito para la base legal a registrar.");
            FacesContext.getCurrentInstance().addMessage(null, message);
            return;
        }
        if (this.getSelectedBaseLegal().getNdestacado().equals(BigDecimal.ZERO) && this.getChkDestacado()) {
            ConsultaService consultaService = (ConsultaService) ServiceFinder.findBean("ConsultaService");
            HashMap filter = new HashMap();
            filter.put("ntipoconocimientoid", Constante.BASELEGAL);
            BigDecimal cant = consultaService.countDestacadosByTipoConocimiento(filter);
            if (cant.intValue() >= 10) {
                this.setListaDestacados(consultaService.getDestacadosByTipoConocimiento(filter));
                RequestContext.getCurrentInstance().execute("PF('destDialog').show();");
                return;
            }
        }
        if (!CollectionUtils.isEmpty(this.getListaTarget())) {
            for (BaseLegal v : this.getListaTarget()) {
                if (v.getNestadoid().equals(BigDecimal.ZERO)) {
                    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR.",
                            "Debe seleccionar el estado de todos los vnculos agregados.");
                    FacesContext.getCurrentInstance().addMessage(null, message);
                    return;
                }
            }
        }
        if (CollectionUtils.isEmpty(this.getListaBaseLegal())) {
            this.setListaBaseLegal(new ArrayList());
        }
        LoginMB loginMB = (LoginMB) JSFUtils.getSessionAttribute("loginMB");
        User user = loginMB.getUser();
        if (this.getSelectedCategoria() != null) {
            this.getSelectedBaseLegal().setNcategoriaid(this.getSelectedCategoria().getNcategoriaid());
        }
        BaseLegalService service = (BaseLegalService) ServiceFinder.findBean("BaseLegalService");
        this.getSelectedBaseLegal()
                .setVnombre(StringUtils.capitalize(this.getSelectedBaseLegal().getVnombre()));
        this.getSelectedBaseLegal().setVnumero(
                this.getTipoNorma().concat(" - ").concat(StringUtils.upperCase(this.getNumeroNorma())));
        this.getSelectedBaseLegal().setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        this.getSelectedBaseLegal().setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        this.getSelectedBaseLegal()
                .setNgobnacional(this.getChkGobNacional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNgobregional(this.getChkGobRegional() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNgoblocal(this.getChkGobLocal() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal()
                .setNmancomunidades(this.getChkMancomunidades() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNdestacado(this.getChkDestacado() ? BigDecimal.ONE : BigDecimal.ZERO);
        this.getSelectedBaseLegal().setNcodigowiki(this.getCodigoWiki());
        this.getSelectedBaseLegal().setVsumilla(this.getSelectedBaseLegal().getVsumilla().trim());
        this.getSelectedBaseLegal().setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        this.getSelectedBaseLegal().setVtema(this.getSelectedBaseLegal().getVtema());
        this.getSelectedBaseLegal()
                .setNestadoid(BigDecimal.valueOf(Long.valueOf(Constante.ESTADO_BASELEGAL_PUBLICADO)));
        this.getSelectedBaseLegal().setDfechapublicacion(new Date());
        this.getSelectedBaseLegal().setVusuariomodificacion(user.getVlogin());
        this.getSelectedBaseLegal().setDfechamodificacion(new Date());
        service.saveOrUpdate(this.getSelectedBaseLegal());

        BaseLegalHistorialService serviceHistorial = (BaseLegalHistorialService) ServiceFinder
                .findBean("BaseLegalHistorialService");
        BaselegalHist hist = serviceHistorial
                .getLastHistorialByBaselegal(this.getSelectedBaseLegal().getNbaselegalid());

        BaselegalHist baseHist = new BaselegalHist();
        baseHist.setNhistorialid(serviceHistorial.getNextPK());
        baseHist.setNbaselegalid(this.getSelectedBaseLegal().getNbaselegalid());
        baseHist.setNcategoriaid(this.getSelectedBaseLegal().getNcategoriaid());
        baseHist.setVnombre(this.getSelectedBaseLegal().getVnombre());
        baseHist.setVnumero(this.getSelectedBaseLegal().getVnumero());
        baseHist.setNtiporangoid(this.getSelectedBaseLegal().getNtiporangoid());
        baseHist.setNrangoid(this.getSelectedBaseLegal().getNrangoid());
        baseHist.setNgobnacional(this.getSelectedBaseLegal().getNgobnacional());
        baseHist.setNgobregional(this.getSelectedBaseLegal().getNgobregional());
        baseHist.setNgoblocal(this.getSelectedBaseLegal().getNgoblocal());
        baseHist.setNmancomunidades(this.getSelectedBaseLegal().getNmancomunidades());
        baseHist.setNdestacado(this.getSelectedBaseLegal().getNdestacado());
        baseHist.setVsumilla(this.getSelectedBaseLegal().getVsumilla());
        baseHist.setDfechavigencia(this.getSelectedBaseLegal().getDfechavigencia());
        baseHist.setDfechapublicacion(this.getSelectedBaseLegal().getDfechapublicacion());
        baseHist.setVtema(this.getSelectedBaseLegal().getVtema());
        baseHist.setNactivo(this.getSelectedBaseLegal().getNactivo());
        baseHist.setNestadoid(this.getSelectedBaseLegal().getNestadoid());
        baseHist.setNversion(BigDecimal.valueOf(hist.getNversion().intValue() + 1));
        baseHist.setVusuariocreacion(user.getVlogin());
        baseHist.setDfechacreacion(new Date());
        baseHist.setVusuariomodificacion(this.getSelectedBaseLegal().getVusuariomodificacion());
        baseHist.setDfechamodificacion(this.getSelectedBaseLegal().getDfechamodificacion());
        serviceHistorial.saveOrUpdate(baseHist);

        Tbaselegal tbaselegal = new Tbaselegal();
        BeanUtils.copyProperties(tbaselegal, this.getSelectedBaseLegal());

        String ruta0 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + BigDecimal.ZERO.toString() + "\\";
        String txt0 = this.getSelectedBaseLegal().getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta0, "plain.txt", txt0);
        String ruta1 = this.pathBL + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        String txt1 = baseHist.getVnombre();
        GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt", txt1);

        ArchivoService aservice = (ArchivoService) ServiceFinder.findBean("ArchivoService");
        Archivo archivo = aservice.getArchivoByBaseLegal(this.getSelectedBaseLegal());
        if (this.getUploadFile() != null) {
            ruta0 = this.path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                    + BigDecimal.ZERO.toString() + "\\";
            archivo.setVnombre(this.getUploadFile().getFileName());
            archivo.setVruta(ruta0 + archivo.getVnombre());
            archivo.setVusuariomodificacion(user.getVlogin());
            archivo.setDfechamodificacion(new Date());
            aservice.saveOrUpdate(archivo);
            saveFile(ruta0);
        }

        ruta1 = this.path + this.getSelectedBaseLegal().getNbaselegalid().toString() + "\\"
                + baseHist.getNversion().toString() + "\\";
        ArchivoHistorialService aserviceHist = (ArchivoHistorialService) ServiceFinder
                .findBean("ArchivoHistorialService");
        ArchivoHist archivoHist = aserviceHist.getLastArchivoHistByBaseLegalHist(baseHist);
        archivoHist = archivoHist != null ? archivoHist : new ArchivoHist();
        archivoHist.setNarchivohistid(aserviceHist.getNextPK());
        archivoHist.setNhistorialid(baseHist.getNhistorialid());
        archivoHist.setNbaselegalid(baseHist.getNbaselegalid());
        archivoHist.setVnombre(archivo.getVnombre());
        archivoHist.setVruta(ruta1 + archivo.getVnombre());
        archivoHist.setVusuariocreacion(user.getVlogin());
        archivoHist.setDfechacreacion(new Date());
        aserviceHist.saveOrUpdate(archivoHist);
        saveFile(ruta1);

        VinculoBaseLegalService vservice = (VinculoBaseLegalService) ServiceFinder
                .findBean("VinculoBaseLegalService");
        vservice.deleteByBaseLegal(this.getSelectedBaseLegal());
        for (BaseLegal v : this.getListaTarget()) {
            TvinculoBaselegalId id = new TvinculoBaselegalId();
            id.setNbaselegalid(tbaselegal.getNbaselegalid());
            id.setNvinculoid(vservice.getNextPK());
            VinculoBaselegal vinculo = new VinculoBaselegal();
            vinculo.setId(id);
            vinculo.setTbaselegal(tbaselegal);
            vinculo.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculo.setNtipovinculo(v.getNestadoid());
            vinculo.setDfechacreacion(new Date());
            vinculo.setVusuariocreacion(user.getVlogin());
            vservice.saveOrUpdate(vinculo);

            BaseLegal blvinculada = service.getBaselegalById(v.getNbaselegalid());
            blvinculada.setNestadoid(v.getNestadoid());
            blvinculada.setDfechamodificacion(new Date());
            blvinculada.setVusuariomodificacion(user.getVlogin());
            service.saveOrUpdate(blvinculada);

            if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_MODIFICADA)
                    || v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_CONCORDADO)) {

                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.getVlogin());
                        String descripcionHtml = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "html.txt");
                        String descripcionPlain = GcmFileUtils.readStringFromFileServer(conocimiento.getVruta(),
                                "plain.txt");
                        cservice.saveOrUpdate(conocimiento);

                        HistorialService historialService = (HistorialService) ServiceFinder
                                .findBean("HistorialService");
                        Historial lastHistorial = historialService
                                .getLastHistorialByConocimiento(conocimiento.getNconocimientoid());
                        int lastversion;
                        if (lastHistorial != null) {
                            lastversion = lastHistorial.getNnumversion().intValue();
                        } else {
                            lastversion = 0;
                        }
                        String newpath = "";
                        if (conocimiento.getNtipoconocimientoid().equals(Constante.BASELEGAL)) {
                            newpath = "bl/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.BUENAPRACTICA)) {
                            newpath = "bp/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.CONTENIDO)) {
                            newpath = "ct/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.OPORTUNIDADMEJORA)) {
                            newpath = "om/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.PREGUNTAS)) {
                            newpath = "pr/";
                        } else if (conocimiento.getNtipoconocimientoid().equals(Constante.WIKI)) {
                            newpath = "wk/";
                        }

                        String url = newpath.concat(conocimiento.getNconocimientoid().toString()).concat("/")
                                .concat(Integer.toString(lastversion + 1)).concat("/");

                        ThistorialId thistorialId = new ThistorialId();
                        thistorialId.setNconocimientoid(conocimiento.getNconocimientoid());
                        thistorialId.setNhistorialid(historialService.getNextPK());
                        Historial historial = new Historial();
                        historial.setId(thistorialId);
                        historial.setNtipoconocimientoid(conocimiento.getNtipoconocimientoid());
                        historial.setNcategoriaid(conocimiento.getNcategoriaid());
                        historial.setVtitulo(conocimiento.getVtitulo());
                        historial.setNactivo(BigDecimal.ONE);
                        historial.setNsituacionid(conocimiento.getNsituacionid());
                        historial.setVruta(url);
                        historial.setNnumversion(BigDecimal.valueOf(lastversion + 1));
                        historial.setDfechacreacion(new Date());
                        historial.setVusuariocreacion(user.getVlogin());
                        historialService.saveOrUpdate(historial);

                        GcmFileUtils.writeStringToFileServer(url, "html.txt", descripcionHtml);
                        GcmFileUtils.writeStringToFileServer(url, "plain.txt", descripcionPlain);

                        SeccionService seccionService = (SeccionService) ServiceFinder
                                .findBean("SeccionService");
                        SeccionHistService seccionHistService = (SeccionHistService) ServiceFinder
                                .findBean("SeccionHistService");
                        List<Seccion> listaSeccion = seccionService
                                .getSeccionesByConocimiento(conocimiento.getNconocimientoid());
                        if (!CollectionUtils.isEmpty(listaSeccion)) {
                            String url0 = conocimiento.getVruta().concat("s");
                            String url1 = url.concat("s");
                            for (Seccion seccion : listaSeccion) {
                                seccion.setDetalleHtml(
                                        GcmFileUtils.readStringFromFileServer(seccion.getVruta(), "html.txt"));
                                ruta0 = url0.concat(seccion.getNorden().toString()).concat("/");
                                seccion.setVruta(ruta0);
                                seccion.setDfechamodificacion(new Date());
                                seccion.setVusuariomodificacion(user.getVlogin());
                                seccionService.saveOrUpdate(seccion);

                                seccion.setDetallePlain(Jsoup.parse(seccion.getDetalleHtml()).text());

                                ruta1 = url1.concat(seccion.getNorden().toString()).concat("/");
                                TseccionHistId tseccionHistId = new TseccionHistId();
                                tseccionHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                                tseccionHistId.setNhistorialid(thistorialId.getNhistorialid());
                                tseccionHistId.setNseccionhid(seccionHistService.getNextPK());
                                SeccionHist seccionHist = new SeccionHist();
                                seccionHist.setId(tseccionHistId);
                                seccionHist.setNorden(seccion.getNorden());
                                seccionHist.setVruta(ruta1);
                                seccionHist.setVtitulo(seccion.getVtitulo());
                                seccionHist.setVusuariocreacion(user.getVlogin());
                                seccionHist.setDfechacreacion(new Date());
                                seccionHistService.saveOrUpdate(seccionHist);

                                GcmFileUtils.writeStringToFileServer(ruta1, "html.txt",
                                        seccion.getDetalleHtml());
                                GcmFileUtils.writeStringToFileServer(ruta1, "plain.txt",
                                        seccion.getDetallePlain());
                            }
                        }

                        VinculoService vinculoService = (VinculoService) ServiceFinder
                                .findBean("VinculoService");
                        Vinculo vinculoC = new Vinculo();
                        vinculoC.setNvinculoid(vinculoService.getNextPK());
                        vinculoC.setNconocimientoid(conocimiento.getNconocimientoid());
                        vinculoC.setNconocimientovinc(tbaselegal.getNbaselegalid());
                        vinculoC.setNtipoconocimientovinc(Constante.BASELEGAL);
                        vinculoC.setDfechacreacion(new Date());
                        vinculoC.setVusuariocreacion(user.getVlogin());
                        vinculoService.saveOrUpdate(vinculoC);

                        List<Vinculo> vinculos = vinculoService
                                .getVinculosByConocimiento(conocimiento.getNtipoconocimientoid());
                        VinculoHistService vinculoHistService = (VinculoHistService) ServiceFinder
                                .findBean("VinculoHistService");
                        for (Vinculo vinc : vinculos) {
                            TvinculoHistId vinculoHistId = new TvinculoHistId();
                            vinculoHistId.setNvinculohid(vinculoHistService.getNextPK());
                            vinculoHistId.setNconocimientoid(thistorialId.getNconocimientoid());
                            vinculoHistId.setNhistorialid(thistorialId.getNhistorialid());
                            VinculoHist vinculoHist = new VinculoHist();
                            vinculoHist.setId(vinculoHistId);
                            vinculoHist.setNconocimientovinc(vinc.getNconocimientovinc());
                            vinculoHist.setDfechacreacion(new Date());
                            vinculoHist.setVusuariocreacion(user.getVlogin());
                            vinculoHistService.saveOrUpdate(vinculoHist);
                        }
                    }
                }
            } else if (v.getNbaselegalid().toString().equals(Constante.ESTADO_BASELEGAL_DEROGADA)) {
                ConocimientoService cservice = (ConocimientoService) ServiceFinder
                        .findBean("ConocimientoService");
                List<Consulta> listaConocimientos = cservice
                        .getConcimientosByVinculoBaseLegalId(blvinculada.getNbaselegalid());
                if (!CollectionUtils.isEmpty(listaConocimientos)) {
                    for (Consulta c : listaConocimientos) {
                        Conocimiento conocimiento = cservice.getConocimientoById(c.getIdconocimiento());
                        conocimiento.setNflgvinculo(BigDecimal.ONE);
                        conocimiento.setDfechamodificacion(new Date());
                        conocimiento.setVusuariomodificacion(user.getVlogin());
                    }
                }
            }

            VinculoBaselegalHistorialService vserviceHist = (VinculoBaselegalHistorialService) ServiceFinder
                    .findBean("VinculoBaselegalHistorialService");
            VinculoBaselegalHist vinculoHist = new VinculoBaselegalHist();
            vinculoHist.setNvinculohistid(vserviceHist.getNextPK());
            vinculoHist.setNhistorialid(baseHist.getNhistorialid());
            vinculoHist.setNbaselegalid(baseHist.getNbaselegalid());
            vinculoHist.setNbaselegalvinculadaid(v.getNbaselegalid());
            vinculoHist.setNtipovinculo(v.getNestadoid());
            vinculoHist.setDfechacreacion(new Date());
            vinculoHist.setVusuariocreacion(user.getVlogin());
            vserviceHist.saveOrUpdate(vinculoHist);
        }

        List<Asignacion> listaAsignacion = service.obtenerBaseLegalxAsig(
                this.getSelectedBaseLegal().getNbaselegalid(), user.getNusuarioid(), Constante.BASELEGAL);
        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(listaAsignacion)) {
            Asignacion asignacion = listaAsignacion.get(0);
            asignacion.setNestadoid(BigDecimal.valueOf(Long.parseLong("2")));
            if (asignacion.getDfecharecepcion() == null) {
                asignacion.setDfecharecepcion(new Date());
            }
            asignacion.setDfechaatencion(new Date());
            asignacion.setNaccionid(BigDecimal.valueOf(Long.parseLong("8")));
            AsignacionService asignacionService = (AsignacionService) ServiceFinder
                    .findBean("AsignacionService");
            asignacionService.saveOrUpdate(asignacion);
        }

        this.setListaBaseLegal(service.getBaselegales());
        for (BaseLegal bl : this.getListaBaseLegal()) {
            bl.setArchivo(aservice.getArchivoByBaseLegal(bl));
        }
        FacesContext.getCurrentInstance().getExternalContext().redirect("/gescon/pages/baselegal/lista.xhtml");
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
}