private void updateInterviewerForSites( StudyBean studyBean, List<StudyBean> sites, StudyParameterValueDAO studyParameterValueDAO, String parameterType) { StudyParameterValueBean studyParameterValueBean = new StudyParameterValueBean(); if ("interviewerNameEditable".equalsIgnoreCase(parameterType)) { studyParameterValueBean.setParameter("interviewerNameEditable"); studyParameterValueBean.setValue( studyBean.getStudyParameterConfig().getInterviewerNameEditable()); } else { studyParameterValueBean.setParameter("interviewerDateEditable"); studyParameterValueBean.setValue( studyBean.getStudyParameterConfig().getInterviewDateEditable()); } for (StudyBean siteBean : sites) { studyParameterValueBean.setStudyId(siteBean.getId()); updateParameter(studyParameterValueDAO, studyParameterValueBean); } }
/** Inserts the new study into database */ private void submitStudy() { FormProcessor fp = new FormProcessor(request); StudyDAO sdao = new StudyDAO(sm.getDataSource()); StudyBean study = (StudyBean) session.getAttribute("newStudy"); ArrayList parameters = study.getStudyParameters(); logger.info("study bean to be created:\n"); logger.info( study.getName() + "\n" + study.getIdentifier() + "\n" + study.getParentStudyId() + "\n" + study.getSummary() + "\n" + study.getPrincipalInvestigator() + "\n" + study.getDatePlannedStart() + "\n" + study.getDatePlannedEnd() + "\n" + study.getFacilityName() + "\n" + study.getFacilityCity() + "\n" + study.getFacilityState() + "\n" + study.getFacilityZip() + "\n" + study.getFacilityCountry() + "\n" + study.getFacilityRecruitmentStatus() + "\n" + study.getFacilityContactName() + "\n" + study.getFacilityContactEmail() + "\n" + study.getFacilityContactPhone() + "\n" + study.getFacilityContactDegree()); study.setOwner(ub); study.setCreatedDate(new Date()); StudyBean parent = (StudyBean) sdao.findByPK(study.getParentStudyId()); study.setType(parent.getType()); // YW 10-10-2007, enable setting site status study.setStatus(study.getStatus()); // YW >> study.setGenetic(parent.isGenetic()); study = (StudyBean) sdao.create(study); StudyParameterValueDAO spvdao = new StudyParameterValueDAO(sm.getDataSource()); for (int i = 0; i < parameters.size(); i++) { StudyParamsConfig config = (StudyParamsConfig) parameters.get(i); StudyParameterValueBean spv = config.getValue(); spv.setStudyId(study.getId()); spv = (StudyParameterValueBean) spvdao.create(config.getValue()); } // YW << here only "collectDob" and "genderRequired" have been corrected // for sites. StudyParameterValueBean spv = new StudyParameterValueBean(); StudyParameterValueBean parentSPV = spvdao.findByHandleAndStudy(parent.getId(), "collectDob"); spv.setStudyId(study.getId()); spv.setParameter("collectDob"); spv.setValue(parentSPV.getValue()); spvdao.create(spv); parentSPV = spvdao.findByHandleAndStudy(parent.getId(), "genderRequired"); spv.setParameter("genderRequired"); spv.setValue(parentSPV.getValue()); spvdao.create(spv); // YW >> // switch user to the newly created site session.setAttribute("study", session.getAttribute("newStudy")); currentStudy = (StudyBean) session.getAttribute("study"); session.removeAttribute("newStudy"); addPageMessage(respage.getString("the_new_site_created_succesfully_current")); forwardPage(Page.SITE_LIST_SERVLET); }
private void submitStudy() { StudyDAO sdao = new StudyDAO(sm.getDataSource()); StudyParameterValueDAO spvdao = new StudyParameterValueDAO(sm.getDataSource()); StudyBean study1 = (StudyBean) session.getAttribute("newStudy"); logger.info("study bean to be updated:" + study1.getName()); study1.setUpdatedDate(new Date()); study1.setUpdater((UserAccountBean) session.getAttribute("userBean")); System.out.println("study's parentId=" + study1.getParentStudyId()); sdao.update(study1); StudyParameterValueBean spv = new StudyParameterValueBean(); spv.setStudyId(study1.getId()); spv.setParameter("collectDob"); spv.setValue(new Integer(study1.getStudyParameterConfig().getCollectDob()).toString()); updateParameter(spvdao, spv); spv.setParameter("discrepancyManagement"); spv.setValue(study1.getStudyParameterConfig().getDiscrepancyManagement()); updateParameter(spvdao, spv); spv.setParameter("genderRequired"); spv.setValue(study1.getStudyParameterConfig().getGenderRequired()); updateParameter(spvdao, spv); spv.setParameter("subjectPersonIdRequired"); spv.setValue(study1.getStudyParameterConfig().getSubjectPersonIdRequired()); updateParameter(spvdao, spv); spv.setParameter("interviewerNameRequired"); spv.setValue(study1.getStudyParameterConfig().getInterviewerNameRequired()); updateParameter(spvdao, spv); spv.setParameter("interviewerNameDefault"); spv.setValue(study1.getStudyParameterConfig().getInterviewerNameDefault()); updateParameter(spvdao, spv); spv.setParameter("interviewerNameEditable"); spv.setValue(study1.getStudyParameterConfig().getInterviewerNameEditable()); updateParameter(spvdao, spv); spv.setParameter("interviewDateRequired"); spv.setValue(study1.getStudyParameterConfig().getInterviewDateRequired()); updateParameter(spvdao, spv); spv.setParameter("interviewDateDefault"); spv.setValue(study1.getStudyParameterConfig().getInterviewDateDefault()); updateParameter(spvdao, spv); spv.setParameter("interviewDateEditable"); spv.setValue(study1.getStudyParameterConfig().getInterviewDateEditable()); updateParameter(spvdao, spv); spv.setParameter("subjectIdGeneration"); spv.setValue(study1.getStudyParameterConfig().getSubjectIdGeneration()); updateParameter(spvdao, spv); spv.setParameter("subjectIdPrefixSuffix"); spv.setValue(study1.getStudyParameterConfig().getSubjectIdPrefixSuffix()); updateParameter(spvdao, spv); spv.setParameter("personIdShownOnCRF"); spv.setValue(study1.getStudyParameterConfig().getPersonIdShownOnCRF()); updateParameter(spvdao, spv); StudyBean curStudy = (StudyBean) session.getAttribute("study"); if (curStudy != null && study1.getId() == curStudy.getId()) { super.currentStudy = study1; session.setAttribute("study", study1); } // update manage_pedigrees for all sites ArrayList children = (ArrayList) sdao.findAllByParent(study1.getId()); for (int i = 0; i < children.size(); i++) { StudyBean child = (StudyBean) children.get(i); child.setType(study1.getType()); // same as parent's type child.setUpdatedDate(new Date()); child.setUpdater(ub); sdao.update(child); // YW << update "collectDob" and "genderRequired" for sites StudyParameterValueBean childspv = new StudyParameterValueBean(); childspv.setStudyId(child.getId()); childspv.setParameter("collectDob"); childspv.setValue(new Integer(study1.getStudyParameterConfig().getCollectDob()).toString()); updateParameter(spvdao, childspv); childspv.setParameter("genderRequired"); childspv.setValue(study1.getStudyParameterConfig().getGenderRequired()); updateParameter(spvdao, childspv); // YW >> } session.removeAttribute("newStudy"); session.removeAttribute("interventions"); }
private void submitStudy(StudyBean newStudy) { StudyDAO sdao = new StudyDAO(sm.getDataSource()); StudyParameterValueDAO spvdao = new StudyParameterValueDAO(sm.getDataSource()); StudyBean study1 = newStudy; logger.info("study bean to be updated:" + study1.getName()); study1.setUpdatedDate(new Date()); study1.setUpdater((UserAccountBean) session.getAttribute("userBean")); sdao.update(study1); ArrayList siteList = (ArrayList) sdao.findAllByParent(newStudy.getId()); if (siteList.size() > 0) { sdao.updateSitesStatus(study1); } StudyParameterValueBean spv = new StudyParameterValueBean(); spv.setStudyId(study1.getId()); spv.setParameter("collectDob"); spv.setValue(new Integer(study1.getStudyParameterConfig().getCollectDob()).toString()); updateParameter(spvdao, spv); spv.setParameter("discrepancyManagement"); spv.setValue(study1.getStudyParameterConfig().getDiscrepancyManagement()); updateParameter(spvdao, spv); spv.setParameter("genderRequired"); spv.setValue(study1.getStudyParameterConfig().getGenderRequired()); updateParameter(spvdao, spv); spv.setParameter("subjectPersonIdRequired"); spv.setValue(study1.getStudyParameterConfig().getSubjectPersonIdRequired()); updateParameter(spvdao, spv); spv.setParameter("interviewerNameRequired"); spv.setValue(study1.getStudyParameterConfig().getInterviewerNameRequired()); updateParameter(spvdao, spv); spv.setParameter("interviewerNameDefault"); spv.setValue(study1.getStudyParameterConfig().getInterviewerNameDefault()); updateParameter(spvdao, spv); spv.setParameter("interviewerNameEditable"); spv.setValue(study1.getStudyParameterConfig().getInterviewerNameEditable()); updateParameter(spvdao, spv); // BWP 1/12/2009 3169 Update interviewerNameEditable and // interviewDateEditable parameters for all sites>> List<StudyBean> sites = new ArrayList<StudyBean>(); sites = (ArrayList) sdao.findAllByParent(newStudy.getId()); if (sites != null && (!sites.isEmpty())) { updateInterviewerForSites(newStudy, sites, spvdao, "interviewerNameEditable"); } // >> spv.setParameter("interviewDateRequired"); spv.setValue(study1.getStudyParameterConfig().getInterviewDateRequired()); updateParameter(spvdao, spv); spv.setParameter("interviewDateDefault"); spv.setValue(study1.getStudyParameterConfig().getInterviewDateDefault()); updateParameter(spvdao, spv); spv.setParameter("interviewDateEditable"); spv.setValue(study1.getStudyParameterConfig().getInterviewDateEditable()); updateParameter(spvdao, spv); // BWP 1/12/2009 3169>> if (sites != null && (!sites.isEmpty())) { updateInterviewerForSites(newStudy, sites, spvdao, "interviewDateEditable"); } // >> spv.setParameter("subjectIdGeneration"); spv.setValue(study1.getStudyParameterConfig().getSubjectIdGeneration()); updateParameter(spvdao, spv); spv.setParameter("subjectIdPrefixSuffix"); spv.setValue(study1.getStudyParameterConfig().getSubjectIdPrefixSuffix()); updateParameter(spvdao, spv); spv.setParameter("personIdShownOnCRF"); spv.setValue(study1.getStudyParameterConfig().getPersonIdShownOnCRF()); updateParameter(spvdao, spv); spv.setParameter("secondaryLabelViewable"); spv.setValue(study1.getStudyParameterConfig().getSecondaryLabelViewable()); updateParameter(spvdao, spv); // tbh, 06/04/2009 3684>> spv.setParameter("adminForcedReasonForChange"); spv.setValue(study1.getStudyParameterConfig().getAdminForcedReasonForChange()); updateParameter(spvdao, spv); // >> StudyBean curStudy = (StudyBean) session.getAttribute("study"); if (curStudy != null && study1.getId() == curStudy.getId()) { super.currentStudy = study1; session.setAttribute("study", study1); } // update manage_pedigrees for all sites ArrayList children = (ArrayList) sdao.findAllByParent(study1.getId()); for (int i = 0; i < children.size(); i++) { StudyBean child = (StudyBean) children.get(i); child.setType(study1.getType()); // same as parent's type child.setUpdatedDate(new Date()); child.setUpdater(ub); sdao.update(child); // YW << update "collectDob" and "genderRequired" for sites StudyParameterValueBean childspv = new StudyParameterValueBean(); childspv.setStudyId(child.getId()); childspv.setParameter("collectDob"); childspv.setValue(new Integer(study1.getStudyParameterConfig().getCollectDob()).toString()); updateParameter(spvdao, childspv); childspv.setParameter("genderRequired"); childspv.setValue(study1.getStudyParameterConfig().getGenderRequired()); updateParameter(spvdao, childspv); } }