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.sample.action.NewbornSampleOneUpdateAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); BaseActionForm dynaForm = (BaseActionForm) form; ActionMessages errors = dynaForm.validate(mapping, request); String accessionNumber = (String) dynaForm.get("accessionNumber"); String birthWeight = (String) dynaForm.get("birthWeight"); Patient patient = new Patient(); Person person = new Person(); Sample sample = new Sample(); SampleHuman sampleHuman = new SampleHuman(); SampleNewborn sampleNewborn = new SampleNewborn(); UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId = String.valueOf(usd.getSystemUserId()); // populate valueholder from form PropertyUtils.copyProperties(sample, dynaForm); PropertyUtils.copyProperties(person, dynaForm); PropertyUtils.copyProperties(sampleHuman, dynaForm); PropertyUtils.copyProperties(sampleNewborn, dynaForm); String birthDate = dynaForm.getString("birthDateForDisplay"); String birthTime = dynaForm.getString("birthTimeForDisplay"); String format = "MM/dd/yyyy"; if ((birthDate != null) && (birthDate.length() > 0)) { java.text.SimpleDateFormat f = new java.text.SimpleDateFormat(format); java.sql.Timestamp dob = new java.sql.Timestamp(f.parse(birthDate).getTime()); if ((birthTime != null) && (birthTime.length() > 0)) { Calendar cal = Calendar.getInstance(); cal.setTime(dob);// w w w . ja va 2 s .c om cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(birthTime.substring(0, 2)).intValue()); cal.set(Calendar.MINUTE, Integer.valueOf(birthTime.substring(3, 5)).intValue()); dob = new java.sql.Timestamp(cal.getTimeInMillis()); } patient.setBirthDate(dob); } String collectionDate = dynaForm.getString("collectionDateForDisplay"); String collectionTime = dynaForm.getString("collectionTimeForDisplay"); java.sql.Timestamp collDate = null; if ((collectionDate != null) && (collectionDate.length() > 0)) { java.text.SimpleDateFormat f = new java.text.SimpleDateFormat(format); collDate = new java.sql.Timestamp(f.parse(collectionDate).getTime()); if ((collectionTime != null) && (collectionTime.length() > 0)) { Calendar cal = Calendar.getInstance(); cal.setTime(collDate); cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(collectionTime.substring(0, 2)).intValue()); cal.set(Calendar.MINUTE, Integer.valueOf(collectionTime.substring(3, 5)).intValue()); collDate = new java.sql.Timestamp(cal.getTimeInMillis()); } } SampleDAO sampleDAO = new SampleDAOImpl(); PersonDAO personDAO = new PersonDAOImpl(); PatientDAO patientDAO = new PatientDAOImpl(); SampleHumanDAO sampleHumanDAO = new SampleHumanDAOImpl(); SampleNewbornDAO sampleNewbornDAO = new SampleNewbornDAOImpl(); org.hibernate.Transaction tx = HibernateUtil.getSession().beginTransaction(); try { sample.setSysUserId(sysUserId); sample.setAccessionNumber(accessionNumber); sampleDAO.getSampleByAccessionNumber(sample); sample.setStatus(SystemConfiguration.getInstance().getSampleStatusEntry1Complete()); sample.setCollectionDate(collDate); sampleDAO.updateData(sample); person.setSysUserId(sysUserId); patient.setSysUserId(sysUserId); personDAO.insertData(person); patient.setPerson(person); patientDAO.insertData(patient); sampleHuman.setSysUserId(sysUserId); sampleHuman.setSampleId(sample.getId()); sampleHuman.setPatientId(patient.getId()); sampleHumanDAO.insertData(sampleHuman); sampleNewborn.setSysUserId(sysUserId); sampleNewborn.setId(sampleHuman.getId()); sampleNewborn.setWeight(birthWeight); sampleNewbornDAO.insertData(sampleNewborn); tx.commit(); } catch (LIMSRuntimeException lre) { LogEvent.logError("NewbornSampleOneUpdateAction", "performAction()", lre.toString()); tx.rollback(); errors = new ActionMessages(); ActionError error = null; if (lre.getException() instanceof org.hibernate.StaleObjectStateException) { error = new ActionError("errors.OptimisticLockException", null, null); } else { error = new ActionError("errors.UpdateException", null, null); } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); request.setAttribute(ALLOW_EDITS_KEY, "false"); forward = FWD_FAIL; } finally { HibernateUtil.closeSession(); } if (forward.equals(FWD_FAIL)) return mapping.findForward(forward); return mapping.findForward(FWD_SUCCESS); }
From source file:us.mn.state.health.lims.sample.action.NewbornSampleTwoUpdateAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); BaseActionForm dynaForm = (BaseActionForm) form; ActionMessages errors = dynaForm.validate(mapping, request); String accessionNumber = (String) dynaForm.get("accessionNumber"); String birthWeight = (String) dynaForm.get("birthWeight"); UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId = String.valueOf(usd.getSystemUserId()); String birthDate = dynaForm.getString("birthDateForDisplay"); String birthTime = dynaForm.getString("birthTimeForDisplay"); String format = "MM/dd/yyyy"; java.sql.Timestamp dob = null; if ((birthDate != null) && (birthDate.length() > 0)) { java.text.SimpleDateFormat f = new java.text.SimpleDateFormat(format); dob = new java.sql.Timestamp(f.parse(birthDate).getTime()); if ((birthTime != null) && (birthTime.length() > 0)) { Calendar cal = Calendar.getInstance(); cal.setTime(dob);/*from w w w .ja va 2s . c o m*/ cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(birthTime.substring(0, 2)).intValue()); cal.set(Calendar.MINUTE, Integer.valueOf(birthTime.substring(3, 5)).intValue()); dob = new java.sql.Timestamp(cal.getTimeInMillis()); } } String collectionDate = dynaForm.getString("collectionDateForDisplay"); String collectionTime = dynaForm.getString("collectionTimeForDisplay"); java.sql.Timestamp collDate = null; if ((collectionDate != null) && (collectionDate.length() > 0)) { java.text.SimpleDateFormat f = new java.text.SimpleDateFormat(format); collDate = new java.sql.Timestamp(f.parse(collectionDate).getTime()); if ((collectionTime != null) && (collectionTime.length() > 0)) { Calendar cal = Calendar.getInstance(); cal.setTime(collDate); cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(collectionTime.substring(0, 2)).intValue()); cal.set(Calendar.MINUTE, Integer.valueOf(collectionTime.substring(3, 5)).intValue()); collDate = new java.sql.Timestamp(cal.getTimeInMillis()); } } Patient patient = new Patient(); Person person = new Person(); Sample sample = new Sample(); SampleHuman sampleHuman = new SampleHuman(); SampleNewborn sampleNewborn = new SampleNewborn(); SampleDAO sampleDAO = new SampleDAOImpl(); PersonDAO personDAO = new PersonDAOImpl(); PatientDAO patientDAO = new PatientDAOImpl(); SampleHumanDAO sampleHumanDAO = new SampleHumanDAOImpl(); SampleNewbornDAO sampleNewbornDAO = new SampleNewbornDAOImpl(); org.hibernate.Transaction tx = HibernateUtil.getSession().beginTransaction(); try { sample.setSysUserId(sysUserId); sample.setAccessionNumber(accessionNumber); sampleDAO.getSampleByAccessionNumber(sample); sample.setStatus(SystemConfiguration.getInstance().getSampleStatusEntry2Complete()); if (collDate != null) sample.setCollectionDate(collDate); sampleDAO.updateData(sample); sampleHuman.setSampleId(sample.getId()); sampleHumanDAO.getDataBySample(sampleHuman); patient.setId(sampleHuman.getPatientId()); patientDAO.getData(patient); person = patient.getPerson(); personDAO.getData(person); person.setSysUserId(sysUserId); PropertyUtils.copyProperties(person, dynaForm); personDAO.updateData(person); patient.setSysUserId(sysUserId); patient.setBirthDate(dob); patientDAO.updateData(patient); sampleNewborn.setId(sampleHuman.getId()); sampleNewbornDAO.getData(sampleNewborn); sampleNewborn.setSysUserId(sysUserId); sampleNewborn.setWeight(birthWeight); sampleNewbornDAO.updateData(sampleNewborn); tx.commit(); } catch (LIMSRuntimeException lre) { LogEvent.logError("NewbornSampleTwoUpdateAction", "performAction()", lre.toString()); tx.rollback(); errors = new ActionMessages(); ActionError error = null; if (lre.getException() instanceof org.hibernate.StaleObjectStateException) { error = new ActionError("errors.OptimisticLockException", null, null); } else { error = new ActionError("errors.UpdateException", null, null); } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); request.setAttribute(ALLOW_EDITS_KEY, "false"); forward = FWD_FAIL; } finally { HibernateUtil.closeSession(); } if (forward.equals(FWD_FAIL)) return mapping.findForward(forward); return mapping.findForward(FWD_SUCCESS); }
From source file:us.mn.state.health.lims.sample.action.QuickEntryAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // This is a new quick entry sample String forward = "success"; request.setAttribute(ALLOW_EDITS_KEY, "false"); HttpSession session = request.getSession(); ArrayList selectedTestIds = new ArrayList(); session.setAttribute("selectedTestIds", selectedTestIds); BaseActionForm dynaForm = (BaseActionForm) form; // Initialize the form. dynaForm.initialize(mapping);/*from ww w . jav a2 s. c o m*/ Sample sample = new Sample(); // Set received date and entered date to today's date Date today = Calendar.getInstance().getTime(); Locale locale = (Locale) request.getSession().getAttribute("org.apache.struts.action.LOCALE"); String dateAsText = DateUtil.formatDateAsText(today, locale); SystemConfiguration sysConfig = SystemConfiguration.getInstance(); sample.setReceivedDateForDisplay(dateAsText); sample.setEnteredDateForDisplay(dateAsText); sample.setReferredCultureFlag(sysConfig.getQuickEntryDefaultReferredCultureFlag()); sample.setStickerReceivedFlag(sysConfig.getQuickEntryDefaultStickerReceivedFlag()); // default nextItemSequence to 1 (for clinical - always 1) sample.setNextItemSequence(sysConfig.getQuickEntryDefaultNextItemSequence()); // revision is set to 0 on insert sample.setRevision(sysConfig.getQuickEntryDefaultRevision()); sample.setCollectionTimeForDisplay(sysConfig.getQuickEntryDefaultCollectionTimeForDisplay()); if (sample.getId() != null && !sample.getId().equals("0")) { request.setAttribute(ID, sample.getId()); } // populate form from valueholder PropertyUtils.copyProperties(form, sample); PropertyUtils.setProperty(form, "currentDate", dateAsText); request.setAttribute("menuDefinition", "QuickEntryDefinition"); return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.sample.action.QuickEntryPopulateNewbornTestAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "false"); HttpSession session = request.getSession(); ArrayList selectedTestIds = new ArrayList(); session.setAttribute("selectedTestIds", selectedTestIds); BaseActionForm dynaForm = (BaseActionForm) form; String accessionNumber = dynaForm.getString("accessionNumber"); String accessionNumber2 = dynaForm.getString("accessionNumber2"); PropertyUtils.setProperty(form, "accessionNumber2", accessionNumber2); String sourceOfSampleDesc = dynaForm.getString("sourceOfSampleDesc"); PropertyUtils.setProperty(form, "sourceOfSampleDesc", sourceOfSampleDesc); String sourceOfSampleId = dynaForm.getString("sourceOfSampleId"); PropertyUtils.setProperty(form, "sourceOfSampleId", sourceOfSampleId); String sourceOther = dynaForm.getString("sourceOther"); PropertyUtils.setProperty(form, "sourceOther", sourceOther); TestDAO testDAO = new TestDAOImpl(); String newbornTestPanelName = SystemConfiguration.getInstance().getNewbornTestPanelName(); PanelDAO panelDAO = new PanelDAOImpl(); Panel panel = new Panel(); panel.setPanelName(newbornTestPanelName); panel = panelDAO.getPanelByName(panel); PanelItemDAO panelItemDAO = new PanelItemDAOImpl(); List panelItemsList = panelItemDAO.getPanelItemByPanel(panel, true); String idSeparator = SystemConfiguration.getInstance().getDefaultIdSeparator(); String testIds = ""; String testNames = ""; for (int i = 0; i < panelItemsList.size(); i++) { PanelItem currentPanelitem = (PanelItem) panelItemsList.get(i); String testName = currentPanelitem.getTestName(); Test panelItemTest = new Test(); panelItemTest.setTestName(testName); panelItemTest = testDAO.getTestByName(panelItemTest); testIds += idSeparator + panelItemTest.getId(); testNames += idSeparator + panelItemTest.getName(); }/*from ww w. ja v a 2 s . c o m*/ PropertyUtils.setProperty(form, "selectedTestIds", testIds); PropertyUtils.setProperty(form, "selectedTestNames", testNames); Sample sample = new Sample(); // Set received date and entered date to today's date Date today = Calendar.getInstance().getTime(); Locale locale = (Locale) request.getSession().getAttribute("org.apache.struts.action.LOCALE"); String dateAsText = DateUtil.formatDateAsText(today, locale); SystemConfiguration sysConfig = SystemConfiguration.getInstance(); sample.setReceivedDateForDisplay(dateAsText); sample.setEnteredDateForDisplay(dateAsText); sample.setReferredCultureFlag(sysConfig.getQuickEntryDefaultReferredCultureFlag()); sample.setStickerReceivedFlag(sysConfig.getQuickEntryDefaultStickerReceivedFlag()); sample.setAccessionNumber(accessionNumber); // default nextItemSequence to 1 (for clinical - always 1) sample.setNextItemSequence(sysConfig.getQuickEntryDefaultNextItemSequence()); // revision is set to 0 on insert sample.setRevision(sysConfig.getQuickEntryDefaultRevision()); sample.setCollectionTimeForDisplay(sysConfig.getQuickEntryDefaultCollectionTimeForDisplay()); if (sample.getId() != null && !sample.getId().equals("0")) { request.setAttribute(ID, sample.getId()); } // populate form from valueholder PropertyUtils.copyProperties(form, sample); PropertyUtils.setProperty(form, "currentDate", dateAsText); request.setAttribute("menuDefinition", "QuickEntryDefinition"); return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.sample.action.QuickEntryUpdateAction.java
protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String forward = FWD_SUCCESS; request.setAttribute(ALLOW_EDITS_KEY, "true"); BaseActionForm dynaForm = (BaseActionForm) form; // Perform server-side validation (validation.xml) ActionMessages errors = dynaForm.validate(mapping, request); try {// ww w. j ava2 s . c om errors = validateAll(request, errors, dynaForm); } catch (Exception e) { //bugzilla 2154 LogEvent.logError("QuickEntryUpdateAction", "performAction()", e.toString()); ActionError error = new ActionError("errors.ValidationException", null, null); errors.add(ActionMessages.GLOBAL_MESSAGE, error); } if ((errors != null) && (errors.size() > 0)) { saveErrors(request, errors); return mapping.findForward(FWD_FAIL); } String accessionNumber = (String) dynaForm.get("accessionNumber"); String accessionNumber2 = (String) dynaForm.get("accessionNumber2"); String receivedDate = (String) dynaForm.get("receivedDateForDisplay"); String typeOfSample = (String) dynaForm.get("typeOfSampleDesc"); String sourceOfSample = (String) dynaForm.get("sourceOfSampleDesc"); //bugzilla 1778 String sourceOther = (String) dynaForm.get("sourceOther"); String stringOfTestIds = (String) dynaForm.get("selectedTestIds"); Sample sample = null; List accessionNumbers = populateAccessionNumberList(accessionNumber, accessionNumber2, null); SampleItem sampleItem = new SampleItem(); sampleItem.setStatusId(StatusService.getInstance().getStatusID(SampleStatus.Entered)); // 1926 get sysUserId from login module UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId = String.valueOf(usd.getSystemUserId()); Transaction tx = HibernateUtil.getSession().beginTransaction(); try { SampleDAO sampleDAO = new SampleDAOImpl(); SampleItemDAO sampleItemDAO = new SampleItemDAOImpl(); AnalysisDAO analysisDAO = new AnalysisDAOImpl(); TypeOfSampleDAO typeOfSampleDAO = new TypeOfSampleDAOImpl(); SourceOfSampleDAO sourceOfSampleDAO = new SourceOfSampleDAOImpl(); AnalysisQaEventDAO analysisQaEventDAO = new AnalysisQaEventDAOImpl(); QaEventDAO qaEventDAO = new QaEventDAOImpl(); for (int j = 0; j < accessionNumbers.size(); j++) { sample = new Sample(); sample.setAccessionNumber((String) accessionNumbers.get(j)); sampleDAO.getSampleByAccessionNumber(sample); // if we are in batch mode we need to make // sure that the samples being updated are // in the correct status if (SystemConfiguration.getInstance().getSampleStatusLabelPrinted().equals(sample.getStatus())) { String[] listOfTestIds = stringOfTestIds .split(SystemConfiguration.getInstance().getDefaultIdSeparator(), -1); List analyses = new ArrayList(); for (int i = 0; i < listOfTestIds.length; i++) { if (!StringUtil.isNullorNill(listOfTestIds[i])) { Analysis analysis = new Analysis(); Test test = new Test(); String testId = (String) listOfTestIds[i]; test.setId(testId); TestDAO testDAO = new TestDAOImpl(); testDAO.getData(test); analysis.setTest(test); // bgm - bugzilla 1495 setting analysis status here // from // above analysis.setStatus(SystemConfiguration.getInstance().getAnalysisStatusAssigned()); //bugzilla 1942 analysis.setIsReportable(test.getIsReportable()); /** TODO: need to populate this with actual data!!! */ analysis.setAnalysisType("TEST"); analyses.add(analysis); } } sample.setAccessionNumber((String) accessionNumbers.get(j)); sample.setStatus(SystemConfiguration.getInstance().getSampleStatusQuickEntryComplete()); sample.setReceivedDateForDisplay(receivedDate); sample.setCollectionTimeForDisplay("00:00"); // Set entered date to today's date Date today = Calendar.getInstance().getTime(); Locale locale = (Locale) request.getSession().getAttribute("org.apache.struts.action.LOCALE"); String dateAsText = DateUtil.formatDateAsText(today, locale); sample.setEnteredDateForDisplay(dateAsText); //bugzilla 2528 String newbornTypeOfSample = SystemConfiguration.getInstance().getNewbornTypeOfSample(); if (typeOfSample.equals(newbornTypeOfSample)) sample.setDomain(SystemConfiguration.getInstance().getNewbornDomain()); else sample.setDomain(SystemConfiguration.getInstance().getHumanDomain()); sampleItem.setSortOrder("1"); if (!StringUtil.isNullorNill(typeOfSample)) { TypeOfSample typeOfSamp = new TypeOfSample(); typeOfSamp.setDescription(typeOfSample); typeOfSamp.setDomain(SystemConfiguration.getInstance().getHumanDomain()); typeOfSamp = typeOfSampleDAO.getTypeOfSampleByDescriptionAndDomain(typeOfSamp, true); sampleItem.setTypeOfSample(typeOfSamp); } if (!StringUtil.isNullorNill(sourceOfSample)) { SourceOfSample sourceOfSamp = new SourceOfSample(); sourceOfSamp.setDescription(sourceOfSample); //bugzilla 2528 if (typeOfSample.equals(newbornTypeOfSample)) sourceOfSamp.setDomain(SystemConfiguration.getInstance().getNewbornDomain()); else sourceOfSamp.setDomain(SystemConfiguration.getInstance().getHumanDomain()); String sourceOfSampleId = dynaForm.getString("sourceOfSampleId"); sourceOfSamp = sourceOfSampleDAO.getSourceOfSampleByDescriptionAndDomain(sourceOfSamp, true); sampleItem.setSourceOfSampleId(sourceOfSampleId); } //bugzilla 1778 if (!StringUtil.isNullorNill(sourceOther)) { sampleItem.setSourceOther(sourceOther); } // bugzilla 1926 sample.setSysUserId(sysUserId); sampleItem.setSysUserId(sysUserId); if (!StringUtil.isNullorNill(sample.getId())) { // Now update sampleDAO.updateData(sample); // bugzilla 1773 need to store sample not sampleId for // use in sorting sampleItem.setSample(sample); } else { sampleDAO.insertDataWithAccessionNumber(sample); // bugzilla 1773 need to store sample not sampleId for // use in sorting sampleItem.setSample(sample); } sampleItemDAO.insertData(sampleItem); // Analysis table for (int i = 0; i < analyses.size(); i++) { Analysis analysis = (Analysis) analyses.get(i); analysis.setSampleItem(sampleItem); // bugizlla 1926 analysis.setSysUserId(sysUserId); //bugzilla 2064 analysis.setRevision(SystemConfiguration.getInstance().getAnalysisDefaultRevision()); //bugzilla 2013 added duplicateCheck parameter analysisDAO.insertData(analysis, false); //bugzilla 2028: If Sample Type NOT GIVE then create ANALYSIS_QA_EVENT for each added test if (typeOfSample.equals(SAMPLE_TYPE_NOT_GIVEN)) { QaEvent qaEvent = new QaEvent(); qaEvent.setQaEventName( SystemConfiguration.getInstance().getQaEventCodeForRequestNoSampleType()); qaEvent = qaEventDAO.getQaEventByName(qaEvent); AnalysisQaEvent analysisQaEvent = new AnalysisQaEvent(); analysisQaEvent.setAnalysis(analysis); analysisQaEvent.setQaEvent(qaEvent); analysisQaEvent.setCompletedDate(null); analysisQaEvent.setSysUserId(sysUserId); analysisQaEventDAO.insertData(analysisQaEvent); } } } } tx.commit(); } catch (LIMSRuntimeException lre) { //bugzilla 2154 LogEvent.logError("QuickEntryUpdateAction", "performAction()", lre.toString()); tx.rollback(); errors = new ActionMessages(); ActionError error = null; if (lre.getException() instanceof StaleObjectStateException) { error = new ActionError("errors.OptimisticLockException", null, null); } else { //bugzilla 2154 LogEvent.logError("QuickEntryUpdateAction", "performAction()", lre.toString()); error = new ActionError("errors.UpdateException", null, null); } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); request.setAttribute(ALLOW_EDITS_KEY, "false"); return mapping.findForward(FWD_FAIL); } finally { HibernateUtil.closeSession(); } // initialize the form dynaForm.initialize(mapping); PropertyUtils.copyProperties(dynaForm, sample); dynaForm.set("accessionNumber", accessionNumber); dynaForm.set("accessionNumber2", accessionNumber2); // PropertyUtils.setProperty(dynaForm, "sysUsers", sysUsers); if ("true".equalsIgnoreCase(request.getParameter("close"))) { forward = FWD_CLOSE; } if (forward.equals(FWD_SUCCESS)) { request.setAttribute("menuDefinition", "default"); } return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.sample.action.SampleAction.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 Sample. // If there is a parameter present, we should bring up an existing // Sample 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);/*from ww w .jav a 2 s .com*/ Sample sample = new Sample(); //System.out.println("I am in SampleAction and this is id " + id); if ((id != null) && (!"0".equals(id))) { // this is an existing // sample sample.setId(id); SampleDAO sampleDAO = new SampleDAOImpl(); sampleDAO.getData(sample); // initialize sysUserId if (sample.getSystemUser() != null) { sample.setSysUserId(sample.getSystemUser().getId()); } isNew = false; // this is to set correct page title // do we need to enable next or previous? List samples = sampleDAO.getNextSampleRecord(sample.getId()); if (samples.size() > 0) { // enable next button request.setAttribute(NEXT_DISABLED, "false"); } samples = sampleDAO.getPreviousSampleRecord(sample.getId()); if (samples.size() > 0) { // enable next button request.setAttribute(PREVIOUS_DISABLED, "false"); } // end of logic to enable next or previous button } else { // this is a new sample // default received date and entered date to today's date Date today = Calendar.getInstance().getTime(); Locale locale = (Locale) request.getSession().getAttribute("org.apache.struts.action.LOCALE"); String dateAsText = DateUtil.formatDateAsText(today, locale); sample.setReceivedDateForDisplay(dateAsText); sample.setEnteredDateForDisplay(dateAsText); // default referredCultureFlag to 'N' sample.setReferredCultureFlag("S"); // default stickerReceivedFlag to 'N' sample.setStickerReceivedFlag(NO); // default nextItemSequence to 1 (for clinical - always 1) sample.setNextItemSequence("1"); // revision is set to 0 on insert sample.setRevision("0"); isNew = true; // this is to set correct page title } if (sample.getId() != null && !sample.getId().equals("0")) { request.setAttribute(ID, sample.getId()); } // populate form from valueholder PropertyUtils.copyProperties(form, sample); //SampleDAO sampleDAO = new SampleDAOImpl(); SystemUserDAO sysUserDAO = new SystemUserDAOImpl(); SampleDomainDAO sampleDomainDAO = new SampleDomainDAOImpl(); //List samples = sampleDAO.getAllSamples(); List sysUsers = sysUserDAO.getAllSystemUsers(); List sampleDomains = sampleDomainDAO.getAllSampleDomains(); //PropertyUtils.setProperty(form, "parentSamples", samples); PropertyUtils.setProperty(form, "sysUsers", sysUsers); PropertyUtils.setProperty(form, "sampleDomains", sampleDomains); //System.out.println("I am in SampleAction this is forward " + forward); return mapping.findForward(forward); }
From source file:us.mn.state.health.lims.sample.action.SampleUpdateAction.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 Sample. // If there is a parameter present, we should bring up an existing // Sample 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 ww w . j a v a 2 s.co 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"); Sample sample = new Sample(); //get sysUserId from login module UserSessionData usd = (UserSessionData) request.getSession().getAttribute(USER_SESSION_DATA); String sysUserId1 = String.valueOf(usd.getSystemUserId()); sample.setSysUserId(sysUserId1); org.hibernate.Transaction tx = HibernateUtil.getSession().beginTransaction(); String sysUserId = (String) dynaForm.get("sysUserId"); //String sampleIdRelatesTo = (String) dynaForm.get("sampleIdRelatesTo"); List sysUsers = new ArrayList(); //List samps = new ArrayList(); List sampleDomains = new ArrayList(); if (dynaForm.get("sysUsers") != null) { sysUsers = (List) dynaForm.get("sysUsers"); } else { SystemUserDAO sysUserDAO = new SystemUserDAOImpl(); sysUsers = sysUserDAO.getAllSystemUsers(); } if (dynaForm.get("sampleDomains") != null) { sampleDomains = (List) dynaForm.get("sampleDomains"); } else { SampleDomainDAO sampleDomainDAO = new SampleDomainDAOImpl(); sampleDomains = sampleDomainDAO.getAllSampleDomains(); } SystemUser sysUser = null; for (int i = 0; i < sysUsers.size(); i++) { SystemUser su = (SystemUser) sysUsers.get(i); if (su.getId().equals(sysUserId)) { sysUser = su; break; } } // populate valueholder from form PropertyUtils.copyProperties(sample, dynaForm); // set the system user sample.setSystemUser(sysUser); // set collection time String time = (String) dynaForm.get("collectionTimeForDisplay"); if (StringUtil.isNullorNill(time)) { time = "00:00"; } sample.setCollectionTimeForDisplay(time); Timestamp d = sample.getCollectionDate(); if (time.indexOf(":") > 0) { //bugzilla 1857 deprecated stuff Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(time.substring(0, 2)).intValue()); cal.set(Calendar.MINUTE, Integer.valueOf(time.substring(3, 5)).intValue()); //d.setHours(Integer.valueOf(time.substring(0, 2)).intValue()); //d.setMinutes(Integer.valueOf(time.substring(3, 5)).intValue()); d = new Timestamp(cal.getTimeInMillis()); sample.setCollectionDate(d); } try { SampleDAO sampleDAO = new SampleDAOImpl(); if (!isNew) { // UPDATE sampleDAO.updateData(sample); if (FWD_NEXT.equals(direction)) { List samples = sampleDAO.getNextSampleRecord(sample.getId()); if (samples != null && samples.size() > 0) { sample = (Sample) samples.get(0); sampleDAO.getData(sample); if (samples.size() < 2) { // disable next button request.setAttribute(NEXT_DISABLED, "true"); } id = sample.getId(); } else { // disable next button request.setAttribute(NEXT_DISABLED, "true"); } forward = FWD_NEXT; } if (FWD_PREVIOUS.equals(direction)) { List samples = sampleDAO.getPreviousSampleRecord(sample.getId()); if (samples != null && samples.size() > 0) { sample = (Sample) samples.get(0); sampleDAO.getData(sample); if (samples.size() < 2) { // disable previous button request.setAttribute(PREVIOUS_DISABLED, "true"); } id = sample.getId(); } else { // disable previous button request.setAttribute(PREVIOUS_DISABLED, "true"); } forward = FWD_PREVIOUS; } } else { // INSERT sampleDAO.insertData(sample); } tx.commit(); } catch (LIMSRuntimeException lre) { //bugzilla 2154 LogEvent.logError("SampleUpdateAction", "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 { error = new ActionError("errors.UpdateException", null, null); } errors.add(ActionMessages.GLOBAL_MESSAGE, error); saveErrors(request, errors); request.setAttribute(Globals.ERROR_KEY, errors); request.setAttribute(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, sample); // need to repopulate in case of FWD_FAIL? PropertyUtils.setProperty(dynaForm, "sysUsers", sysUsers); PropertyUtils.setProperty(dynaForm, "sampleDomains", sampleDomains); if ("true".equalsIgnoreCase(request.getParameter("close"))) { forward = FWD_CLOSE; } if (sample.getId() != null && !sample.getId().equals("0")) { request.setAttribute(ID, sample.getId()); } //bugzilla 1400 if (isNew) forward = FWD_SUCCESS_INSERT; return getForward(mapping.findForward(forward), id, start); }
From source file:us.mn.state.health.lims.sample.daoimpl.SampleDAOImpl.java
public void getData(Sample sample) throws LIMSRuntimeException { try {/* w w w . j a va 2 s . c om*/ Sample samp = (Sample) HibernateUtil.getSession().get(Sample.class, sample.getId()); if (samp != null) { // set sample projects String sql = "from SampleProject sp where samp_id = :sampleId"; Query query = HibernateUtil.getSession().createQuery(sql); query.setParameter("sampleId", Integer.parseInt(samp.getId())); List list = query.list(); HibernateUtil.getSession().flush(); HibernateUtil.getSession().clear(); samp.setSampleProjects(list); PropertyUtils.copyProperties(sample, samp); } else { sample.setId(null); } } catch (Exception e) { //bugzilla 2154 LogEvent.logError("SampleDAOImpl", "getData()", e.toString()); throw new LIMSRuntimeException("Error in Sample getData()", e); } }
From source file:us.mn.state.health.lims.sample.daoimpl.SampleDAOImpl.java
public void getSampleByAccessionNumber(Sample sample) throws LIMSRuntimeException { try {//from ww w . j a va 2 s . co m String sql = "from Sample s where s.accessionNumber = :param"; org.hibernate.Query query = HibernateUtil.getSession().createQuery(sql); query.setParameter("param", sample.getAccessionNumber()); List list = query.list(); HibernateUtil.getSession().flush(); HibernateUtil.getSession().clear(); Sample samp = null; if (list.size() > 0) samp = (Sample) list.get(0); if (samp != null) { // set sample projects sql = "from SampleProject sp where samp_id = :param"; query = HibernateUtil.getSession().createQuery(sql); query.setInteger("param", Integer.parseInt(samp.getId())); List sp = query.list(); HibernateUtil.getSession().flush(); HibernateUtil.getSession().clear(); samp.setSampleProjects(sp); PropertyUtils.copyProperties(sample, samp); } else { sample.setId(null); } } catch (Exception e) { //bugzilla 2154 LogEvent.logError("SampleDAOImpl", "getDataByAccessionNumber()", e.toString()); throw new LIMSRuntimeException("Error in Sample getDataByAccessionNumber()", e); } }
From source file:us.mn.state.health.lims.sampledomain.action.SampleDomainAction.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 SampleDomain. // If there is a parameter present, we should bring up an existing // SampleDomain 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);//from w ww . jav a 2 s. com SampleDomain sampleDomain = new SampleDomain(); //System.out.println("I am in SampleDomainAction and this is id " + id); if ((id != null) && (!"0".equals(id))) { // this is an existing // sampleDomain sampleDomain.setId(id); SampleDomainDAO sampleDomainDAO = new SampleDomainDAOImpl(); sampleDomainDAO.getData(sampleDomain); isNew = false; // this is to set correct page title // do we need to enable next or previous? //bugzilla 1427 pass in desc not id List sampleDomains = sampleDomainDAO.getNextSampleDomainRecord(sampleDomain.getDescription()); if (sampleDomains.size() > 0) { // enable next button request.setAttribute(NEXT_DISABLED, "false"); } //bugzilla 1427 pass in desc not id sampleDomains = sampleDomainDAO.getPreviousSampleDomainRecord(sampleDomain.getDescription()); if (sampleDomains.size() > 0) { // enable next button request.setAttribute(PREVIOUS_DISABLED, "false"); } // end of logic to enable next or previous button } else { // this is a new sampleDomain isNew = true; // this is to set correct page title } if (sampleDomain.getId() != null && !sampleDomain.getId().equals("0")) { request.setAttribute(ID, sampleDomain.getId()); } // populate form from valueholder PropertyUtils.copyProperties(form, sampleDomain); return mapping.findForward(forward); }