/** * Handle actions for the DeleteRecordDelegate. * * @throws IOException, standard exception thrown by servlet methods. * @throws ServletException, standard exception thrown by servlet methods. */ public void run() throws IOException, ServletException { try { // validate Util.argCheckNull(_request); Util.argCheckNull(_response); // make the cell MdnClientCell client = new MdnClientCell(); client.setAlign(AlignType.CENTER); client.setClientTitle(ConfirmDeleteDelegate.TEXT_DELETE_TITLE.getText()); client.setHelpUrl("/help/mdnhelp.html#bDeleteRecord"); // table and title WslHtmlTable table = new WslHtmlTable(); client.addElement(table); TD cell = new TD(MdnHtmlServlet.getTitleElement(ConfirmDeleteDelegate.TEXT_DELETE_TITLE.getText())); cell.setColSpan(2); TR row = new TR(cell); table.addElement(row); // get the rec index String strIndex = _request.getParameter(MdnHtmlServlet.PV_RECORD_INDEX); if (strIndex != null && strIndex.length() > 0) { int index = Integer.parseInt(strIndex); // get the record PagedSelectDelegate psd = (PagedSelectDelegate) getUserState().getCurrentPagedQuery(); Record rec = psd.getRecord(index); if (rec != null) { // delete the record rec.delete(); // delegate to query int queryId = psd.getQueryId(); String strQueryId = String.valueOf(queryId); delegate(new QueryRecordsDelegate(strQueryId)); return; } else table.addElement( new TR(new TD(WslHtmlUtil.esc(MdnHtmlServlet.ERR_REC_NOT_FOUND.getText())))); } else table.addElement( new TR(new TD(WslHtmlUtil.esc(MdnHtmlServlet.ERR_REC_NOT_FOUND.getText())))); // send output outputClientCell(client); } catch (Exception e) { onError(ERR_DELETE.getText(), e); } }
/** @return Record the current record */ public Record getRecord(HttpServletRequest request) { // get the index param Record rec = null; String strIndex = request.getParameter(MdnHtmlServlet.PV_RECORD_INDEX); if (strIndex != null && strIndex.length() > 0) { int index = Integer.parseInt(strIndex); // get the record if (index >= 0) { PagedSelectDelegate psd = (PagedSelectDelegate) getCurrentPagedQuery(); rec = psd.getRecord(index); } else rec = getCurrentNewRecord(); } // return return rec; }