/** 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); }
/** * Constructs study bean from request * * @param request * @return */ private StudyBean createStudyBean() { FormProcessor fp = new FormProcessor(request); StudyBean study = (StudyBean) session.getAttribute("newStudy"); study.setName(fp.getString("name")); study.setIdentifier(fp.getString("uniqueProId")); study.setSecondaryIdentifier(fp.getString("secondProId")); study.setSummary(fp.getString("description")); study.setPrincipalInvestigator(fp.getString("prinInvestigator")); study.setExpectedTotalEnrollment(fp.getInt("expectedTotalEnrollment")); java.util.Date startDate = null; java.util.Date endDate = null; try { local_df.setLenient(false); startDate = local_df.parse(fp.getString("startDate")); } catch (ParseException fe) { startDate = study.getDatePlannedStart(); logger.info(fe.getMessage()); } study.setDatePlannedStart(startDate); try { local_df.setLenient(false); endDate = local_df.parse(fp.getString("endDate")); } catch (ParseException fe) { endDate = study.getDatePlannedEnd(); } study.setDatePlannedEnd(endDate); study.setFacilityCity(fp.getString("facCity")); study.setFacilityContactDegree(fp.getString("facConDrgree")); study.setFacilityName(fp.getString("facName")); study.setFacilityContactEmail(fp.getString("facConEmail")); study.setFacilityContactPhone(fp.getString("facConPhone")); study.setFacilityContactName(fp.getString("facConName")); study.setFacilityContactDegree(fp.getString("facConDegree")); study.setFacilityCountry(fp.getString("facCountry")); // study.setFacilityRecruitmentStatus(fp.getString("facRecStatus")); study.setFacilityState(fp.getString("facState")); study.setFacilityZip(fp.getString("facZip")); study.setStatus(Status.get(fp.getInt("statusId"))); ArrayList parameters = study.getStudyParameters(); for (int i = 0; i < parameters.size(); i++) { StudyParamsConfig scg = (StudyParamsConfig) parameters.get(i); String value = fp.getString(scg.getParameter().getHandle()); logger.info("get value:" + value); scg.getValue().setParameter(scg.getParameter().getHandle()); scg.getValue().setValue(value); } // YW 10-12-2007 << study .getStudyParameterConfig() .setInterviewerNameRequired(fp.getString("interviewerNameRequired")); study .getStudyParameterConfig() .setInterviewerNameDefault(fp.getString("interviewerNameDefault")); study.getStudyParameterConfig().setInterviewDateRequired(fp.getString("interviewDateRequired")); study.getStudyParameterConfig().setInterviewDateDefault(fp.getString("interviewDateDefault")); // YW >> return study; }