Advertisement
ballchaichana

uidDAO

Oct 3rd, 2018
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.14 KB | None | 0 0
  1. package th.in.oneauthen.object.DAO;
  2.  
  3. import java.util.List;
  4.  
  5. import org.apache.log4j.Logger;
  6. import org.bouncycastle.util.encoders.Base64;
  7.  
  8. import th.athichitsakul.dao.impl.StandardDAOImpl;
  9. import th.in.oneauthen.object.DocumentDB;
  10. import th.in.oneauthen.object.SignatureProfileDB;
  11. import th.in.oneauthen.object.UserUidDB;
  12. import th.in.oneauthen.util.CryptoUtil;
  13. import th.in.oneauthen.util.SystemLogger;
  14.  
  15. public class UserUidDAO extends StandardDAOImpl<UserUidDB> {
  16.     public static final String SALT = "AccTkn-";
  17.     private Logger logger = SystemLogger.generateSystemLogger(UserUidDAO.class);
  18.    
  19.     /**
  20.      *  Introduce DAO in superclass that this UserDAOImpl going to use MySQL-PU persistance-unit configuration.
  21.      */
  22.     public UserUidDAO() {
  23.         super("esigning");
  24.     }
  25.  
  26.     /**
  27.      * Instead of using method find, that can search any object by their primary key.
  28.      * This method made this UserDAO can be search by username which is an another unique parameter.
  29.      *
  30.      * @param username
  31.      * @return User instance of specify username
  32.      */
  33.     public UserUidDB findUsername(String username) {
  34.         UserUidDB user = null;
  35.         try {
  36.             DAO.begin();
  37.             user = (UserUidDB) DAO.getEntityManager()
  38.                     .createNamedQuery("findByUsername")
  39.                     .setParameter("userName", username).getSingleResult();
  40.         } catch (Exception e) {
  41.             logger.error("Invalid user loading with name "+username , e);
  42.         } finally {
  43.             DAO.close();
  44.         }
  45.         return user;
  46.     }
  47.    
  48.     public static String generateUserAccessToken ( String username ) {
  49.         try {
  50.             String accessToken = Base64.toBase64String(CryptoUtil.encryptData((SALT+username).getBytes()));
  51.             return accessToken;
  52.         }catch (Exception e) {
  53.             e.printStackTrace();
  54.         }
  55.         return null;
  56.     }
  57.    
  58.     public static UserUidDB findUserByAccessToken ( String accessToken ) {
  59. //      int userId = -1;
  60.         try {
  61.             String plainText = new String (CryptoUtil.decryptData(Base64.decode(accessToken)));
  62.             plainText = plainText.replaceAll(SALT, "").trim();
  63. //          userId = Integer.parseInt(plainText);
  64.            
  65.             return new UserUidDAO().findUsername(plainText);
  66.         } catch ( Exception e ) {
  67.             e.printStackTrace();
  68.         }
  69.         return null;
  70.     }
  71.    
  72.    
  73.     public void updateTimeLogin(UserUidDB updateData) {
  74.         DAO.begin();
  75.         try {
  76.             UserUidDB db = DAO.getEntityManager().find(UserUidDB.class, updateData.getUserId());
  77.            
  78.             //== do update ==
  79.             db.setLastLogin(updateData.getLastLogin());
  80.             DAO.getEntityManager().merge(db);
  81.             DAO.getTransaction().commit();
  82.         }catch (Exception e) {
  83.             if (DAO.getTransaction().isActive()) {
  84.                 DAO.getTransaction().rollback();
  85.             }
  86.             logger.error("Update last login failed for "+updateData.getUserName(),e);
  87.         }
  88.        
  89.     }
  90.    
  91.     public List<UserUidDB> findUserLimt100(String type_id , int start ,int end) {
  92.          List<UserUidDB> user = null;
  93.         try {
  94.             DAO.begin();
  95.             user = (List<UserUidDB>) DAO.getEntityManager()
  96.                     .createNamedQuery("findUser100")
  97.                     .setParameter("type", type_id)
  98.                     .setFirstResult(start)
  99.                     .setMaxResults(end)
  100.                     .getResultList();
  101.         } catch (Exception e) {
  102.             logger.error("Invalid user loading with type id = "+type_id , e);
  103.         } finally {
  104.             DAO.close();
  105.         }
  106.         return  user;
  107.     }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement