[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