com.stickyd.services.impl.UserLoginServiceImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.stickyd.services.impl.UserLoginServiceImpl.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.stickyd.services.impl;

import com.stickyd.domain.User.UserLogin;
import com.stickyd.domain.User.Users;
import com.stickyd.repository.user.UserLoginRepository;
import com.stickyd.repository.user.UserRepository;
import com.stickyd.services.UserLoginServices;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;

/**
 *
 * @author darren
 */
public class UserLoginServiceImpl implements UserLoginServices {

    public static ApplicationContext ctx;

    @Autowired
    private UserLoginRepository userLoginRepository;

    @Autowired
    private UserRepository userRepository;

    @Override
    public UserLogin find(Long id) {
        return userLoginRepository.findOne(id);
    }

    @Override
    public UserLogin persist(UserLogin entity) {
        return userLoginRepository.save(entity);
    }

    @Override
    public UserLogin merge(UserLogin entity) {
        if (entity.getId() != null) {
            return userLoginRepository.save(entity);
        }
        return null;
    }

    @Override
    public void remove(UserLogin entity) {
        userLoginRepository.delete(entity);
    }

    @Override
    public List<UserLogin> findAll() {
        return userLoginRepository.findAll();
    }

    //when logging in
    @Override
    public Boolean validateLogin(String uName, String pWord) {
        List<UserLogin> users = userLoginRepository.findAll();
        Boolean check = false;

        for (UserLogin login : users) {
            if (uName.equals(login.getUserID())) {
                String password = md5(pWord);
                if (password.equals(login.getPassword())) {
                    check = true;
                }
            } else {
                check = false;
            }
        }

        return check;
    }

    public static String md5(String s) {
        MessageDigest md5;
        try {
            md5 = MessageDigest.getInstance("MD5");
            md5.update(s.getBytes());
            return new BigInteger(1, md5.digest()).toString(16);
        } catch (NoSuchAlgorithmException e) {
            throw new IllegalStateException(e);
        }
    }

    @Override
    public Boolean newUser(String uName) {
        Boolean check = false;
        List<UserLogin> all = userLoginRepository.findAll();

        for (UserLogin login : all) {
            if (login.getUserID().equals(uName)) {
                check = true;
            }
        }

        return check; // if true, user already exists
    }

    //change password
    @Override
    public void changePassword(String uName, String pWord) {
        userRepository = ctx.getBean(UserRepository.class);
        List<UserLogin> all = userLoginRepository.findAll();
        for (UserLogin user : all) {
            if (user.getUserID().equals(uName)) {

                UserLogin login = new UserLogin.Builder(user.getUserID()).UserLogin(user).password(md5(pWord))
                        .build();

                userLoginRepository.save(login);
            }
        }
    }

}