com.dominion.salud.mpr.negocio.service.admin.impl.UsuariosServiceImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.dominion.salud.mpr.negocio.service.admin.impl.UsuariosServiceImpl.java

Source

/*
 * Copyright (C) 2016 Dominion Global
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * 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
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.dominion.salud.mpr.negocio.service.admin.impl;

import com.dominion.salud.mpr.negocio.entities.admin.Usuarios;
import com.dominion.salud.mpr.negocio.repositories.admin.UsuariosRepository;
import com.dominion.salud.mpr.negocio.service.admin.UsuariosService;
import com.dominion.salud.mpr.negocio.service.exception.UsuarioIncorrectoException;
import java.util.Iterator;
import java.util.List;
import javax.persistence.NoResultException;
import javax.servlet.http.HttpSession;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 *
 * @author jcgonzalez
 */
@Service("usuariosService")
public class UsuariosServiceImpl extends AbstractAdminServiceImpl<Usuarios, Long> implements UsuariosService {

    @Autowired
    private UsuariosRepository usuariosRepository;

    @Autowired(required = false)
    private HttpSession session;

    /**
     * Valida los datos de un usuario
     * 
     * @param usuarios para validar
     * @return los datos del usuario validado
     * @throws UsuarioIncorrectoException si la validacion no es correctaF
     */
    @Override
    public Usuarios validar(Usuarios usuarios) throws UsuarioIncorrectoException {
        try {
            usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
            usuarios = usuariosRepository.validar(usuarios);

            if (session != null) {
                session.setAttribute("mpr.usuario", usuarios);
            }
            return usuarios;
        } catch (NoResultException e) {
            throw new UsuarioIncorrectoException(e);
        }
    }

    @Override
    public <S extends Usuarios> List<S> save(Iterable<S> usuarioss) {
        Iterator<S> iterador = usuarioss.iterator();
        while (iterador.hasNext()) {
            Usuarios usuarios = iterador.next();
            if (usuarios.getIdUsuario() != null && usuariosRepository.exists(usuarios.getIdUsuario())) {
                Usuarios existe = findOne(usuarios.getIdUsuario());
                if (!StringUtils.equals(existe.getTxtPassword(), usuarios.getTxtPassword())) {
                    usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
                }
            } else {
                usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
            }
        }
        return usuariosRepository.save(usuarioss);
    }

    @Override
    public Usuarios save(Usuarios usuarios) {
        if (usuarios.getIdUsuario() != null && usuariosRepository.exists(usuarios.getIdUsuario())) {
            Usuarios existe = findOne(usuarios.getIdUsuario());
            if (!StringUtils.equals(existe.getTxtPassword(), usuarios.getTxtPassword())) {
                usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
            }
        } else {
            usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
        }
        return usuariosRepository.saveAndFlush(usuarios);
    }

    @Override
    public Usuarios saveAndFlush(Usuarios usuarios) {
        if (usuarios.getIdUsuario() != null && usuariosRepository.exists(usuarios.getIdUsuario())) {
            Usuarios existe = findOne(usuarios.getIdUsuario());
            if (!StringUtils.equals(existe.getTxtPassword(), usuarios.getTxtPassword())) {
                usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
            }
        } else {
            usuarios.setTxtPassword(DigestUtils.md5Hex(usuarios.getTxtPassword()));
        }
        return usuariosRepository.saveAndFlush(usuarios);
    }
}