/** * Creates a Discussion Post * * <p>- Requires a cookie for the session user - Requires a comment and threadId request parameter * for the POST * * @param req The HTTP Request * @param res The HTTP Response */ public void createPostAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<>(); if (req.getMethod() == HttpMethod.Post) { DiscussionManager dm = new DiscussionManager(); HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); // Create the discussion post DiscussionPost post = new DiscussionPost(); post.setUserId(userSession.getUserId()); post.setMessage(req.getParameter("comment")); post.setThreadId(Integer.parseInt(req.getParameter("threadId"))); dm.createPost(post); redirectToLocal(req, res, "/group/discussion/?threadId=" + req.getParameter("threadId")); } else { httpNotFound(req, res); } }
/** * Deletes a meeting from the database * * <p>- Requires a cookie for the session user - Requires a meetingId request parameter for the * HTTP GET * * @param req The HTTP Request * @param res The HTTP Response */ public void deletemeetingAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; if (req.getMethod() == HttpMethod.Get) { // Get the meeting int meetingId = Integer.parseInt(req.getParameter("meetingId")); MeetingManager meetingMan = new MeetingManager(); Meeting meeting = meetingMan.get(meetingId); meetingMan.deleteMeeting(meetingId); // Update the User Session to remove meeting HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); List<Meeting> adminMeetings = userSession.getUser().getMeetings(); for (int i = 0; i < adminMeetings.size(); i++) { Meeting m = adminMeetings.get(i); if (m.getId() == meeting.getId()) { adminMeetings.remove(i); break; } } redirectToLocal(req, res, "/home/dashboard"); return; } else if (req.getMethod() == HttpMethod.Post) { httpNotFound(req, res); } }
/** * @param request The servlet request we are processing * @param result The servlet response we are creating * @param chain The filter chain we are processing * @exception IOException if an input/output error occurs * @exception ServletException if a servlet error occurs */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // once session invalidated, go back to login screen HttpServletRequest req = (HttpServletRequest) request; HttpSession session = req.getSession(); String login = (String) session.getAttribute("login"); if (login != null && login.equals("Y")) { chain.doFilter(request, response); } else { RequestDispatcher rd = request.getRequestDispatcher("/myadmin/logout.jsp"); rd.forward(request, response); } // chain.doFilter(request, response); }
/** * Removes User from the Group * * <p>- Requires a cookie for the session user - Requires a groupId request parameter for the HTTP * GET * * @param req The HTTP Request * @param res The HTTP Response */ public void leaveAction(HttpServletRequest req, HttpServletResponse res) { if (AccountController.redirectIfNoCookie(req, res)) return; if (req.getMethod() == HttpMethod.Get) { int groupId = Integer.parseInt(req.getParameter("groupId")); HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); int userId = userSession.getUser().getId(); GroupManager groupMan = new GroupManager(); groupMan.removeMapping(groupId, userId); // reload groups into the user userSession.getUser().setGroups(groupMan.getAllGroups(userId)); redirectToLocal(req, res, "/home/dashboard"); return; } else { httpNotFound(req, res); } }
/** * Creates a notification to a Group coordinator signaling that a user wants to join their group * * <p>- Requires a groupId request parameter for the GET * * @param req The HTTP Request * @param res The HTTP Response */ public void inviteAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<String, Object>(); int groupId = Integer.parseInt(req.getParameter("groupId")); try { // Get the session user HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User user = userSession.getUser(); // Get the coordinator for the group GroupManager groupMan = new GroupManager(); Group group = groupMan.get(groupId); User coordinator = groupMan.getCoordinator(groupId); // Send a notification to the coordinator for them to permit access to the group NotificationManager notificationMan = new NotificationManager(); Notification notification = new Notification( coordinator.getId(), coordinator, groupId, group, user.getFullName() + " wants to join your group " + group.getGroupName(), "/home/notifications?addUserId=" + user.getId() + "&groupId=" + group.getId()); notificationMan.createNotification(notification); redirectToLocal(req, res, "/home/dashboard"); return; } catch (Exception e) { redirectToLocal(req, res, "/home/dashboard"); } }
// Process the request private String processRequest(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); String userIDs = (String) session.getAttribute("user.id"); userIDs = (userIDs != null && userIDs.compareTo(" ") > 0) ? userIDs : "0"; long userID = Long.parseLong(userIDs); String command = request.getParameter("command"); String template = request.getParameter("template"); String pageHash = request.getParameter("pagehash"); String pageTitle = request.getParameter("pagetitle"); String pageDescription = request.getParameter("pagedescription"); String outLine = ""; String nextScript = request.getParameter("nextscript"); OutputStream toClient; boolean success = false; // System.out.println("userid=" + userID + ", id=" + id + ", command=" + command); command = (command != null && command.compareTo(" ") > 0) ? command : "form"; nextScript = (nextScript != null && nextScript.compareTo(" ") > 0) ? nextScript : "simple1.jsp"; // inputstring = (inputstring != null && inputstring.compareTo(" ") > 0) ? inputstring : ""; DbConn myConn = null; try { Context initCtx = new InitialContext(); // String csiSchema = (String) initCtx.lookup("java:comp/env/csi-schema-path"); // String acronym = (String) initCtx.lookup("java:comp/env/SystemAcronym"); myConn = new DbConn(); String csiSchema = myConn.getSchemaPath(); if (userID != 0) { if (command.equals("add")) { outLine = ""; } else if (command.equals("update")) { outLine = ""; } else if (command.equals("updatepage")) { UHash uPage = new UHash(pageHash, myConn); // System.out.println("Got Here 1"); if (template.equals("simple1")) { TextItem title = new TextItem(uPage.get("title"), myConn); title.setText(pageTitle); title.save(myConn); TextItem description = new TextItem(uPage.get("description"), myConn); description.setText(pageDescription); description.save(myConn); } else if (template.equals("simple2")) { } } else if (command.equals("test")) { outLine = "test"; } success = true; } } catch (IllegalArgumentException e) { outLine = outLine + "IllegalArgumentException caught: " + e.getMessage(); ALog.logActivity(userID, "csi", 0, pageHash + " error: '" + outLine + "'"); // log(outLine); } catch (NullPointerException e) { outLine = outLine + "NullPointerException caught: " + e.getMessage(); ALog.logActivity(userID, "csi", 0, pageHash + " error: '" + outLine + "'"); // log(outLine); } // catch (IOException e) { // outLine = outLine + "IOException caught: " + e.getMessage(); // ALog.logActivity(userID, "csi", 0, pageHash + " error: '" + outLine + "'"); // //log(outLine); // } catch (Exception e) { outLine = outLine + "Exception caught: " + e.getMessage(); ALog.logActivity(userID, "csi", 0, pageHash + " error: '" + outLine + "'"); // log(outLine); } finally { try { generateResponse(outLine, command, nextScript, success, response); } catch (Exception i) { } myConn.release(); // log("Test log message\n"); } return outLine; }
public synchronized void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { HttpSession dbSession = request.getSession(); JspFactory _jspxFactory = JspFactory.getDefaultFactory(); PageContext pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true); ServletContext dbApplication = dbSession.getServletContext(); try { PrintWriter out = response.getWriter(); nseer_db_backup1 stock_db = new nseer_db_backup1(dbApplication); nseer_db_backup1 crm_db = new nseer_db_backup1(dbApplication); if (stock_db.conn((String) dbSession.getAttribute("unit_db_name")) && crm_db.conn((String) dbSession.getAttribute("unit_db_name"))) { FileKind FileKind = new FileKind(); ValidataNumber validata = new ValidataNumber(); ValidataRecord vr = new ValidataRecord(); counter count = new counter(dbApplication); ValidataTag vt = new ValidataTag(); String register_ID = (String) dbSession.getAttribute("human_IDD"); String config_id = request.getParameter("config_id"); String pay_ID = request.getParameter("pay_ID"); String product_amount = request.getParameter("product_amount"); int num = Integer.parseInt(product_amount); String payer_name = request.getParameter("payer_name"); String payer_ID = request.getParameter("payer_ID"); String reason = request.getParameter("reason"); String not_return_tag = request.getParameter("not_return_tag"); String register = request.getParameter("register"); String register_time = request.getParameter("register_time"); String demand_return_time = request.getParameter("demand_return_time"); String sales_name = request.getParameter("sales_name"); String sales_ID = request.getParameter("sales_ID"); String bodyc = new String(request.getParameter("remark").getBytes("UTF-8"), "UTF-8"); String remark = exchange.toHtml(bodyc); String time = ""; java.util.Date now = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); time = formatter.format(now); String[] product_IDn = request.getParameterValues("product_ID"); String[] amountn = request.getParameterValues("amount"); if (num == 0 && product_IDn.length == 1) { response.sendRedirect("draft/crm/credit_ok_a.jsp?pay_ID=" + pay_ID); } else { int p = 0; for (int i = 1; i <= num; i++) { String tem_amount = "amount" + i; String amount = request.getParameter(tem_amount); if (amount.equals("")) amount = "0"; if (!validata.validata(amount)) { p++; } } int n = 0; String product_ID_group = ""; for (int j = 1; j < product_IDn.length; j++) { product_ID_group += product_IDn[j] + ","; if (amountn[j].equals("")) amountn[j] = "0"; if (!validata.validata(amountn[j])) { p++; } } for (int i = 1; i <= num; i++) { String tem_product_ID = "product_ID" + i; String product_ID = request.getParameter(tem_product_ID); if (product_ID_group.indexOf(product_ID) != -1) n++; } if (vt.validata( (String) dbSession.getAttribute("unit_db_name"), "stock_apply_pay", "pay_ID", pay_ID, "check_tag") .equals("9") || vt.validata( (String) dbSession.getAttribute("unit_db_name"), "stock_apply_pay", "pay_ID", pay_ID, "check_tag") .equals("5")) { if (p == 0) { try { if (n == 0) { boolean flag = false; List rsList = GetWorkflow.getList(crm_db, "crm_config_workflow", "05"); String[] elem = new String[3]; if (rsList.size() == 0) { flag = true; } String sqll = ""; String[] aaa1 = FileKind.getKind( (String) dbSession.getAttribute("unit_db_name"), "crm_file", "customer_ID", payer_ID); String stock_pay_ID = NseerId.getId("stock/pay", (String) dbSession.getAttribute("unit_db_name")); double demand_amount = 0.0d; double list_price_sum = 0.0d; double cost_price_sum = 0.0d; for (int i = 1; i <= num; i++) { String tem_product_name = "product_name" + i; String tem_product_ID = "product_ID" + i; String tem_available_amount = "available_amount" + i; String tem_amount = "amount" + i; String tem_list_price = "list_price" + i; String tem_cost_price = "cost_price" + i; String tem_type = "type" + i; String tem_amount_unit = "amount_unit" + i; String product_name = request.getParameter(tem_product_name); String product_ID = request.getParameter(tem_product_ID); String available_amount = request.getParameter(tem_available_amount); String amount = request.getParameter(tem_amount); if (amount.equals("")) amount = "0"; String list_price2 = request.getParameter(tem_list_price); String cost_price = request.getParameter(tem_cost_price); String type = request.getParameter(tem_type); StringTokenizer tokenTO3 = new StringTokenizer(list_price2, ","); String list_price = ""; while (tokenTO3.hasMoreTokens()) { String list_price1 = tokenTO3.nextToken(); list_price += list_price1; } String amount_unit = request.getParameter(tem_amount_unit); double list_price_subtotal = Double.parseDouble(list_price) * Double.parseDouble(amount); list_price_sum += list_price_subtotal; double cost_price_subtotal = Double.parseDouble(cost_price) * Double.parseDouble(amount); cost_price_sum += cost_price_subtotal; demand_amount += Double.parseDouble(amount); String sql1 = "update stock_apply_pay_details set amount='" + amount + "',list_price='" + list_price + "',list_price_subtotal='" + list_price_subtotal + "',cost_price='" + cost_price + "',subtotal='" + cost_price_subtotal + "' where pay_ID='" + pay_ID + "' and details_number='" + i + "'"; stock_db.executeUpdate(sql1); if (flag) { if (type.equals("物料") || type.equals("外购商品")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + i + "','" + product_ID + "','" + product_name + "','" + type + "','" + list_price + "','" + list_price_subtotal + "','" + cost_price + "','" + cost_price_subtotal + "','" + amount + "','" + amount + "','0','" + amount + "')"; stock_db.executeUpdate(sql2); } else if (type.equals("商品") || type.equals("部件") || type.equals("委外部件")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + i + "','" + product_ID + "','" + product_name + "','" + type + "','" + list_price + "','" + list_price_subtotal + "','" + cost_price + "','" + cost_price_subtotal + "','" + amount + "','" + amount + "','" + amount + "','0')"; stock_db.executeUpdate(sql2); } String sql97 = "select * from crm_salecredit_balance_details where crediter_ID='" + payer_ID + "' and product_ID='" + product_ID + "'"; ResultSet rs97 = crm_db.executeQuery(sql97); if (rs97.next()) { double balance_amount = rs97.getDouble("amount") + Double.parseDouble(amount); double balance_cost_price_subtotal = rs97.getDouble("subtotal") + cost_price_subtotal; double balance_list_price_subtotal = rs97.getDouble("list_price_subtotal") + list_price_subtotal; String sql96 = "update crm_salecredit_balance_details set amount='" + balance_amount + "',check_tag='1',subtotal='" + balance_cost_price_subtotal + "',list_price_subtotal='" + balance_list_price_subtotal + "' where crediter_ID='" + payer_ID + "' and product_ID='" + product_ID + "'"; crm_db.executeUpdate(sql96); } else { String[] aaa = FileKind.getKind( (String) dbSession.getAttribute("unit_db_name"), "design_file", "product_ID", product_ID); String sql95 = "insert into crm_salecredit_balance_details(chain_ID,chain_name,crediter_chain_ID,crediter_chain_name,product_ID,product_name,list_price,list_price_subtotal,cost_price,subtotal,amount,crediter_ID,crediter_name) values('" + aaa[0] + "','" + aaa[1] + "','" + aaa1[0] + "','" + aaa1[1] + "','" + product_ID + "','" + product_name + "','" + list_price + "','" + list_price_subtotal + "','" + cost_price + "','" + cost_price_subtotal + "','" + amount + "','" + payer_ID + "','" + payer_name + "')"; crm_db.executeUpdate(sql95); } } } String[] cost_pricen = request.getParameterValues("cost_price"); String[] list_pricen = request.getParameterValues("list_price"); String[] product_namen = request.getParameterValues("product_name"); String[] product_describen = request.getParameterValues("product_describe"); String[] amount_unitn = request.getParameterValues("amount_unit"); String[] typen = request.getParameterValues("type"); for (int i = 1; i < product_IDn.length; i++) { StringTokenizer tokenTO3 = new StringTokenizer(list_pricen[i], ","); String list_price = ""; while (tokenTO3.hasMoreTokens()) { String list_price1 = tokenTO3.nextToken(); list_price += list_price1; } if (!amountn[i].equals("") && Double.parseDouble(amountn[i]) != 0) { double list_price_subtotal = Double.parseDouble(list_price) * Double.parseDouble(amountn[i]); list_price_sum += list_price_subtotal; double subtotal = Double.parseDouble(cost_pricen[i]) * Double.parseDouble(amountn[i]); cost_price_sum += subtotal; demand_amount += Double.parseDouble(amountn[i]); num++; String sql1 = "insert into stock_apply_pay_details(payer_chain_ID,payer_chain_name,sales_ID,sales_name,payer_ID,payer_name,payer_type,pay_ID,details_number,product_ID,product_name,product_describe,amount,amount_unit,list_price,list_price_subtotal,cost_price,subtotal,type) values ('" + aaa1[0] + "','" + aaa1[1] + "','" + sales_ID + "','" + sales_name + "','" + payer_ID + "','" + payer_name + "','销售赊货','" + pay_ID + "','" + num + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + product_describen[i] + "','" + amountn[i] + "','" + amount_unitn[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + typen[i] + "')"; stock_db.executeUpdate(sql1); // ********************** if (rsList.size() == 0) { if (typen[i].equals("物料") || typen[i].equals("外购商品")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + num + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + typen[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + amountn[i] + "','" + amountn[i] + "','0','" + amountn[i] + "')"; stock_db.executeUpdate(sql2); } else if (typen[i].equals("商品") || typen[i].equals("部件") || typen[i].equals("委外部件")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + num + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + typen[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + amountn[i] + "','" + amountn[i] + "','" + amountn[i] + "','0')"; stock_db.executeUpdate(sql2); } String sql97 = "select * from crm_salecredit_balance_details where crediter_ID='" + payer_ID + "' and product_ID='" + product_IDn[i] + "'"; ResultSet rs97 = crm_db.executeQuery(sql97); if (rs97.next()) { double balance_amount = rs97.getDouble("amount") + Double.parseDouble(amountn[i]); double balance_cost_price_subtotal = rs97.getDouble("subtotal") + subtotal; double balance_list_price_subtotal = rs97.getDouble("list_price_subtotal") + list_price_subtotal; String sql96 = "update crm_salecredit_balance_details set amount='" + balance_amount + "',check_tag='1',subtotal='" + balance_cost_price_subtotal + "',list_price_subtotal='" + balance_list_price_subtotal + "' where crediter_ID='" + payer_ID + "' and product_ID='" + product_IDn[i] + "'"; crm_db.executeUpdate(sql96); } else { String[] aaa = FileKind.getKind( (String) dbSession.getAttribute("unit_db_name"), "design_file", "product_ID", product_IDn[i]); String sql95 = "insert into crm_salecredit_balance_details(chain_ID,chain_name,crediter_chain_ID,crediter_chain_name,product_ID,product_name,list_price,list_price_subtotal,cost_price,subtotal,amount,crediter_ID,crediter_name) values('" + aaa[0] + "','" + aaa[1] + "','" + aaa1[0] + "','" + aaa1[1] + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + amountn[i] + "','" + payer_ID + "','" + payer_name + "')"; crm_db.executeUpdate(sql95); } } // *************************** } } String sql = "update stock_apply_pay set reason='" + reason + "',register='" + register + "',register_time='" + register_time + "',demand_return_time='" + demand_return_time + "',register_time='" + register_time + "',register='" + register + "',remark='" + remark + "',demand_amount='" + demand_amount + "',list_price_sum='" + list_price_sum + "',cost_price_sum='" + cost_price_sum + "',not_return_tag='" + not_return_tag + "' where pay_ID='" + pay_ID + "'"; stock_db.executeUpdate(sql); if (flag) { sql = "update stock_apply_pay set check_tag='1' where pay_ID='" + pay_ID + "'"; stock_db.executeUpdate(sql); if (!vr.validata( (String) dbSession.getAttribute("unit_db_name"), "stock_pay", "reasonexact", pay_ID)) { String sql4 = "insert into stock_pay(pay_ID,reason,reasonexact,reasonexact_details,demand_amount,list_price_sum,cost_price_sum,register,register_time) values('" + stock_pay_ID + "','" + reason + "','" + pay_ID + "','" + payer_name + "','" + demand_amount + "','" + list_price_sum + "','" + cost_price_sum + "','" + register + "','" + register_time + "')"; stock_db.executeUpdate(sql4); } String sql98 = "select * from crm_file where customer_ID='" + payer_ID + "'"; ResultSet rs98 = crm_db.executeQuery(sql98); if (rs98.next()) { double salecredit_list_price_sum = rs98.getDouble("salecredit_list_price_sum") + list_price_sum; double salecredit_cost_price_sum = rs98.getDouble("salecredit_cost_price_sum") + cost_price_sum; String sql99 = "update crm_file set credit_yes_or_not_tag='1',salecredit_list_price_sum='" + salecredit_list_price_sum + "',salecredit_cost_price_sum='" + salecredit_cost_price_sum + "' where customer_ID='" + payer_ID + "' "; crm_db.executeUpdate(sql99); } } else { sql = "update stock_apply_pay set check_tag='0' where pay_ID='" + pay_ID + "'"; stock_db.executeUpdate(sql); Iterator ite = rsList.iterator(); while (ite.hasNext()) { elem = (String[]) ite.next(); sql = "insert into crm_workflow(config_id,object_ID,describe1,describe2) values ('" + elem[0] + "','" + pay_ID + "','" + elem[1] + "','" + elem[2] + "')"; crm_db.executeUpdate(sql); } } response.sendRedirect("draft/crm/credit_ok.jsp?finished_tag=8"); } else { response.sendRedirect( "draft/crm/credit_ok.jsp?finished_tag=7&pay_ID=" + pay_ID + ""); } } catch (Exception ex) { ex.printStackTrace(); } } else { response.sendRedirect("draft/crm/credit_ok.jsp?finished_tag=6&pay_ID=" + pay_ID + ""); } } else { response.sendRedirect("draft/crm/credit_ok.jsp?finished_tag=9"); } } stock_db.commit(); crm_db.commit(); stock_db.close(); crm_db.close(); } else { response.sendRedirect("error_conn.htm"); } } catch (Exception ex) { ex.printStackTrace(); } }
public synchronized void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { HttpSession dbSession = request.getSession(); JspFactory _jspxFactory = JspFactory.getDefaultFactory(); PageContext pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true); ServletContext dbApplication = dbSession.getServletContext(); try { HttpSession session = request.getSession(); PrintWriter out = response.getWriter(); nseer_db_backup1 fund_db = new nseer_db_backup1(dbApplication); nseer_db_backup1 fund_db1 = new nseer_db_backup1(dbApplication); if (fund_db.conn((String) dbSession.getAttribute("unit_db_name")) && fund_db1.conn((String) dbSession.getAttribute("unit_db_name"))) { counter count = new counter(dbApplication); ValidataRecordNumber vrn = new ValidataRecordNumber(); ValidataTag vt = new ValidataTag(); ValidataNumber validata = new ValidataNumber(); try { String time = ""; java.util.Date now = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); time = formatter.format(now); String apply_pay_ID = request.getParameter("apply_pay_ID"); String register_time = request.getParameter("register_time"); String register = request.getParameter("register"); String register_ID = request.getParameter("register_ID"); String bodyc = new String(request.getParameter("remark").getBytes("UTF-8"), "UTF-8"); String remark = exchange.toHtml(bodyc); String amount = request.getParameter("amount"); String[] file_kind = request.getParameterValues("file_kind"); String[] cost_price_subtotal = request.getParameterValues("cost_price_subtotal"); int p = 0; String file_kinda = ","; for (int j = 1; j < file_kind.length; j++) { file_kinda += file_kind[j] + ","; if (cost_price_subtotal[j].equals("")) cost_price_subtotal[j] = "0"; StringTokenizer tokenTO4 = new StringTokenizer(cost_price_subtotal[j], ","); String cost_price_subtotal1 = ""; while (tokenTO4.hasMoreTokens()) { cost_price_subtotal1 += tokenTO4.nextToken(); } if (!validata.validata(cost_price_subtotal1)) { p++; } } int n = 0; for (int i = 1; i <= Integer.parseInt(amount); i++) { String tem_file_kind = "file_kind" + i; String file_kind2 = request.getParameter(tem_file_kind); if (file_kinda.indexOf(file_kind2) != -1) n++; } if (n == 0) { if (p == 0) { if (vt.validata( (String) dbSession.getAttribute("unit_db_name"), "fund_apply_pay", "apply_pay_ID", apply_pay_ID, "check_tag") .equals("5") || vt.validata( (String) dbSession.getAttribute("unit_db_name"), "fund_apply_pay", "apply_pay_ID", apply_pay_ID, "check_tag") .equals("9")) { String currency_name = ""; String personal_unit = ""; String chain_ID = ""; String chain_name = ""; String funder = ""; String funder_ID = ""; String sql11 = "select * from fund_apply_pay where apply_pay_ID='" + apply_pay_ID + "'"; ResultSet rs11 = fund_db.executeQuery(sql11); while (rs11.next()) { chain_ID = rs11.getString("chain_ID"); chain_name = rs11.getString("chain_name"); funder = rs11.getString("human_name"); funder_ID = rs11.getString("human_ID"); currency_name = rs11.getString("currency_name"); personal_unit = rs11.getString("personal_unit"); } int expenses_amount = 0; String sql6 = "select count(*) from fund_apply_pay_details where apply_pay_ID='" + apply_pay_ID + "'"; ResultSet rs6 = fund_db.executeQuery(sql6); if (rs6.next()) { expenses_amount = rs6.getInt("count(*)"); } double demand_cost_price_sum = 0.0d; for (int i = 1; i <= expenses_amount; i++) { String tem_cost_price_subtotal = "cost_price_subtotal" + i; String cost_price_subtotal2 = request.getParameter(tem_cost_price_subtotal); demand_cost_price_sum += Double.parseDouble(cost_price_subtotal2); sql6 = "update fund_apply_pay_details set cost_price_subtotal='" + cost_price_subtotal2 + "' where apply_pay_ID='" + apply_pay_ID + "' and details_number='" + i + "'"; fund_db.executeUpdate(sql6); } for (int i = 1; i < file_kind.length; i++) { StringTokenizer tokenTO1 = new StringTokenizer(file_kind[i], "/"); String file_chain_ID = ""; String file_chain_name = ""; while (tokenTO1.hasMoreTokens()) { file_chain_ID = tokenTO1.nextToken(); file_chain_name = tokenTO1.nextToken(); } StringTokenizer tokenTO4 = new StringTokenizer(cost_price_subtotal[i], ","); String cost_price_subtotal1 = ""; while (tokenTO4.hasMoreTokens()) { cost_price_subtotal1 += tokenTO4.nextToken(); } demand_cost_price_sum += Double.parseDouble(cost_price_subtotal1); expenses_amount++; String sql1 = "insert into fund_apply_pay_details(apply_pay_ID,details_number,file_chain_ID,file_chain_name,cost_price_subtotal) values ('" + apply_pay_ID + "','" + expenses_amount + "','" + file_chain_ID + "','" + file_chain_name + "','" + cost_price_subtotal1 + "')"; fund_db.executeUpdate(sql1); } String sql = "update fund_apply_pay set demand_cost_price_sum='" + demand_cost_price_sum + "',check_tag='2',register_time='" + register_time + "',register='" + register + "',remark='" + remark + "' where apply_pay_ID='" + apply_pay_ID + "'"; fund_db.executeUpdate(sql); response.sendRedirect("draft/fund/applyPayExpenses_ok.jsp?finished_tag=2"); } else { response.sendRedirect("draft/fund/applyPayExpenses_ok.jsp?finished_tag=3"); } } else { response.sendRedirect("draft/fund/applyPayExpenses_ok.jsp?finished_tag=6"); } } else { response.sendRedirect("draft/fund/applyPayExpenses_ok.jsp?finished_tag=7"); } } catch (Exception ex) { ex.printStackTrace(); } fund_db.commit(); fund_db1.commit(); fund_db.close(); fund_db1.close(); } else { response.sendRedirect("error_conn.htm"); } } catch (Exception ex) { ex.printStackTrace(); } }
// Process the request private String processRequest(HttpServletRequest request, HttpServletResponse response) { String command = request.getParameter("command"); String id = request.getParameter("id"); String description = request.getParameter("description"); String status = request.getParameter("rstatus"); status = (status != null && status.compareTo(" ") > 0) ? status : null; String outLine = ""; // String nextScript = "home.jsp"; String nextScript = request.getParameter("nextscript"); OutputStream toClient; HttpSession session = request.getSession(); boolean success = false; String userIDs = (String) session.getAttribute("user.id"); long userID = Long.parseLong(userIDs); command = (command != null && command.compareTo(" ") > 0) ? command : "form"; nextScript = (nextScript != null && nextScript.compareTo(" ") > 0) ? nextScript : "roles.jsp"; // inputstring = (inputstring != null && inputstring.compareTo(" ") > 0) ? inputstring : ""; DbConn myConn = null; try { Context initCtx = new InitialContext(); // String csiSchema = (String) initCtx.lookup("java:comp/env/csi-schema-path"); String acronym = (String) initCtx.lookup("java:comp/env/SystemAcronym"); myConn = new DbConn(); String csiSchema = myConn.getSchemaPath(); if (command.equals("add")) { Role item = new Role(); item.setDescription(description); item.setStatus(status); getPermissions(request, item); getPositions(request, item); item.add(myConn, userID); GlobalMembership.refresh(myConn); success = true; outLine = ""; } else if (command.equals("update")) { Role item = new Role(myConn, Long.parseLong(id)); item.setDescription(description); item.setStatus(status); getPermissions(request, item); getPositions(request, item); item.save(myConn, userID); GlobalMembership.refresh(myConn); success = true; outLine = ""; } else if (command.equals("drop")) { Role item = new Role(myConn, Long.parseLong(id)); item.drop(myConn, userID); success = true; outLine = "Role " + item.getDescription() + " Removed"; } else if (command.equals("test")) { outLine = "test"; } } catch (IllegalArgumentException e) { outLine = outLine + "IllegalArgumentException caught: " + e.getMessage(); ALog.logActivity(userID, "csi", 0, "Role error: '" + outLine + "'"); // log(outLine); } catch (NullPointerException e) { outLine = outLine + "NullPointerException caught: " + e.getMessage(); ALog.logActivity(userID, "csi", 0, "Role error: '" + outLine + "'"); // log(outLine); } // catch (IOException e) { // outLine = outLine + "IOException caught: " + e.getMessage(); // ALog.logActivity(userID, "csi", 0, "Role error: '" + outLine + "'"); // //log(outLine); // } catch (Exception e) { outLine = outLine + "Exception caught: " + e.getMessage(); ALog.logActivity(userID, "csi", 0, "Role error: '" + outLine + "'"); // log(outLine); } finally { try { generateResponse(outLine, command, nextScript, success, response); } catch (Exception i) { } myConn.release(); // log("Test log message\n"); } return outLine; }
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; javax.servlet.jsp.PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; try { _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=ISO-8859-1"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n\r\n"); out.write("\r\n\r\n"); String strIp = (String) request.getParameter("ip"); String strCommunityString = (String) request.getParameter("cs"); String strPort = (String) request.getParameter("port"); String strTimeout = (String) request.getParameter("timeout"); String strRetries = (String) request.getParameter("retries"); String strNodeLabel = (String) request.getParameter("node"); String strNodeId = request.getParameter("nodeId"); String strFirstTime = (String) request.getParameter("firsttime"); String strWindowId = (String) request.getParameter("windowid"); // Create the querier and make the request. QueryFactory factory = new QueryFactory(); Querier querier = (Querier) factory.createQuerier(WinPagePerfSnmpQuerier.QUERIER_NAME); DeviceCommunicator deviceCommunicator = new DeviceCommunicator(); deviceCommunicator.sendQuery(querier, strIp); // Error processing if (querier.getErrorStatus() == -1) { RequestDispatcher rd = getServletContext() .getRequestDispatcher("/jsp/WTerror-handler.jsp?error=SnmpCommError"); rd.forward(request, response); return; } if (querier.getErrorStatus() == -2) { RequestDispatcher rd = getServletContext() .getRequestDispatcher("/jsp/WTerror-handler.jsp?error=NoPerfmibSnmpError"); rd.forward(request, response); return; } if (querier.getErrorStatus() != 0) { RequestDispatcher rd = getServletContext().getRequestDispatcher("/jsp/WTerror-handler.jsp?error=SnmpError"); rd.forward(request, response); return; } Map calcs = querier.getCalculations(); long[] results = (long[]) calcs.get(WinPagePerfSnmpQuerier.PAGE_RESULTS); if (results[0] < 0 || results[1] < 0 || results[2] < 0 || results[3] < 0 || results[4] < 0 || results[5] < 0 || results[6] < 0 || results[7] < 0 || results[8] < 0 || results[9] < 0) { RequestDispatcher rd = getServletContext().getRequestDispatcher("/jsp/WTerror-handler.jsp?error=SnmpError"); rd.forward(request, response); return; } Vector vPageStats = null; if (strFirstTime == null) { // Not the first time, so get the previous polled data from the session vPageStats = (Vector) session.getAttribute("vPageStats" + strWindowId); } else { // This is the first time in this JSP, so create the Vector which will contain the // polled data Random random = new Random(); strWindowId = String.valueOf(random.nextInt()); vPageStats = new Vector(); } vPageStats.add(results); session.setAttribute("vPageStats" + strWindowId, vPageStats); // This random number is used to prevent the brower from caching the IMG tags Random random = new Random(); int randomInt = random.nextInt(); out.write("\r\n\r\n"); out.write("<html>\r\n"); out.write("<head>\r\n "); out.write("<title>WebTelemetry - Graphs | Real-Time | Windows Page Performance Monitoring"); out.write("</title>\r\n "); out.write("<META HTTP-EQUIV=\"refresh\" CONTENT=\""); out.print(WTProperties.getMonitorUIRefreshRate()); out.write("; URL="); out.print(WTTools.getJspURL(request)); out.write("WTwin-page-monitor.jsp?cs="); out.print(URLEncoder.encode(strCommunityString, "UTF-8")); out.write("&ip="); out.print(strIp); out.write("&port="); out.print(strPort); out.write("&timeout="); out.print(strTimeout); out.write("&retries="); out.print(strRetries); out.write("&node="); out.print(URLEncoder.encode(strNodeLabel, "UTF-8")); out.write("&windowid="); out.print(strWindowId); out.write("&nodeId="); out.print(strNodeId); out.write("\">\r\n "); out.write( "<link rel=\"stylesheet\" type=\"text/css\" href=\"/wt-portal/css/default.css\" />\r\n "); out.write("<script type=\"text/javascript\" src=\"/wt-portal/javascript/WTtools.js\">"); out.write("</script>\r\n"); out.write("</head>\r\n"); out.write("<body>\r\n"); String title = "Graphs - Real-Time - Windows Page Performance Monitoring for Node: " + strNodeLabel; out.write("\r\n"); request.setAttribute("title", title); request.setAttribute("nodeJsp", "/wt-monitor/element/node.jsp?node=" + strNodeId); out.write("\r\n"); /* ---- c:import ---- */ org.apache.taglibs.standard.tag.el.core.ImportTag _jspx_th_c_import_0 = (org.apache.taglibs.standard.tag.el.core.ImportTag) _jspx_tagPool_c_import_url_context.get( org.apache.taglibs.standard.tag.el.core.ImportTag.class); _jspx_th_c_import_0.setPageContext(pageContext); _jspx_th_c_import_0.setParent(null); _jspx_th_c_import_0.setContext("/wt-monitor"); _jspx_th_c_import_0.setUrl("/includes/header.jsp"); int[] _jspx_push_body_count_c_import_0 = new int[] {0}; try { int _jspx_eval_c_import_0 = _jspx_th_c_import_0.doStartTag(); if (_jspx_eval_c_import_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) { if (_jspx_eval_c_import_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) { javax.servlet.jsp.tagext.BodyContent _bc = pageContext.pushBody(); _jspx_push_body_count_c_import_0[0]++; out = _bc; _jspx_th_c_import_0.setBodyContent(_bc); _jspx_th_c_import_0.doInitBody(); } do { out.write("\r\n\t"); if (_jspx_meth_c_param_0( _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return; out.write("\r\n\t"); if (_jspx_meth_c_param_1( _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return; out.write("\r\n\t"); if (_jspx_meth_c_param_2( _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return; out.write("\r\n"); int evalDoAfterBody = _jspx_th_c_import_0.doAfterBody(); if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN) break; } while (true); if (_jspx_eval_c_import_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) out = pageContext.popBody(); _jspx_push_body_count_c_import_0[0]--; } if (_jspx_th_c_import_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) return; } catch (Throwable _jspx_exception) { while (_jspx_push_body_count_c_import_0[0]-- > 0) out = pageContext.popBody(); _jspx_th_c_import_0.doCatch(_jspx_exception); } finally { _jspx_th_c_import_0.doFinally(); _jspx_tagPool_c_import_url_context.reuse(_jspx_th_c_import_0); } out.write("\t\r\n\t"); out.write("\r\n"); out.write("<div align=\"center\">\r\n"); out.write("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\r\n\t"); out.write("<tr>\r\n\t\t"); out.write("<td align=\"right\">"); out.write("<IMG SRC=\""); out.print(WTTools.getServletURL(request)); out.write("WTsnmpRealTimeGraphs?chart=winpagefaultchart&random="); out.print(randomInt); out.write("&windowid="); out.print(strWindowId); out.write("\" BORDER=0>"); out.write("</td>\r\n\t\t"); out.write("<td>"); out.write( "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"1\" width=\"20\" border=\"0\" alt=\"WebTelemetry\">"); out.write("</td>\r\n\t\t"); out.write("<td>"); out.write("<IMG SRC=\""); out.print(WTTools.getServletURL(request)); out.write("WTsnmpRealTimeGraphs?chart=winpagefaultseries&random="); out.print(randomInt); out.write("&windowid="); out.print(strWindowId); out.write("\" BORDER=0>"); out.write("</td>\r\n\t"); out.write("</tr>\r\n\t"); out.write("<tr>\r\n\t\t"); out.write("<td align=\"right\">"); out.write("<IMG SRC=\""); out.print(WTTools.getServletURL(request)); out.write("WTsnmpRealTimeGraphs?chart=winpagenumchart&random="); out.print(randomInt); out.write("&windowid="); out.print(strWindowId); out.write("\" BORDER=0>"); out.write("</td>\r\n\t\t"); out.write("<td> "); out.write("</td>\r\n\t\t"); out.write("<td>"); out.write("<IMG SRC=\""); out.print(WTTools.getServletURL(request)); out.write("WTsnmpRealTimeGraphs?chart=winpagenumseries&random="); out.print(randomInt); out.write("&windowid="); out.print(strWindowId); out.write("\" BORDER=0>"); out.write("</td>\r\n\t"); out.write("</tr>\r\n\t"); out.write("<tr>\r\n\t\t"); out.write("<td align=\"right\">"); out.write("<IMG SRC=\""); out.print(WTTools.getServletURL(request)); out.write("WTsnmpRealTimeGraphs?chart=winpagetimeschart&random="); out.print(randomInt); out.write("&windowid="); out.print(strWindowId); out.write("\" BORDER=0>"); out.write("</td>\r\n\t\t"); out.write("<td> "); out.write("</td>\r\n\t\t"); out.write("<td>"); out.write("<IMG SRC=\""); out.print(WTTools.getServletURL(request)); out.write("WTsnmpRealTimeGraphs?chart=winpagetimesseries&random="); out.print(randomInt); out.write("&windowid="); out.print(strWindowId); out.write("\" BORDER=0>"); out.write("</td>\r\n\t"); out.write("</tr>\r\n"); out.write("</table>\r\n"); out.write("</div>\r\n"); out.write("<br>\r\n\r\n"); /* ---- c:import ---- */ org.apache.taglibs.standard.tag.el.core.ImportTag _jspx_th_c_import_1 = (org.apache.taglibs.standard.tag.el.core.ImportTag) _jspx_tagPool_c_import_url_context_nobody.get( org.apache.taglibs.standard.tag.el.core.ImportTag.class); _jspx_th_c_import_1.setPageContext(pageContext); _jspx_th_c_import_1.setParent(null); _jspx_th_c_import_1.setContext("/wt-monitor"); _jspx_th_c_import_1.setUrl("/includes/footer.jsp"); int[] _jspx_push_body_count_c_import_1 = new int[] {0}; try { int _jspx_eval_c_import_1 = _jspx_th_c_import_1.doStartTag(); if (_jspx_th_c_import_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) return; } catch (Throwable _jspx_exception) { while (_jspx_push_body_count_c_import_1[0]-- > 0) out = pageContext.popBody(); _jspx_th_c_import_1.doCatch(_jspx_exception); } finally { _jspx_th_c_import_1.doFinally(); _jspx_tagPool_c_import_url_context_nobody.reuse(_jspx_th_c_import_1); } out.write("\r\n\t\r\n"); out.write("</body>\r\n"); out.write("</html>"); } catch (Throwable t) { out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (pageContext != null) pageContext.handlePageException(t); } finally { if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext); } }
/** * Displays a given Research Group page for a HTTP Get, or creates a new Group for a HTTP Post * * <p>- Requires a cookie for the session user - Requires a groupId request parameter for a GET - * Requires a groupName, description, createdByUserId request parameters for a POST * * @param req The HTTP Request * @param res The HTTP Response */ public void researchgroupAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<String, Object>(); viewData.put("title", "Research Group"); if (req.getMethod() == HttpMethod.Get) { // Load group data into Map GroupManager gm = new GroupManager(); int groupId = Integer.parseInt(req.getParameter("groupId")); Group group = gm.get(groupId); if (group != null) { // Load Group into map viewData.put("group", group); // Load group members into Map List<String> groupMembers = gm.getGroupMembers(groupId); viewData.put("groupMembers", groupMembers); // Load meetings into map MeetingManager meetMan = new MeetingManager(); List<Meeting> groupMeetings = meetMan.getGroupMeetings(groupId); viewData.put("groupMeetings", groupMeetings); // Load Document Data into Map DocumentManager docMan = new DocumentManager(); List<Document> groupDocuments = docMan.getGroupDocuments(groupId); viewData.put("groupDocuments", groupDocuments); // Load discussion threads DiscussionManager dm = new DiscussionManager(); viewData.put("groupDiscussions", dm.getThreads(groupId)); // Check if the user is a member boolean isMember = false; HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User user = userSession.getUser(); for (Group g : gm.getAllGroups(user.getId())) { if (g.getId() == group.getId()) { isMember = true; break; } } viewData.put("notMember", !isMember); // View group page. view(req, res, "/views/group/ResearchGroup.jsp", viewData); } else { httpNotFound(req, res); } } else if (req.getMethod() == HttpMethod.Post) { // Create Group // Get data from parameters String groupName = req.getParameter("groupName"); String description = req.getParameter("description"); int adminId = Integer.parseInt(req.getParameter("createdByUserId")); // Create the Group GroupManager groupMan = new GroupManager(); Group group = new Group(); group.setGroupName(groupName); group.setDescription(description); group.setCoordinatorId(adminId); // Create the mapping groupMan.createGroup(group); int groupId = groupMan.getIdFor(group); groupMan.createMapping(groupId, adminId); group.setId(groupId); // Update the User Session to show new group HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User admin = userSession.getUser(); admin.getGroups().add(group); // Show the Group Page viewData.put("groupName", group.getGroupName()); List<String> groupMembers = groupMan.getGroupMembers(groupId); viewData.put("groupMembers", groupMembers); view(req, res, "/views/group/ResearchGroup.jsp", viewData); } }
/** * Displays the Create Discussion page for a HTTP Get, or creates a Discussion Thread for a HTTP * Post * * <p>- Requires a cookie for the session user - Requires a groupId request parameter for a GET - * Requires a groupId and threadName request parameter for a POST - Requires a document request * part for a POST * * @param req The HTTP Request * @param res The HTTP Response */ public void createDiscussionAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<>(); if (req.getMethod() == HttpMethod.Get) { viewData.put("title", "Create Discussion"); viewData.put("groupId", req.getParameter("groupId")); view(req, res, "/views/group/CreateDiscussion.jsp", viewData); return; } else if (req.getMethod() == HttpMethod.Post) { // save discussion GroupManager groupMan = new GroupManager(); DiscussionThread thread = new DiscussionThread(); int groupId = Integer.parseInt(req.getParameter("groupId")); thread.setGroupId(groupId); thread.setGroup(groupMan.get(groupId)); thread.setThreadName(req.getParameter("threadName")); DiscussionManager dm = new DiscussionManager(); dm.createDiscussion(thread); try { Part documentPart = req.getPart("document"); // if we have a document to upload if (documentPart.getSize() > 0) { String uuid = DocumentController.saveDocument(this.getServletContext(), documentPart); Document doc = new Document(); doc.setDocumentName(getFileName(documentPart)); doc.setDocumentPath(uuid); doc.setVersionNumber(1); doc.setThreadId(thread.getId()); doc.setGroupId(thread.getGroupId()); DocumentManager docMan = new DocumentManager(); docMan.createDocument(doc); // Get uploading User HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User uploader = userSession.getUser(); // Create a notification to all in the group NotificationManager notificationMan = new NotificationManager(); groupMan = new GroupManager(); List<User> groupUsers = groupMan.getGroupUsers(groupId); for (User u : groupUsers) { Notification notification = new Notification( u.getId(), u, groupId, null, "User " + uploader.getFullName() + " has uploaded a document", "/document/document?documentId=" + doc.getId()); notificationMan.createNotification(notification); } } } catch (Exception e) { logger.log(Level.SEVERE, "Document save error", e); } redirectToLocal(req, res, "/group/discussion/?threadId=" + thread.getId()); return; } httpNotFound(req, res); }
/** * Displays a given Meeting page for a HTTP Get, or creates a new Meeting for a HTTP Post * * <p>- Requires a cookie for the session user - Requires a meetingId request parameter for a GET * - Requires description, createdByUserId, datepicker, meetingTime, groupId request parameters * for a POST * * @param req The HTTP Request * @param res The HTTP Response */ public void meetingAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<String, Object>(); viewData.put("title", "Meeting"); // Initialise Manager connections MeetingManager meetingMan = new MeetingManager(); GroupManager groupMan = new GroupManager(); if (req.getMethod() == HttpMethod.Get) { // Get request parameter int meetingId = Integer.parseInt(req.getParameter("meetingId")); Meeting meeting = meetingMan.get(meetingId); if (meeting != null) { List<User> meetingUsers = groupMan.getGroupUsers(meeting.getGroupId()); viewData.put("meetingUsers", meetingUsers); viewData.put("meeting", meeting); view(req, res, "/views/group/Meeting.jsp", viewData); } else { httpNotFound(req, res); } } else if (req.getMethod() == HttpMethod.Post) { // Get details from request String description = req.getParameter("description"); int createdByUserId = Integer.parseInt(req.getParameter("createdByUserId")); Date dateCreated = new Date(); String meetingDate = req.getParameter("datepicker"); String meetingTime = req.getParameter("meetingTime"); // Parse meeting date time details DateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm"); Date dateDue = new Date(); try { dateDue = format.parse(meetingDate + " " + meetingTime); } catch (ParseException e) { // Unable to parse date. This shouldn't happen since we are // performing javascript validation. } int groupId = Integer.parseInt(req.getParameter("groupId")); // Create a Meeting Meeting meeting = new Meeting(); meeting.setDescription(description); meeting.setCreatedByUserId(createdByUserId); meeting.setDateCreated(dateCreated); meeting.setDateDue(dateDue); meeting.setGroupId(groupId); meetingMan.createMeeting(meeting); int meetingId = meetingMan.getIdFor(meeting); meeting.setId(meetingId); UserManager userMan = new UserManager(); User createdByUser = userMan.get(createdByUserId); // Create a notification for all users in group NotificationManager notificationMan = new NotificationManager(); List<User> users = groupMan.getGroupUsers(groupId); for (User u : users) { Notification notification = new Notification( u.getId(), u, groupId, null, "Meeting " + description + " was created by " + createdByUser.getFullName(), "/group/meeting?meetingId=" + meetingId); notificationMan.createNotification(notification); } // Update the User Session to show new meeting HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User admin = userSession.getUser(); admin.getMeetings().add(meeting); // Show meeting page viewData.put("meetingUsers", users); viewData.put("meeting", meeting); view(req, res, "/views/group/Meeting.jsp", viewData); } }