public ActionForward save( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoggedInInfo loggedInInfo = LoggedInInfo.getLoggedInInfoFromSession(request); DynaActionForm dform = (DynaActionForm) form; Episode episode = (Episode) dform.get("episode"); Integer id = null; try { id = Integer.parseInt(request.getParameter("episode.id")); } catch (NumberFormatException e) { /*empty*/ } Episode e = null; if (id != null && id.intValue() > 0) { e = episodeDao.find(Integer.valueOf(id)); } else { e = new Episode(); } BeanUtils.copyProperties(episode, e, new String[] {"id", "lastUpdateTime", "lastUpdateUser"}); e.setLastUpdateUser(loggedInInfo.getLoggedInProviderNo()); if (!securityInfoManager.hasPrivilege( LoggedInInfo.getLoggedInInfoFromSession(request), "_demographic", "w", e.getDemographicNo())) { throw new SecurityException("missing required security object (_demographic)"); } if (id != null && id.intValue() > 0) { episodeDao.merge(e); } else { episodeDao.persist(e); } request.setAttribute("parentAjaxId", "episode"); return mapping.findForward("success"); }
public boolean getInfo( EctSessionBean bean, HttpServletRequest request, NavBarDisplayDAO Dao, MessageResources messages) { boolean a = true; Vector v = OscarRoleObjectPrivilege.getPrivilegeProp("_newCasemgmt.episode"); String roleName = (String) request.getSession().getAttribute("userrole") + "," + (String) request.getSession().getAttribute("user"); a = OscarRoleObjectPrivilege.checkPrivilege(roleName, (Properties) v.get(0), (Vector) v.get(1)); a = true; if (!a) { return true; } else { try { String appointmentNo = request.getParameter("appointment_no"); // Set lefthand module heading and link String winName = "episode" + bean.demographicNo; String pathview, pathedit; pathview = request.getContextPath() + "/Episode.do?method=list&demographicNo=" + bean.demographicNo; pathedit = request.getContextPath() + "/Episode.do?method=edit&demographicNo=" + bean.demographicNo; String url = "popupPage(500,900,'" + winName + "','" + pathview + "')"; Dao.setLeftHeading(messages.getMessage(request.getLocale(), "global.episode")); Dao.setLeftURL(url); // set right hand heading link winName = "AddEpisode" + bean.demographicNo; url = "popupPage(500,600,'" + winName + "','" + pathedit + "'); return false;"; Dao.setRightURL(url); Dao.setRightHeadingID(cmd); EpisodeDao episodeDao = SpringUtils.getBean(EpisodeDao.class); List<Episode> episodes = episodeDao.findAllCurrent(Integer.parseInt(bean.demographicNo)); for (Episode episode : episodes) { NavBarDisplayDAO.Item item = NavBarDisplayDAO.Item(); String itemHeader = StringUtils.maxLenString( episode.getDescription(), MAX_LEN_TITLE, CROP_LEN_TITLE, ELLIPSES); item.setLinkTitle(itemHeader); item.setTitle(itemHeader); item.setDate(episode.getStartDate()); int hash = Math.abs(winName.hashCode()); url = "popupPage(500,900,'" + hash + "','" + request.getContextPath() + "/Episode.do?method=edit&episode.id=" + episode.getId() + "'); return false;"; item.setURL(url); Dao.addItem(item); } } catch (Exception e) { MiscUtils.getLogger().error("Error", e); return false; } return true; } }