Index: chrome_release_test_status/src/dashboard/MacTestStatusServlet.java |
=================================================================== |
--- chrome_release_test_status/src/dashboard/MacTestStatusServlet.java (revision 0) |
+++ chrome_release_test_status/src/dashboard/MacTestStatusServlet.java (revision 0) |
@@ -0,0 +1,120 @@ |
+package mydemo; |
+ |
+import java.io.IOException; |
+import java.util.Date; |
+import java.util.List; |
+import java.util.logging.Logger; |
+import javax.jdo.PersistenceManager; |
+import javax.servlet.http.*; |
+import com.google.appengine.api.users.User; |
+import com.google.appengine.api.users.UserService; |
+import com.google.appengine.api.users.UserServiceFactory; |
+ |
+import mydemo.MacTestStatus; |
+import mydemo.RegisterFeature; |
+import mydemo.PMF; |
+ |
+public class MacTestStatusServlet extends HttpServlet { |
+ private static final Logger log = Logger.getLogger(MacTestStatusServlet.class.getName()); |
+ |
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) |
+ throws IOException { |
+ UserService userService = UserServiceFactory.getUserService(); |
+ User user = userService.getCurrentUser(); |
+ Date date = new Date(); |
+ |
+ String[] feature_name = req.getParameterValues("feature_name"); |
+ String build_number = req.getParameter("build_number"); |
+ String buildn = req.getParameter("buildn"); |
+ String[] test_status_lp = req.getParameterValues("test_status_lp"); |
+ String[] test_status_slp = req.getParameterValues("test_status_slp"); |
+ String test_type_lp = req.getParameter("test_type_lp"); |
+ String test_type_slp = req.getParameter("test_type_slp"); |
+ String user_name = req.getParameter("user_name"); |
+ String[] notes = req.getParameterValues("notes"); |
+ String is_update = req.getParameter("update"); |
+ BuildInfo build_info = new BuildInfo(build_number, date); |
+ PersistenceManager build_pm = PMF.get().getPersistenceManager(); |
+ |
+ boolean found = false; |
+ try { |
+ if (build_number!=null) { |
+ PersistenceManager pm1 = PMF.get().getPersistenceManager(); |
+ String query1 = "select from " + BuildInfo.class.getName(); |
+ List<BuildInfo> build_val = (List<BuildInfo>) pm1.newQuery(query1).execute(); |
+ |
+ for (BuildInfo build_value : build_val) { |
+ String str_build = build_value.getBuildNumber(); |
+ if ((str_build!=null) && (str_build.equals(build_number))) { |
+ found = true; |
+ break; |
+ } |
+ } |
+ if (!found){ |
+ build_pm.makePersistent(build_info); |
+ } |
+ } |
+ } finally { |
+ build_pm.close(); |
+ } |
+ if (!(build_number !=null)) { |
+ build_number = buildn; |
+ } |
+ if (is_update !=null) |
+ { |
+ build_number = is_update; |
+ } |
+ if (build_number!=null) { |
+ for (int j=0; j<feature_name.length; j++) { |
+ String lp_tester = ""; |
+ String slp_tester = ""; |
+ if (test_type_lp.equals("Leopard")) { |
+ test_status_lp[j] = "Not Started"; |
+ } else{ |
+ if (!test_status_lp[j].equals("Not Started")) |
+ lp_tester= user_name; |
+ } |
+ if (test_type_slp.equals("SnowLeopard")) { |
+ test_status_slp[j] = "Not Started"; |
+ } else{ |
+ if (!test_status_slp[j].equals("Not Started")) |
+ slp_tester= user_name; |
+ } |
+ |
+ PersistenceManager pm_update = PMF.get().getPersistenceManager(); |
+ String query = "select from " + MacTestStatus.class.getName() + " where build_number=='" + build_number +"' && feature_name=='" + feature_name[j]+ "'" ; |
+ List<MacTestStatus> mac_status = (List<MacTestStatus>) pm_update.newQuery(query).execute(); |
+ if (mac_status.size() > 0 ) |
+ { |
+ for (MacTestStatus m_status : mac_status) { |
+ m_status.setFeatureName(feature_name[j]); |
+ m_status.setStatusLP(test_status_lp[j]); |
+ m_status.setStatusSLP(test_status_slp[j]); |
+ m_status.setTestTypeLP(test_type_lp); |
+ m_status.setTestTypeSLP(test_type_slp); |
+ m_status.setNotes(notes[j]); |
+ m_status.setLPTester(lp_tester); |
+ m_status.setSLPTester(slp_tester ); |
+ try { |
+ pm_update.makePersistent(m_status); |
+ } finally { |
+ pm_update.close(); |
+ } |
+ } |
+ } |
+ else { |
+ MacTestStatus submit_status = new MacTestStatus(feature_name[j], test_status_lp[j], test_status_slp[j], build_number, |
+ test_type_lp, test_type_slp, notes[j], lp_tester, slp_tester, date); |
+ PersistenceManager pm = PMF.get().getPersistenceManager(); |
+ try { |
+ pm.makePersistent(submit_status); |
+ } finally { |
+ pm.close(); |
+ } |
+ } |
+ } |
+ } |
+ resp.sendRedirect("/SubmitStatus-Mac.jsp"); |
+ } |
+ |
+} |