Guest User

UserIdentifiesRepository

a guest
Feb 10th, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. package es.cenobit.domain.useridentifies;
  2.  
  3. import java.math.BigDecimal;
  4. import java.util.Date;
  5.  
  6. import org.apache.commons.lang.StringUtils;
  7. import org.apache.commons.logging.Log;
  8. import org.apache.commons.logging.LogFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Repository;
  11. import org.springframework.transaction.annotation.Transactional;
  12.  
  13. import es.cenobit.baserepository.BaseRepositories;
  14. import es.cenobit.domain.dbcurrentsessionid.DBCurrentSessionIds;
  15.  
  16. @Repository
  17. @Transactional(readOnly = true)
  18. public class UserIdentifiesRepository implements UserIdentifieses {
  19.  
  20.     private Log log = LogFactory.getLog(UserIdentifiesRepository.class);
  21.  
  22.     @Autowired
  23.     private BaseRepositories baseRepository;
  24.  
  25.     @Autowired
  26.     private DBCurrentSessionIds dbCurrentSessionIdRepository;
  27.  
  28.     public UserIdentifiesRepository() {
  29.     }
  30.  
  31.     /*
  32.      * (non-Javadoc)
  33.      *
  34.      * @see
  35.      * es.cenobit.domain.useridentifies.UserIdentifieses#save
  36.      * (java.lang.String)
  37.      */
  38.     @Override
  39.     @Transactional(readOnly = false)
  40.     public void save(final String userName) {
  41.         if (userName == null || StringUtils.isEmpty(userName)) {
  42.             throw new IllegalArgumentException("O nome do usuário não pode ser nulo");
  43.         }
  44.  
  45.         final BigDecimal pid = this.dbCurrentSessionIdRepository.pid();
  46.         UserIdentifies userIdentifies = this.baseRepository.findById(UserIdentifies.class, pid);
  47.  
  48.         // http://www.stevideter.com/2008/12/07/saveorupdate-versus-merge-in-hibernate/
  49.         // http://www.hibernate-training-guide.com/merge.html
  50.         if (userIdentifies == null) {
  51.             userIdentifies = new UserIdentifies();
  52.             userIdentifies.setId(pid);
  53.             userIdentifies.setUserName(userName);
  54.             userIdentifies.setDateBegin(new Date());
  55.             this.baseRepository.getSession().save(userIdentifies);
  56.         } else {
  57.             userIdentifies.setId(pid);
  58.             userIdentifies.setUserName(userName);
  59.             userIdentifies.setDateBegin(new Date());
  60.             this.baseRepository.getSession().merge(userIdentifies);
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment