[jboss-cvs] jboss-seam/examples/spring/src/org/jboss/seam/example/spring ...
Michael Youngstrom
youngm at gmail.com
Wed Mar 28 18:46:50 EDT 2007
User: myoungstrom
Date: 07/03/28 18:46:50
Modified: examples/spring/src/org/jboss/seam/example/spring
UserService.java LoginAction.java
RegisterAction.java BookingService.java
ChangePasswordAction.java
Log:
Initial Commit for JBSEAM-991
Revision Changes Path
1.5 +68 -70 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.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- UserService.java 21 Feb 2007 17:23:34 -0000 1.4
+++ UserService.java 28 Mar 2007 22:46:50 -0000 1.5
@@ -1,18 +1,20 @@
-/**
- *
- */
package org.jboss.seam.example.spring;
import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceException;
+import org.springframework.transaction.annotation.Transactional;
+
/**
- * @author youngm
+ * @author Mike Youngstrom
*
*/
public class UserService {
+ @PersistenceContext
private EntityManager entityManager;
+ @Transactional
public boolean changePassword(String username, String oldPassword, String newPassword) {
System.out.println("change password " + oldPassword + " to " + newPassword);
if (newPassword == null || newPassword.length()==0) {
@@ -29,6 +31,7 @@
}
}
+ @Transactional
public User findUser(String username) {
if (username == null || "".equals(username)) {
throw new IllegalArgumentException("Username cannot be null");
@@ -36,6 +39,7 @@
return entityManager.find(User.class, username);
}
+ @Transactional
public User findUser(String username, String password) {
try {
return (User)
@@ -48,6 +52,7 @@
}
}
+ @Transactional
public void createUser(User user) throws ValidationException {
if (user == null) {
throw new IllegalArgumentException("User cannot be null");
@@ -60,11 +65,4 @@
entityManager.persist(user);
}
-
- /**
- * @param session the session to set
- */
- public void setEntityManager(EntityManager entityManager) {
- this.entityManager = entityManager;
- }
}
1.3 +58 -58 jboss-seam/examples/spring/src/org/jboss/seam/example/spring/LoginAction.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: LoginAction.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/spring/src/org/jboss/seam/example/spring/LoginAction.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- LoginAction.java 21 Feb 2007 14:37:49 -0000 1.2
+++ LoginAction.java 28 Mar 2007 22:46:50 -0000 1.3
@@ -1,4 +1,4 @@
-//$Id: LoginAction.java,v 1.2 2007/02/21 14:37:49 nrichards Exp $
+//$Id: LoginAction.java,v 1.3 2007/03/28 22:46:50 myoungstrom Exp $
package org.jboss.seam.example.spring;
import org.jboss.seam.ScopeType;
@@ -19,7 +19,7 @@
@Out(required = false)
private User user;
- @In(create=true)
+ @In("#{userService}")
private UserService userService;
@In
1.4 +2 -2 jboss-seam/examples/spring/src/org/jboss/seam/example/spring/RegisterAction.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: RegisterAction.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/spring/src/org/jboss/seam/example/spring/RegisterAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- RegisterAction.java 20 Mar 2007 16:11:36 -0000 1.3
+++ RegisterAction.java 28 Mar 2007 22:46:50 -0000 1.4
@@ -1,4 +1,4 @@
-//$Id: RegisterAction.java,v 1.3 2007/03/20 16:11:36 myoungstrom Exp $
+//$Id: RegisterAction.java,v 1.4 2007/03/28 22:46:50 myoungstrom Exp $
package org.jboss.seam.example.spring;
import static org.jboss.seam.ScopeType.EVENT;
@@ -16,7 +16,7 @@
@In
private User user;
- @In
+ @In("#{userService}")
private UserService userService;
@In
1.8 +28 -9 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.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- BookingService.java 20 Mar 2007 21:33:03 -0000 1.7
+++ BookingService.java 28 Mar 2007 22:46:50 -0000 1.8
@@ -5,35 +5,46 @@
import java.util.Collections;
import java.util.List;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceException;
+
+import org.springframework.orm.jpa.JpaCallback;
import org.springframework.orm.jpa.support.JpaDaoSupport;
+import org.springframework.transaction.annotation.Transactional;
/**
* Example of using the JpaDaoSupport.
*
- * @author youngm
+ * @author Mike Youngstrom
*/
public class BookingService
extends JpaDaoSupport
{
@SuppressWarnings("unchecked")
- public List<Hotel> findHotels(String searchPattern, int firstResult, int maxResults) {
- return getJpaTemplate().getEntityManager()
- .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")
+ @Transactional
+ public List<Hotel> findHotels(final String searchPattern, final int firstResult, final int maxResults) {
+ return getJpaTemplate().executeFind(new JpaCallback() {
+ public Object doInJpa(EntityManager em) throws PersistenceException {
+ return em.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)
.getResultList();
}
+ });
+ }
@SuppressWarnings("unchecked")
+ @Transactional
public List<Booking> findBookingsByUsername(String username) {
return getJpaTemplate().findByNamedParams("select b from Booking b where b.user.username = :username order by b.checkinDate",
Collections.singletonMap("username", username));
}
+ @Transactional
public void cancelBooking(Long bookingId) {
if (bookingId == null) {
throw new IllegalArgumentException("BookingId cannot be null");
@@ -60,6 +71,7 @@
+ @Transactional
public void bookHotel(Booking booking)
throws ValidationException
{
@@ -69,10 +81,17 @@
getJpaTemplate().flush();
}
+ @Transactional
public void testNonWebRequest() {
- System.out.print("Yup. successfully called the method");
+ List<Hotel> hotels = findHotels("%", 0, 1);
+ if(!hotels.isEmpty()) {
+ System.out.println("Asynchronously found hotel: "+hotels.get(0).getName());
+ return;
+ }
+ System.out.println("No Hotels Found.");
}
+ @Transactional
public Hotel findHotelById(Long hotelId) {
if (hotelId == null) {
throw new IllegalArgumentException("hotelId cannot be null");
1.3 +52 -52 jboss-seam/examples/spring/src/org/jboss/seam/example/spring/ChangePasswordAction.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ChangePasswordAction.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/spring/src/org/jboss/seam/example/spring/ChangePasswordAction.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ChangePasswordAction.java 21 Feb 2007 14:37:49 -0000 1.2
+++ ChangePasswordAction.java 28 Mar 2007 22:46:50 -0000 1.3
@@ -16,7 +16,7 @@
@In @Out
private User user;
- @In(create=true)
+ @In("#{userService}")
private UserService userService;
private String verify;
More information about the jboss-cvs-commits
mailing list