[jboss-cvs] jboss-seam/examples/spring/src/org/jboss/seam/example/spring ...

Norman Richards norman.richards at jboss.com
Tue Feb 20 17:14:18 EST 2007


  User: nrichards
  Date: 07/02/20 17:14:18

  Modified:    examples/spring/src/org/jboss/seam/example/spring  
                        BookingService.java UserService.java
  Log:
  switch from hibernate to jpa
  
  Revision  Changes    Path
  1.4       +15 -16    jboss-seam/examples/spring/src/org/jboss/seam/example/spring/BookingService.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: BookingService.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/spring/src/org/jboss/seam/example/spring/BookingService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- BookingService.java	20 Feb 2007 06:16:27 -0000	1.3
  +++ BookingService.java	20 Feb 2007 22:14:18 -0000	1.4
  @@ -1,11 +1,10 @@
  -/**
  - *
  - */
   package org.jboss.seam.example.spring;
   
   import java.util.Calendar;
   import java.util.List;
   
  +import javax.persistence.EntityManager;
  +
   import org.hibernate.Session;
   
   /**
  @@ -13,30 +12,30 @@
    *
    */
   public class BookingService {
  -	private Session session;
  +	private EntityManager entityManager;
   
   	@SuppressWarnings("unchecked")
       public List<Hotel> findHotels(String searchPattern, int firstResult, int maxResults) {        
  -        return session.createQuery("select h from Hotel h where lower(h.name) like :search or lower(h.city) like :search or lower(h.zip) like :search or lower(h.address) like :search")
  +        return entityManager.createQuery("select h from Hotel h where lower(h.name) like :search or lower(h.city) like :search or lower(h.zip) like :search or lower(h.address) like :search")
   	            .setParameter("search", searchPattern)
   	            .setMaxResults(maxResults)
   	            .setFirstResult( firstResult )
  -	            .list();
  +	            .getResultList();
   	}
   
   	@SuppressWarnings("unchecked")
       public List<Booking> findBookingsByUsername(String username) {
  -		return session.createQuery("select b from Booking b where b.user.username = :username order by b.checkinDate")
  -				.setParameter("username", username).list();
  +		return entityManager.createQuery("select b from Booking b where b.user.username = :username order by b.checkinDate")
  +                            .setParameter("username", username).getResultList();
   	}
   
   	public void cancelBooking(Long bookingId) {
   		if (bookingId == null) {
   			throw new IllegalArgumentException("BookingId cannot be null");
   		}
  -		Booking cancelled = (Booking) session.get(Booking.class, bookingId);
  +		Booking cancelled = (Booking) entityManager.find(Booking.class, bookingId);
   		if (cancelled != null) {
  -			session.delete(cancelled);
  +			entityManager.remove(cancelled);
   		}
   	}
   
  @@ -56,21 +55,21 @@
           throws ValidationException 
       {        
   		validateBooking(booking);
  -		session.persist(booking);
  -        session.flush(); 
  +		entityManager.persist(booking);
  +        entityManager.flush(); 
   	}
   
   	public Hotel findHotelById(Long hotelId) {
   		if (hotelId == null) {
   			throw new IllegalArgumentException("hotelId cannot be null");
   		}
  -		return (Hotel) session.get(Hotel.class, hotelId);
  +		return (Hotel) entityManager.find(Hotel.class, hotelId);
   	}
   
   	/**
  -	 * @param session the session to set
  +	 * @param entityManager the entity manager
   	 */
  -	public void setSession(Session session) {
  -		this.session = session;
  +	public void setEntityManager(EntityManager entityManager) {
  +		this.entityManager = entityManager;
   	}
   }
  
  
  
  1.2       +32 -30    jboss-seam/examples/spring/src/org/jboss/seam/example/spring/UserService.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UserService.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/spring/src/org/jboss/seam/example/spring/UserService.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- UserService.java	19 Feb 2007 21:53:50 -0000	1.1
  +++ UserService.java	20 Feb 2007 22:14:18 -0000	1.2
  @@ -3,22 +3,21 @@
    */
   package org.jboss.seam.example.spring;
   
  -import java.util.List;
  -
  -import org.hibernate.Session;
  -import org.jboss.seam.core.FacesMessages;
  +import javax.persistence.EntityManager;
  +import javax.persistence.PersistenceException;
   
   /**
    * @author youngm
    *
    */
   public class UserService {
  -	private Session session;
  +    private EntityManager entityManager;
   
   	public boolean changePassword(String username, String oldPassword, String newPassword) {
   		if (newPassword == null || "".equals(newPassword)) {
   			throw new IllegalArgumentException("newPassword cannot be null.");
   		}
  +        
   		User user = findUser(username);
   		if (user.getPassword().equals(oldPassword)) {
   			user.setPassword(newPassword);
  @@ -32,35 +31,38 @@
   		if (username == null || "".equals(username)) {
   			throw new IllegalArgumentException("Username cannot be null");
   		}
  -		return (User) session.get(User.class, username);
  +		return (User) entityManager.find(User.class, username);
   	}
   
   	public User findUser(String username, String password) {
  -		List<User> results = session.createQuery(
  -				"select u from User u where u.username=:username and u.password=:password").setParameter("username",
  -				username).setParameter("password", password).list();
  -		if (results.size() == 0) {
  +        try {
  +	    return (User) 
  +            entityManager.createQuery("select u from User u where u.username=:username and u.password=:password")
  +                         .setParameter("username", username)
  +                         .setParameter("password", password)
  +                         .getSingleResult();
  +        } catch (PersistenceException e) {
   			return null;
  -		} else {
  -			return results.get(0);
   		}
   	}
   
   	public void createUser(User user) throws ValidationException {
  -		if(user == null) {
  +        if (user == null) {
   			throw new IllegalArgumentException("User cannot be null");
   		}
  +
   		User existingUser = findUser(user.getUsername());
  -		if(existingUser != null) {
  +        if (existingUser != null) {
   			throw new ValidationException("Username "+user.getUsername()+" already exists");
   		}
  -		session.persist(user);
  +        
  +        entityManager.persist(user);
   	}
   
   	/**
   	 * @param session the session to set
   	 */
  -	public void setSession(Session session) {
  -		this.session = session;
  +	public void setEntityManager(EntityManager entityManager) {
  +		this.entityManager = entityManager;
   	}
   }
  
  
  



More information about the jboss-cvs-commits mailing list