List of usage examples for org.apache.commons.beanutils PropertyUtils copyProperties
public static void copyProperties(Object dest, Object orig) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
Copy property values from the "origin" bean to the "destination" bean for all cases where the property names are the same (even though the actual getter and setter methods might have been customized via BeanInfo
classes).
For more details see PropertyUtilsBean
.
From source file:us.mn.state.health.lims.common.daoimpl.GenericDAOImpl.java
/*** * get one entity, by the ID contained in the given Entity, filling in the given entity with the values. *//*from w w w . j a v a2 s. com*/ public void getData(Entity entity) throws LIMSRuntimeException { Entity tmpEntity = readEntity(entity.getId()); // PAH reused readEntity instead of doing the code again. if (tmpEntity != null) { try { PropertyUtils.copyProperties(entity, tmpEntity); } catch (Exception e) { throw createAndLogException("getData()", e); } } else { entity.setId(null); } }
From source file:us.mn.state.health.lims.common.provider.query.SampleItemTestProvider.java
/** * Figure out if the given "test" (actually something of a test panel) Ask * the project form mapper//from w w w.j a va 2 s. c o m * * @param sampleKey * @param projectFormName * @param sampleItemTypeTag * @param testTag * @return * @throws Exception */ private boolean wasTestSelected(String sampleKey, String projectFormName, String sampleItemType, String testTag) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { ProjectData projectData = new ProjectData(); Map<String, Boolean> miniForm = new HashMap<String, Boolean>(); miniForm.put(sampleItemType + "Taken", Boolean.TRUE); miniForm.put(testTag, Boolean.TRUE); PropertyUtils.copyProperties(projectData, miniForm); List<Analysis> analysis = findAnalysis(sampleKey, projectFormName, projectData); return analysis.size() != 0; }
From source file:us.mn.state.health.lims.county.action.CountyAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // The first job is to determine if we are coming to this action with an // ID parameter in the request. If there is no parameter, we are // creating a new County. // If there is a parameter present, we should bring up an existing // County to edit. String id = request.getParameter(ID); String forward = "success"; request.setAttribute(ALLOW_EDITS_KEY, "true"); request.setAttribute(PREVIOUS_DISABLED, "true"); request.setAttribute(NEXT_DISABLED, "true"); DynaActionForm dynaForm = (DynaActionForm) form; // initialize the form dynaForm.initialize(mapping);//from w w w. ja va 2 s .c o m County county = new County(); //System.out.println("I am in CountyAction and this is id " + id); if ((id != null) && (!"0".equals(id))) { // this is an existing // county county.setId(id); CountyDAO countyDAO = new CountyDAOImpl(); countyDAO.getData(county); // initialize sysUserId if (county.getRegion() != null) { county.setRegionId(county.getRegion().getId()); } isNew = false; // this is to set correct page title // do we need to enable next or previous? //bugzilla 1427 pass in name not id List counties = countyDAO.getNextCountyRecord(county.getCounty()); if (counties.size() > 0) { // enable next button request.setAttribute(NEXT_DISABLED, "false"); } //bugzilla 1427 pass in name not id counties = countyDAO.getPreviousCountyRecord(county.getCounty()); if (counties.size() > 0) { // enable next button request.setAttribute(PREVIOUS_DISABLED, "false"); } // end of logic to enable next or previous button } else { // this is a new county isNew = true; // this is to set correct page title } if (county.getId() != null && !county.getId().equals("0")) { request.setAttribute(ID, county.getId()); } // populate form from valueholder PropertyUtils.copyProperties(form, county); RegionDAO regionDAO = new RegionDAOImpl(); List regions = regionDAO.getAllRegions(); PropertyUtils.setProperty(form, "regions", regions); //System.out.println("I am in CountyAction this is forward " + forward); return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.county.action.CountyUpdateAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // The first job is to determine if we are coming to this action with an // ID parameter in the request. If there is no parameter, we are // creating a new County. // If there is a parameter present, we should bring up an existing // County to edit. String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); request.setAttribute(PREVIOUS_DISABLED, "false"); request.setAttribute(NEXT_DISABLED, "false"); String id = request.getParameter(ID); if (StringUtil.isNullorNill(id) || "0".equals(id)) { isNew = true;//from w w w . j a v a 2 s. c om } else { isNew = false; } BaseActionForm dynaForm = (BaseActionForm) form; // server-side validation (validation.xml) ActionMessages errors = dynaForm.validate(mapping, request); if (errors != null && errors.size() > 0) { saveErrors(request, errors); // since we forward to jsp - not Action we don't need to repopulate // the lists here return mapping.findForward(FWD_FAIL); } String start = (String) request.getParameter("startingRecNo"); String direction = (String) request.getParameter("direction"); County county = new County(); //get sysUserId from login module UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId = String.valueOf(usd.getSystemUserId()); county.setSysUserId(sysUserId); org.hibernate.Transaction tx = HibernateUtil.getSession().beginTransaction(); String regionId = (String) dynaForm.get("regionId"); List regions = new ArrayList(); if (dynaForm.get("regions") != null) { regions = (List) dynaForm.get("regions"); } else { RegionDAO regionDAO = new RegionDAOImpl(); regions = regionDAO.getAllRegions(); } Region region = null; for (int i = 0; i < regions.size(); i++) { Region reg = (Region) regions.get(i); if (reg.getId().equals(regionId)) { region = reg; break; } } // populate valueholder from form PropertyUtils.copyProperties(county, dynaForm); // set the region county.setRegion(region); try { CountyDAO countyDAO = new CountyDAOImpl(); if (!isNew) { // UPDATE countyDAO.updateData(county); } else { // INSERT countyDAO.insertData(county); } tx.commit(); } catch (LIMSRuntimeException lre) { //bugzilla 2154 LogEvent.logError("CountyUpdateAction", "performAction()", lre.toString()); tx.rollback(); errors = new ActionMessages(); //bugzilla 1482 java.util.Locale locale = (java.util.Locale) request.getSession() .getAttribute("org.apache.struts.action.LOCALE"); ActionError error = null; if (lre.getException() instanceof org.hibernate.StaleObjectStateException) { // how can I get popup instead of struts error at the top of // page? // ActionMessages errors = dynaForm.validate(mapping, request); error = new ActionError("errors.OptimisticLockException", null, null); } else { // bugzilla 1482 if (lre.getException() instanceof LIMSDuplicateRecordException) { String messageKey = "county.county"; String msg = ResourceLocator.getInstance().getMessageResources().getMessage(locale, messageKey); error = new ActionError("errors.DuplicateRecord", msg, null); } else { error = new ActionError("errors.UpdateException", null, null); } } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); //bugzilla 1485: allow change and try updating again (enable save button) //request.setAttribute(IActionConstants.ALLOW_EDITS_KEY, "false"); // disable previous and next request.setAttribute(PREVIOUS_DISABLED, "true"); request.setAttribute(NEXT_DISABLED, "true"); forward = FWD_FAIL; } finally { HibernateUtil.closeSession(); } if (forward.equals(FWD_FAIL)) return mapping.findForward(forward); // initialize the form dynaForm.initialize(mapping); // repopulate the form from valueholder PropertyUtils.copyProperties(dynaForm, county); // need to repopulate in case of FWD_FAIL? PropertyUtils.setProperty(dynaForm, "regions", regions); if ("true".equalsIgnoreCase(request.getParameter("close"))) { forward = FWD_CLOSE; } if (county.getId() != null && !county.getId().equals("0")) { request.setAttribute(ID, county.getId()); } //bugzilla 1400 if (isNew) forward = FWD_SUCCESS_INSERT; //bugzilla 1467 added direction for redirect to NextPreviousAction return getForward(mapping.findForward(forward), id, start, direction); }
From source file:us.mn.state.health.lims.county.daoimpl.CountyDAOImpl.java
public void getData(County county) throws LIMSRuntimeException { try {/* w w w .j a v a 2s . com*/ County co = (County) HibernateUtil.getSession().get(County.class, county.getId()); HibernateUtil.getSession().flush(); HibernateUtil.getSession().clear(); if (co != null) { PropertyUtils.copyProperties(county, co); } else { county.setId(null); } } catch (Exception e) { //bugzilla 2154 LogEvent.logError("CountyDAOImpl", "getData()", e.toString()); throw new LIMSRuntimeException("Error in County getData()", e); } }
From source file:us.mn.state.health.lims.dictionary.action.DictionaryAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // The first job is to determine if we are coming to this action with an // ID parameter in the request. If there is no parameter, we are // creating a new Dictionary. // If there is a parameter present, we should bring up an existing // Dictionary to edit. String id = request.getParameter(ID); String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); //bugzilla 2062 request.setAttribute(RECORD_FROZEN_EDIT_DISABLED_KEY, "false"); request.setAttribute(PREVIOUS_DISABLED, "true"); request.setAttribute(NEXT_DISABLED, "true"); DynaActionForm dynaForm = (DynaActionForm) form; // initialize the form dynaForm.initialize(mapping);/*from w ww. j a v a 2 s . c o m*/ Dictionary dictionary = new Dictionary(); if ((id != null) && (!"0".equals(id))) { // this is an existing // dictionary dictionary.setId(id); DictionaryDAO dictionaryDAO = new DictionaryDAOImpl(); dictionaryDAO.getData(dictionary); isNew = false; // this is to set correct page title // do we need to enable next or previous? List dictionarys = dictionaryDAO.getNextDictionaryRecord(dictionary.getId()); if (dictionarys.size() > 0) { // enable next button request.setAttribute(NEXT_DISABLED, "false"); } dictionarys = dictionaryDAO.getPreviousDictionaryRecord(dictionary.getId()); if (dictionarys.size() > 0) { // enable next button request.setAttribute(PREVIOUS_DISABLED, "false"); } // end of logic to enable next or previous button } else { // this is a new dictionary // default isActive to 'Y' dictionary.setIsActive(YES); isNew = true; // this is to set correct page title } if (dictionary.getId() != null && !dictionary.getId().equals("0")) { request.setAttribute(ID, dictionary.getId()); // bugzilla 2062 initialize selectedDictionaryCategoryId if (dictionary.getDictionaryCategory() != null) { dictionary.setSelectedDictionaryCategoryId(dictionary.getDictionaryCategory().getId()); } } // populate form from valueholder PropertyUtils.copyProperties(form, dictionary); DictionaryCategoryDAO dictCategorygDAO = new DictionaryCategoryDAOImpl(); List dictCats = dictCategorygDAO.getAllDictionaryCategorys(); PropertyUtils.setProperty(form, "categories", dictCats); return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.dictionary.action.DictionaryUpdateAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // The first job is to determine if we are coming to this action with an // ID parameter in the request. If there is no parameter, we are // creating a new Dictionary. // If there is a parameter present, we should bring up an existing // Dictionary to edit. String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); request.setAttribute(PREVIOUS_DISABLED, "false"); request.setAttribute(NEXT_DISABLED, "false"); String id = request.getParameter(ID); if (StringUtil.isNullorNill(id) || "0".equals(id)) { isNew = true;// w ww . java 2 s .c om } else { isNew = false; } BaseActionForm dynaForm = (BaseActionForm) form; // server-side validation (validation.xml) ActionMessages errors = dynaForm.validate(mapping, request); if (errors != null && errors.size() > 0) { // System.out.println("Server side validation errors " // + errors.toString()); saveErrors(request, errors); // since we forward to jsp - not Action we don't need to repopulate // the lists here return mapping.findForward(FWD_FAIL); } String start = (String) request.getParameter("startingRecNo"); String direction = (String) request.getParameter("direction"); // System.out.println("This is ID from request " + id); Dictionary dictionary = new Dictionary(); //get sysUserId from login module UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId = String.valueOf(usd.getSystemUserId()); dictionary.setSysUserId(sysUserId); org.hibernate.Transaction tx = HibernateUtil.getSession().beginTransaction(); // populate valueholder from form PropertyUtils.copyProperties(dictionary, dynaForm); //bugzilla 2062 DictionaryDAO dictionaryDAO = new DictionaryDAOImpl(); DictionaryCategoryDAO dictionaryCategoryDAO = new DictionaryCategoryDAOImpl(); String selectedCategoryId = (String) dynaForm.get("selectedDictionaryCategoryId"); //bugzilla 2108 DictionaryCategory dictionaryCategory = null; if (!StringUtil.isNullorNill(selectedCategoryId)) { dictionaryCategory = new DictionaryCategory(); dictionaryCategory.setId(selectedCategoryId); dictionaryCategoryDAO.getData(dictionaryCategory); } dictionary.setDictionaryCategory(dictionaryCategory); try { if (!isNew) { // UPDATE //bugzilla 2062 boolean isDictionaryFrozenCheckRequired = false; //there is an exception to rule of checking whether dictionary record //is frozen (can no longer be updated): //currenly if only isActive has changed and //the current value is 'Y' //OR //bugzilla 1847: also the local abbreviation can be deleted/updated/inserted at anytime String dirtyFormFields = (String) dynaForm.get("dirtyFormFields"); String isActiveValue = (String) dynaForm.get("isActive"); String[] dirtyFields = dirtyFormFields .split(SystemConfiguration.getInstance().getDefaultIdSeparator(), -1); List listOfDirtyFields = new ArrayList(); for (int i = 0; i < dirtyFields.length; i++) { String dirtyField = dirtyFields[i]; if (!StringUtil.isNullorNill(dirtyField)) { listOfDirtyFields.add(dirtyField); } } List listOfDirtyFieldsNoFrozenCheckRequired = new ArrayList(); listOfDirtyFieldsNoFrozenCheckRequired.add("isActive"); listOfDirtyFieldsNoFrozenCheckRequired.add("localAbbreviation"); //bugzilla 1847 : added to exception for frozen check required // isActive changed to Y (no frozen check required) //localAbbreviation has changed (no frozen check required) if (!listOfDirtyFields.isEmpty()) { for (int i = 0; i < listOfDirtyFields.size(); i++) { String dirtyField = (String) listOfDirtyFields.get(i); if (!listOfDirtyFieldsNoFrozenCheckRequired.contains(dirtyField)) { isDictionaryFrozenCheckRequired = true; } else { //in case of isActive: need to make sure it changed to YES to be able // to skip isFrozenCheck if (dirtyField.equals("isActive") && !isActiveValue.equals(YES)) { isDictionaryFrozenCheckRequired = true; } } } } else { isDictionaryFrozenCheckRequired = false; } dictionaryDAO.updateData(dictionary, isDictionaryFrozenCheckRequired); } else { // INSERT dictionaryDAO.insertData(dictionary); } tx.commit(); } catch (LIMSRuntimeException lre) { //bugzilla 2154 LogEvent.logError("DictionaryUpdateAction", "performAction()", lre.toString()); tx.rollback(); errors = new ActionMessages(); //1482 java.util.Locale locale = (java.util.Locale) request.getSession() .getAttribute("org.apache.struts.action.LOCALE"); ActionError error = null; if (lre.getException() instanceof org.hibernate.StaleObjectStateException) { // how can I get popup instead of struts error at the top of // page? // ActionMessages errors = dynaForm.validate(mapping, request); error = new ActionError("errors.OptimisticLockException", null, null); } else { //bugzilla 1386 if (lre.getException() instanceof LIMSDuplicateRecordException) { String messageKey = "dictionary.dictEntryByCategory"; String msg = ResourceLocator.getInstance().getMessageResources().getMessage(locale, messageKey); error = new ActionError("errors.DuplicateRecord.activate", msg, null); } else if (lre.getException() instanceof LIMSFrozenRecordException) { String messageKey = "dictionary.dictEntry"; String msg = ResourceLocator.getInstance().getMessageResources().getMessage(locale, messageKey); error = new ActionError("errors.FrozenRecord", msg, null); //Now disallow further edits RECORD_FROZEN_EDIT_DISABLED_KEY //in this case User needs to Exit and come back to refresh form //for further updates (this is to restore isDirty() functionality //that relies on defaultValues of form // --this is needed to determine whether frozen check is required request.setAttribute(RECORD_FROZEN_EDIT_DISABLED_KEY, "true"); } else { error = new ActionError("errors.UpdateException", null, null); } } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); //bugzilla 1485: allow change and try updating again (enable save button) //request.setAttribute(IActionConstants.ALLOW_EDITS_KEY, "false"); // disable previous and next request.setAttribute(PREVIOUS_DISABLED, "true"); request.setAttribute(NEXT_DISABLED, "true"); forward = FWD_FAIL; } finally { HibernateUtil.closeSession(); } if (forward.equals(FWD_FAIL)) return mapping.findForward(forward); // initialize the form dynaForm.initialize(mapping); // repopulate the form from valueholder PropertyUtils.copyProperties(dynaForm, dictionary); if ("true".equalsIgnoreCase(request.getParameter("close"))) { forward = FWD_CLOSE; } if (dictionary.getId() != null && !dictionary.getId().equals("0")) { request.setAttribute(ID, dictionary.getId()); } //bugzilla 1400 if (isNew) forward = FWD_SUCCESS_INSERT; //bugzilla 1467 added direction for redirect to NextPreviousAction return getForward(mapping.findForward(forward), id, start, direction); }
From source file:us.mn.state.health.lims.dictionary.daoimpl.DictionaryDAOImpl.java
public void getData(Dictionary dictionary) throws LIMSRuntimeException { try {/*from w w w . j a v a2 s . co m*/ Dictionary d = (Dictionary) HibernateUtil.getSession().get(Dictionary.class, dictionary.getId()); HibernateUtil.getSession().flush(); HibernateUtil.getSession().clear(); if (d != null) { PropertyUtils.copyProperties(dictionary, d); } else { dictionary.setId(null); } } catch (Exception e) { // bugzilla 2154 LogEvent.logError("DictionaryDAOImpl", "getData()", e.toString()); throw new LIMSRuntimeException("Error in Dictionary getData()", e); } }
From source file:us.mn.state.health.lims.dictionarycategory.action.DictionaryCategoryAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // The first job is to determine if we are coming to this action with an // ID parameter in the request. If there is no parameter, we are // creating a new DictionaryCategory. // If there is a parameter present, we should bring up an existing // DictionaryCategory to edit. String id = request.getParameter(ID); String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); request.setAttribute(PREVIOUS_DISABLED, "true"); request.setAttribute(NEXT_DISABLED, "true"); DynaActionForm dynaForm = (DynaActionForm) form; // initialize the form dynaForm.initialize(mapping);// w w w .ja v a 2 s . c o m DictionaryCategory dictionaryCategory = new DictionaryCategory(); //System.out.println("I am in DictionaryCategoryAction and this is id " + id); if ((id != null) && (!"0".equals(id))) { // this is an existing // dictionaryCategory dictionaryCategory.setId(id); DictionaryCategoryDAO dictionaryCategoryDAO = new DictionaryCategoryDAOImpl(); dictionaryCategoryDAO.getData(dictionaryCategory); isNew = false; // this is to set correct page title // do we need to enable next or previous? List dictionaryCategorys = dictionaryCategoryDAO .getNextDictionaryCategoryRecord(dictionaryCategory.getId()); if (dictionaryCategorys.size() > 0) { // enable next button request.setAttribute(NEXT_DISABLED, "false"); } dictionaryCategorys = dictionaryCategoryDAO .getPreviousDictionaryCategoryRecord(dictionaryCategory.getId()); if (dictionaryCategorys.size() > 0) { // enable next button request.setAttribute(PREVIOUS_DISABLED, "false"); } // end of logic to enable next or previous button } else { // this is a new dictionaryCategory isNew = true; // this is to set correct page title } if (dictionaryCategory.getId() != null && !dictionaryCategory.getId().equals("0")) { request.setAttribute(ID, dictionaryCategory.getId()); } // populate form from valueholder PropertyUtils.copyProperties(form, dictionaryCategory); //System.out.println("I am in DictionaryCategoryAction this is forward " + forward); return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.dictionarycategory.action.DictionaryCategoryUpdateAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // The first job is to determine if we are coming to this action with an // ID parameter in the request. If there is no parameter, we are // creating a new DictionaryCategory. // If there is a parameter present, we should bring up an existing // DictionaryCategory to edit. String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); request.setAttribute(PREVIOUS_DISABLED, "false"); request.setAttribute(NEXT_DISABLED, "false"); String id = request.getParameter(ID); if (StringUtil.isNullorNill(id) || "0".equals(id)) { isNew = true;/*from w w w. ja v a2s . c o m*/ } else { isNew = false; } BaseActionForm dynaForm = (BaseActionForm) form; // server-side validation (validation.xml) ActionMessages errors = dynaForm.validate(mapping, request); if (errors != null && errors.size() > 0) { saveErrors(request, errors); // since we forward to jsp - not Action we don't need to repopulate // the lists here return mapping.findForward(FWD_FAIL); } String start = (String) request.getParameter("startingRecNo"); String direction = (String) request.getParameter("direction"); DictionaryCategory dictionaryCategory = new DictionaryCategory(); //get sysUserId from login module UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId = String.valueOf(usd.getSystemUserId()); dictionaryCategory.setSysUserId(sysUserId); org.hibernate.Transaction tx = HibernateUtil.getSession().beginTransaction(); // populate valueholder from form PropertyUtils.copyProperties(dictionaryCategory, dynaForm); try { DictionaryCategoryDAO dictionaryCategoryDAO = new DictionaryCategoryDAOImpl(); if (!isNew) { // UPDATE dictionaryCategoryDAO.updateData(dictionaryCategory); } else { // INSERT dictionaryCategoryDAO.insertData(dictionaryCategory); } tx.commit(); } catch (LIMSRuntimeException lre) { //bugzilla 2154 LogEvent.logError("DictionaryCategoryUpdateAction", "performAction()", lre.toString()); tx.rollback(); errors = new ActionMessages(); ActionError error = null; if (lre.getException() instanceof org.hibernate.StaleObjectStateException) { // how can I get popup instead of struts error at the top of // page? // ActionMessages errors = dynaForm.validate(mapping, request); error = new ActionError("errors.OptimisticLockException", null, null); } else { //bugzilla 1386 if (lre.getException() instanceof LIMSDuplicateRecordException) { java.util.Locale locale = (java.util.Locale) request.getSession() .getAttribute("org.apache.struts.action.LOCALE"); //bugzilla 2108 the error message was incorrect String messageKey = "dictionarycategory.categoryname"; String msg = ResourceLocator.getInstance().getMessageResources().getMessage(locale, messageKey); error = new ActionError("errors.DuplicateRecord", msg, null); } else { error = new ActionError("errors.UpdateException", null, null); } } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); //bugzilla 1485: allow change and try updating again (enable save button) //request.setAttribute(IActionConstants.ALLOW_EDITS_KEY, "false"); request.setAttribute(PREVIOUS_DISABLED, "true"); request.setAttribute(NEXT_DISABLED, "true"); forward = FWD_FAIL; } finally { HibernateUtil.closeSession(); } if (forward.equals(FWD_FAIL)) return mapping.findForward(forward); // initialize the form dynaForm.initialize(mapping); // repopulate the form from valueholder PropertyUtils.copyProperties(dynaForm, dictionaryCategory); if ("true".equalsIgnoreCase(request.getParameter("close"))) { forward = FWD_CLOSE; } if (dictionaryCategory.getId() != null && !dictionaryCategory.getId().equals("0")) { request.setAttribute(ID, dictionaryCategory.getId()); } //bugzilla 1400 if (isNew) forward = FWD_SUCCESS_INSERT; //bugzilla 1467 added direction for redirect to NextPreviousAction return getForward(mapping.findForward(forward), id, start, direction); }