Program: 115274
Project: 115274
Buggy source:
/** 
 * Inserts the new study into database
 */
private void submitStudy() throws IOException {
  FormProcessor fp=new FormProcessor(request);
  StudyDAO sdao=new StudyDAO(sm.getDataSource());
  StudyBean study=(StudyBean)session.getAttribute("String_Node_Str");
  ArrayList parameters=study.getStudyParameters();
  logger.info("String_Node_Str");
  logger.info(study.getName() + "String_Node_Str" + study.getIdentifier()+ "String_Node_Str"+ study.getParentStudyId()+ "String_Node_Str"+ study.getSummary()+ "String_Node_Str"+ study.getPrincipalInvestigator()+ "String_Node_Str"+ study.getDatePlannedStart()+ "String_Node_Str"+ study.getDatePlannedEnd()+ "String_Node_Str"+ study.getFacilityName()+ "String_Node_Str"+ study.getFacilityCity()+ "String_Node_Str"+ study.getFacilityState()+ "String_Node_Str"+ study.getFacilityZip()+ "String_Node_Str"+ study.getFacilityCountry()+ "String_Node_Str"+ study.getFacilityRecruitmentStatus()+ "String_Node_Str"+ study.getFacilityContactName()+ "String_Node_Str"+ study.getFacilityContactEmail()+ "String_Node_Str"+ study.getFacilityContactPhone()+ "String_Node_Str"+ study.getFacilityContactDegree());
  study.setOwner(ub);
  study.setCreatedDate(new Date());
  StudyBean parent=(StudyBean)sdao.findByPK(study.getParentStudyId());
  study.setType(parent.getType());
  study.setStatus(study.getStatus());
  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());
  }
  StudyParameterValueBean spv=new StudyParameterValueBean();
  StudyParameterValueBean parentSPV=spvdao.findByHandleAndStudy(parent.getId(),"String_Node_Str");
  spv.setStudyId(study.getId());
  spv.setParameter("String_Node_Str");
  spv.setValue(parentSPV.getValue());
  spvdao.create(spv);
  parentSPV=spvdao.findByHandleAndStudy(parent.getId(),"String_Node_Str");
  spv.setParameter("String_Node_Str");
  spv.setValue(parentSPV.getValue());
  spvdao.create(spv);
  this.submitSiteEventDefinitions(study);
  session.setAttribute("String_Node_Str",session.getAttribute("String_Node_Str"));
  currentStudy=(StudyBean)session.getAttribute("String_Node_Str");
  session.removeAttribute("String_Node_Str");
  addPageMessage(respage.getString("String_Node_Str"));
  ArrayList pageMessages=(ArrayList)request.getAttribute(PAGE_MESSAGE);
  session.setAttribute("String_Node_Str",pageMessages);
  response.sendRedirect(request.getContextPath() + Page.MANAGE_STUDY_MODULE);
}

Fixed version (ground truth):
/** 
 * Inserts the new study into database
 */
private void submitStudy() throws IOException {
  FormProcessor fp=new FormProcessor(request);
  StudyDAO sdao=new StudyDAO(sm.getDataSource());
  StudyBean study=(StudyBean)session.getAttribute("String_Node_Str");
  ArrayList parameters=study.getStudyParameters();
  logger.info("String_Node_Str");
  logger.info(study.getName() + "String_Node_Str" + study.getIdentifier()+ "String_Node_Str"+ study.getParentStudyId()+ "String_Node_Str"+ study.getSummary()+ "String_Node_Str"+ study.getPrincipalInvestigator()+ "String_Node_Str"+ study.getDatePlannedStart()+ "String_Node_Str"+ study.getDatePlannedEnd()+ "String_Node_Str"+ study.getFacilityName()+ "String_Node_Str"+ study.getFacilityCity()+ "String_Node_Str"+ study.getFacilityState()+ "String_Node_Str"+ study.getFacilityZip()+ "String_Node_Str"+ study.getFacilityCountry()+ "String_Node_Str"+ study.getFacilityRecruitmentStatus()+ "String_Node_Str"+ study.getFacilityContactName()+ "String_Node_Str"+ study.getFacilityContactEmail()+ "String_Node_Str"+ study.getFacilityContactPhone()+ "String_Node_Str"+ study.getFacilityContactDegree());
  study.setOwner(ub);
  study.setCreatedDate(new Date());
  StudyBean parent=(StudyBean)sdao.findByPK(study.getParentStudyId());
  study.setType(parent.getType());
  study.setStatus(study.getStatus());
  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());
  }
  StudyParameterValueBean spv=new StudyParameterValueBean();
  StudyParameterValueBean parentSPV=spvdao.findByHandleAndStudy(parent.getId(),"String_Node_Str");
  spv.setStudyId(study.getId());
  spv.setParameter("String_Node_Str");
  spv.setValue(parentSPV.getValue());
  spvdao.create(spv);
  parentSPV=spvdao.findByHandleAndStudy(parent.getId(),"String_Node_Str");
  spv.setParameter("String_Node_Str");
  spv.setValue(parentSPV.getValue());
  spvdao.create(spv);
  this.submitSiteEventDefinitions(study);
  session.removeAttribute("String_Node_Str");
  addPageMessage(respage.getString("String_Node_Str"));
  ArrayList pageMessages=(ArrayList)request.getAttribute(PAGE_MESSAGE);
  session.setAttribute("String_Node_Str",pageMessages);
  response.sendRedirect(request.getContextPath() + Page.MANAGE_STUDY_MODULE);
}