/demos/helloorm/src/com/google/appengine/demos/helloorm/UpdateFlight.java
http://datanucleus-appengine.googlecode.com/ · Java · 66 lines · 53 code · 9 blank · 4 comment · 9 complexity · 8dda36d88136d0ba3214c08c07f0ffa8 MD5 · raw file
- // Copyright 2008 Google Inc. All Rights Reserved.
- package com.google.appengine.demos.helloorm;
- import java.io.IOException;
- import javax.jdo.PersistenceManager;
- import javax.persistence.EntityManager;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * @author Max Ross <maxr@google.com>
- */
- public class UpdateFlight extends HttpServlet {
- @Override
- public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- String key = req.getParameter("key");
- String orig = req.getParameter("orig");
- String dest = req.getParameter("dest");
- if (key == null) {
- resp.getWriter().println("No key provided.");
- return;
- }
- if (orig == null) {
- resp.getWriter().println("No origin provided.");
- return;
- }
- if (dest == null) {
- resp.getWriter().println("No destination provided.");
- return;
- }
- if (PersistenceStandard.get() == PersistenceStandard.JPA) {
- doPostJPA(Long.valueOf(key), orig, dest);
- } else {
- doPostJDO(Long.valueOf(key), orig, dest);
- }
- resp.sendRedirect("/");
- }
- private void doPostJDO(long key, String orig, String dest) {
- PersistenceManager pm = PMF.get().getPersistenceManager();
- try {
- Flight f = pm.getObjectById(Flight.class, key);
- f.setOrig(orig);
- f.setDest(dest);
- } finally {
- pm.close();
- }
- }
- private void doPostJPA(long key, String orig, String dest) {
- EntityManager em = EMF.get().createEntityManager();
- try {
- Flight f = em.find(Flight.class, key);
- f.setOrig(orig);
- f.setDest(dest);
- } finally {
- em.close();
- }
- }
- }