PageRenderTime 40ms CodeModel.GetById 36ms RepoModel.GetById 0ms app.codeStats 0ms

/demos/helloorm/src/com/google/appengine/demos/helloorm/DeleteFlight.java

http://datanucleus-appengine.googlecode.com/
Java | 53 lines | 42 code | 7 blank | 4 comment | 6 complexity | b500fe5abdc69282863d0e88986fc063 MD5 | raw file
Possible License(s): Apache-2.0
  1. // Copyright 2008 Google Inc. All Rights Reserved.
  2. package com.google.appengine.demos.helloorm;
  3. import java.io.IOException;
  4. import javax.jdo.PersistenceManager;
  5. import javax.persistence.EntityManager;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. /**
  10. * @author Max Ross <maxr@google.com>
  11. */
  12. public class DeleteFlight extends HttpServlet {
  13. public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
  14. String key = req.getParameter("key");
  15. if (key == null) {
  16. resp.getWriter().println("No key provided.");
  17. }
  18. if (PersistenceStandard.get() == PersistenceStandard.JPA) {
  19. doPostJPA(Long.valueOf(key));
  20. } else {
  21. doPostJDO(Long.valueOf(key));
  22. }
  23. resp.sendRedirect("/");
  24. }
  25. private void doPostJDO(long key) {
  26. PersistenceManager pm = PMF.get().getPersistenceManager();
  27. try {
  28. Flight f = pm.getObjectById(Flight.class, key);
  29. pm.deletePersistent(f);
  30. } finally {
  31. if (pm.currentTransaction().isActive()) {
  32. pm.currentTransaction().rollback();
  33. }
  34. pm.close();
  35. }
  36. }
  37. private void doPostJPA(long key) {
  38. EntityManager em = EMF.get().createEntityManager();
  39. try {
  40. Flight f = em.find(Flight.class, key);
  41. em.remove(f);
  42. } finally {
  43. em.close();
  44. }
  45. }
  46. }