diff options
| author | Kamal Wickramanayake <kamal@inbox.lk> | 2026-04-25 21:53:33 +0530 |
|---|---|---|
| committer | Kamal Wickramanayake <kamal@inbox.lk> | 2026-04-25 21:53:33 +0530 |
| commit | 4afcff940551079617e8f4116e52bb0ef9df7fcc (patch) | |
| tree | cbaed6a2a53c7d032bfafaa38b94e4fc607f3e76 /spring-framework/07-user-jdbc-ds-transaction/src/main/java/com/example/fp/UserManagerImpl.java | |
| parent | 7b08f1155e1cb8bf263c3570eeb119970407a037 (diff) | |
Added Spring Framework sample code
Diffstat (limited to 'spring-framework/07-user-jdbc-ds-transaction/src/main/java/com/example/fp/UserManagerImpl.java')
| -rw-r--r-- | spring-framework/07-user-jdbc-ds-transaction/src/main/java/com/example/fp/UserManagerImpl.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/spring-framework/07-user-jdbc-ds-transaction/src/main/java/com/example/fp/UserManagerImpl.java b/spring-framework/07-user-jdbc-ds-transaction/src/main/java/com/example/fp/UserManagerImpl.java new file mode 100644 index 0000000..ad2a58d --- /dev/null +++ b/spring-framework/07-user-jdbc-ds-transaction/src/main/java/com/example/fp/UserManagerImpl.java @@ -0,0 +1,78 @@ +package com.example.fp; + +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.List; + +import com.example.fp.dao.UserDAO; + +public class UserManagerImpl implements UserManager { + + private UserDAO userDAO; + + public void setUserDAO(UserDAO userDAO) { + this.userDAO = userDAO; + } + + @Override + public void create(User user) { + user.setPassword(calculatePasswordHash(user.getPassword())); + userDAO.create(user); + } + + @Override + public User find(int uid) { + return userDAO.find(uid); + } + + @Override + public List<User> findAll() { + return userDAO.findAll(); + } + + @Override + public void delete(int uid) { + userDAO.delete(uid); + } + + @Override + public void update(User user) { + userDAO.update(user); + } + + @Override + public void setPassword(int uid, String plainTextPassword) { + User user = userDAO.find(uid); + + user.setPassword(calculatePasswordHash(plainTextPassword)); + + userDAO.update(user); + } + + public static String calculatePasswordHash(String plainText) { + + try { + // Static getInstance method is called with hashing MD5 + MessageDigest md = MessageDigest.getInstance("MD5"); + + // digest() method is called to calculate message digest + // of an input digest() return array of byte + byte[] messageDigest = md.digest(plainText.getBytes()); + + // Convert byte array into signum representation + BigInteger no = new BigInteger(1, messageDigest); + + // Convert message digest into hex value + String hashtext = no.toString(16); + while (hashtext.length() < 32) { + hashtext = "0" + hashtext; + } + + return hashtext; + } catch (NoSuchAlgorithmException e) { + // For specifying wrong message digest algorithms + throw new RuntimeException(e); + } + } +}
\ No newline at end of file |
