Changeset 3604
- Timestamp:
- 07/02/08 16:29:46 (4 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/java/org/sarugo/restlet/jpa/TransactionFilter.java
r3602 r3604 6 6 import javax.persistence.EntityTransaction; 7 7 8 import org.restlet. Restlet;8 import org.restlet.Filter; 9 9 import org.restlet.data.Request; 10 10 import org.restlet.data.Response; … … 12 12 13 13 /** 14 * Handle a requestto an {@link EntityRouter} by:14 * Provides transation services to an {@link EntityRouter} by: 15 15 * <ol> 16 16 * <li>Creating an {@link EntityManager} and beginning a transaction.</li> 17 * <li>Sending the request to the {@link EntityRouter}, which matches the18 * request URL against its list.</li>17 * <li>Sending the request to the {@link #getNext() next} restlet (by default 18 * the {@link EntityRouter}).</li> 19 19 * <li>Commiting (or rolling-back) the transaction and clearing the 20 20 * {@link EntityManager}.</li> 21 21 * </ol> 22 22 */ 23 public class TransactionFilter extends Restlet{23 public class TransactionFilter extends Filter { 24 24 25 25 private EntityRouter router; … … 28 28 super(router.getContext()); 29 29 this.router = router; 30 setNext(router); 30 31 } 31 32 32 33 @Override 33 public void handle(Request request, Response response) {34 public void doHandle(Request request, Response response) { 34 35 EntityTransaction t = router.getEntityManager().getTransaction(); 35 36 t.begin(); 36 37 try { 37 router.handle(request, response);38 super.doHandle(request, response); 38 39 if (t.isActive() && !t.getRollbackOnly()) { 39 40 router.getEntityManager().flush();
