Program: 115013
Project: 115013
Buggy source:
@Override public void processRequest() throws Exception {
  FormProcessor fp=new FormProcessor(request);
  String action=fp.getString("String_Node_Str");
  if (StringUtil.isBlank(action)) {
    session.setAttribute("String_Node_Str",new DatasetBean());
    session.setAttribute("String_Node_Str",new ArrayList());
    session.setAttribute("String_Node_Str",new CRFBean());
    session.setAttribute("String_Node_Str",new ArrayList());
    forwardPage(Page.CREATE_DATASET_1);
  }
 else {
    StudyBean studyWithEventDefs=currentStudy;
    if (currentStudy.getParentStudyId() > 0) {
      studyWithEventDefs=new StudyBean();
      studyWithEventDefs.setId(currentStudy.getParentStudyId());
    }
    if ("String_Node_Str".equalsIgnoreCase(action)) {
      StudyEventDAO sedao=new StudyEventDAO(sm.getDataSource());
      StudyEventDefinitionDAO seddao=new StudyEventDefinitionDAO(sm.getDataSource());
      EventCRFDAO ecdao=new EventCRFDAO(sm.getDataSource());
      StudyBean studyWithEventDefinitions=currentStudy;
      if (currentStudy.getParentStudyId() > 0) {
        studyWithEventDefinitions=new StudyBean();
        studyWithEventDefinitions.setId(currentStudy.getParentStudyId());
      }
      ArrayList seds=seddao.findAllActiveByStudy(studyWithEventDefinitions);
      CRFDAO crfdao=new CRFDAO(sm.getDataSource());
      HashMap events=new LinkedHashMap();
      for (int i=0; i < seds.size(); i++) {
        StudyEventDefinitionBean sed=(StudyEventDefinitionBean)seds.get(i);
        ArrayList<CRFBean> crfs=(ArrayList<CRFBean>)crfdao.findAllActiveByDefinition(sed);
        if (currentStudy.getParentStudyId() > 0) {
          HideCRFManager hideCRFs=HideCRFManager.createHideCRFManager();
          crfs=hideCRFs.removeHiddenCRFBeans(studyWithEventDefinitions,sed,crfs,sm.getDataSource());
        }
        if (!crfs.isEmpty()) {
          events.put(sed,crfs);
        }
      }
      if (events.isEmpty()) {
        addPageMessage(respage.getString("String_Node_Str"));
        forwardPage(Page.CREATE_DATASET_1);
      }
 else {
        crfdao=new CRFDAO(sm.getDataSource());
        ItemDAO idao=new ItemDAO(sm.getDataSource());
        ArrayList sedItemIds=CreateDatasetServlet.allSedItemIdsInStudy(events,crfdao,idao);
        session.setAttribute("String_Node_Str",Integer.toString(sedItemIds.size()));
        request.setAttribute("String_Node_Str",events);
        session.setAttribute(EVENTS_FOR_CREATE_DATASET,events);
        session.setAttribute("String_Node_Str",new DatasetBean());
        session.setAttribute("String_Node_Str",new ArrayList());
        session.setAttribute("String_Node_Str",new CRFBean());
        forwardPage(Page.CREATE_DATASET_2);
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      String saveItems=fp.getString(SAVE_BUTTON);
      String saveContinue=fp.getString(SAVE_CONTINUE_BUTTON);
      DatasetBean db=(DatasetBean)session.getAttribute("String_Node_Str");
      if (db == null) {
        db=new DatasetBean();
      }
      extractIdsFromForm(db);
      extractEventIds(db);
      session.setAttribute("String_Node_Str",db);
      if (!StringUtil.isBlank(saveItems)) {
        request.setAttribute("String_Node_Str",session.getAttribute(EVENTS_FOR_CREATE_DATASET));
        String summary=respage.getString("String_Node_Str") + "String_Node_Str" + db.getItemIds().size()+ "String_Node_Str"+ respage.getString("String_Node_Str");
        summary+=genAttMsg(db);
        addPageMessage(summary);
        int crfId=fp.getInt("String_Node_Str");
        if (crfId > 0) {
          forwardPage(Page.CREATE_DATASET_2);
        }
 else {
          ArrayList sgclasses=(ArrayList)session.getAttribute("String_Node_Str");
          if (sgclasses == null || sgclasses.size() == 0) {
            sgclasses=setUpStudyGroups();
          }
          session.setAttribute("String_Node_Str",sgclasses);
          request.setAttribute("String_Node_Str",sgclasses);
          forwardPage(Page.CREATE_DATASET_VIEW_SELECTED);
        }
      }
 else {
        if (db.getItemIds().size() == 0) {
          request.setAttribute("String_Node_Str",session.getAttribute(EVENTS_FOR_CREATE_DATASET));
          addPageMessage(respage.getString("String_Node_Str"));
          forwardPage(Page.CREATE_DATASET_2);
        }
 else {
          String summary=respage.getString("String_Node_Str") + "String_Node_Str" + db.getItemIds().size()+ "String_Node_Str"+ respage.getString("String_Node_Str");
          summary+=genAttMsg(db);
          addPageMessage(summary);
          fp.addPresetValue("String_Node_Str",0);
          fp.addPresetValue("String_Node_Str",1900);
          fp.addPresetValue("String_Node_Str",0);
          fp.addPresetValue("String_Node_Str",2100);
          setPresetValues(fp.getPresetValues());
          logger.warn("String_Node_Str" + fp.getPresetValues().toString());
          request.setAttribute(BEAN_MONTHS,getMonths());
          request.setAttribute(BEAN_YEARS,getYears());
          forwardPage(Page.CREATE_DATASET_3);
        }
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      ArrayList months=getMonths();
      ArrayList years=getYears();
      int firstMonth=fp.getInt("String_Node_Str");
      int firstYear=fp.getInt("String_Node_Str");
      int lastMonth=fp.getInt("String_Node_Str");
      int lastYear=fp.getInt("String_Node_Str");
      if (fp.getInt("String_Node_Str") == 0) {
        firstMonth=1;
      }
      if (fp.getInt("String_Node_Str") == 0) {
        lastMonth=12;
      }
      errors=new HashMap();
      if (fp.getInt("String_Node_Str") > 0 && firstYear == 1900) {
        Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
      }
      if (fp.getInt("String_Node_Str") > 0 && lastYear == 2100) {
        Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
      }
      Date dateStart=getFirstDayOfMonth(firstYear,firstMonth);
      Date dateEnd=getLastDayOfMonth(lastYear,lastMonth);
      if (dateEnd.compareTo(dateStart) < 0) {
        Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
      }
      if (!errors.isEmpty()) {
        String fieldNames[]={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
        fp.setCurrentIntValuesAsPreset(fieldNames);
        setInputMessages(errors);
        addPageMessage(respage.getString("String_Node_Str"));
        setPresetValues(fp.getPresetValues());
        request.setAttribute(BEAN_MONTHS,getMonths());
        request.setAttribute(BEAN_YEARS,getYears());
        forwardPage(Page.CREATE_DATASET_3);
      }
 else {
        DatasetBean dsb=(DatasetBean)session.getAttribute("String_Node_Str");
        dsb.setDateStart(dateStart);
        dsb.setDateEnd(dateEnd);
        session.setAttribute("String_Node_Str",dsb);
        if (fp.getString("String_Node_Str").equals(resword.getString("String_Node_Str"))) {
          EntityBeanTable table=getFilterTable();
          session.setAttribute("String_Node_Str",new Integer(1));
          request.setAttribute("String_Node_Str",table);
          forwardPage(Page.APPLY_FILTER);
        }
 else {
          request.setAttribute("String_Node_Str",Status.toActiveArrayList());
          String temp=dsb.getODMMetaDataVersionOid();
          request.setAttribute("String_Node_Str",temp != null && temp.length() > 0 ? temp : "String_Node_Str");
          temp=dsb.getODMMetaDataVersionName();
          request.setAttribute("String_Node_Str",temp != null && temp.length() > 0 ? temp : "String_Node_Str");
          request.setAttribute("String_Node_Str",dsb.getODMPriorStudyOid());
          request.setAttribute("String_Node_Str",dsb.getODMPriorMetaDataVersionOid());
          forwardPage(Page.CREATE_DATASET_4);
        }
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      Validator v=new Validator(request);
      v.addValidation("String_Node_Str",Validator.NO_BLANKS);
      v.addValidation("String_Node_Str",Validator.NO_SEMI_COLONS_OR_COLONS);
      v.addValidation("String_Node_Str",Validator.NO_BLANKS);
      v.addValidation("String_Node_Str",Validator.IS_VALID_TERM,TermType.STATUS);
      v.addValidation("String_Node_Str",Validator.LENGTH_NUMERIC_COMPARISON,NumericComparisonOperator.LESS_THAN_OR_EQUAL_TO,255);
      v.addValidation("String_Node_Str",Validator.LENGTH_NUMERIC_COMPARISON,NumericComparisonOperator.LESS_THAN_OR_EQUAL_TO,2000);
      String mdvOID=fp.getString("String_Node_Str");
      String mdvName=fp.getString("String_Node_Str");
      String mdvPrevStudy=fp.getString("String_Node_Str");
      if (mdvPrevStudy != null && mdvPrevStudy.length() > 0) {
        v.addValidation("String_Node_Str",Validator.NO_BLANKS);
      }
      String mdvPrevOID=fp.getString("String_Node_Str");
      errors=v.validate();
      String dsName=fp.getString("String_Node_Str");
      if (!StringUtil.isBlank(dsName)) {
        if (dsName.contains("String_Node_Str") || dsName.contains("String_Node_Str")) {
          v.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
        }
        if (((DatasetBean)session.getAttribute("String_Node_Str")).getId() <= 0) {
          DatasetDAO dsdao=new DatasetDAO(sm.getDataSource());
          DatasetBean dsBean=(DatasetBean)dsdao.findByNameAndStudy(fp.getString("String_Node_Str").trim(),currentStudy);
          if (dsBean.getId() > 0) {
            Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
          }
        }
      }
      if (!errors.isEmpty()) {
        String fieldNames[]={"String_Node_Str","String_Node_Str"};
        fp.setCurrentStringValuesAsPreset(fieldNames);
        fp.addPresetValue("String_Node_Str",fp.getInt("String_Node_Str"));
        fp.addPresetValue("String_Node_Str",mdvOID);
        fp.addPresetValue("String_Node_Str",mdvName);
        fp.addPresetValue("String_Node_Str",mdvPrevStudy);
        fp.addPresetValue("String_Node_Str",mdvPrevOID);
        addPageMessage(respage.getString("String_Node_Str"));
        setInputMessages(errors);
        setPresetValues(fp.getPresetValues());
        request.setAttribute("String_Node_Str",Status.toActiveArrayList());
        forwardPage(Page.CREATE_DATASET_4);
      }
 else {
        session.setAttribute("String_Node_Str",mdvOID);
        session.setAttribute("String_Node_Str",mdvName);
        session.setAttribute("String_Node_Str",mdvPrevStudy);
        session.setAttribute("String_Node_Str",mdvPrevOID);
        if (mdvPrevOID != null && mdvPrevOID.length() > 0 && (mdvPrevStudy == null || mdvPrevStudy.length() <= 0)) {
          mdvPrevStudy=currentStudy.getId() + "String_Node_Str";
        }
        DatasetBean dsb=(DatasetBean)session.getAttribute("String_Node_Str");
        dsb.setSQLStatement(dsb.generateQuery());
        String dbName=SQLInitServlet.getField("String_Node_Str");
        if ("String_Node_Str".equals(dbName)) {
          dsb.setSQLStatement(dsb.generateOracleQuery());
        }
        FilterBean fb=(FilterBean)session.getAttribute("String_Node_Str");
        if (fb != null) {
          dsb.setSQLStatement(dsb.getSQLStatement() + "String_Node_Str" + fb.getSQLStatement());
        }
        if (dsb.getId() > 0 && !dsb.getName().equals(fp.getString("String_Node_Str"))) {
          dsb.setId(0);
        }
        dsb.setODMMetaDataVersionName(mdvName);
        dsb.setODMMetaDataVersionOid(mdvOID);
        dsb.setODMPriorMetaDataVersionOid(mdvPrevOID);
        dsb.setODMPriorStudyOid(mdvPrevStudy);
        dsb.setName(fp.getString("String_Node_Str"));
        dsb.setDescription(fp.getString("String_Node_Str"));
        dsb.setStatus(Status.get(fp.getInt("String_Node_Str")));
        dsb.setDatasetItemStatus(DatasetItemStatus.get(fp.getInt("String_Node_Str")));
        session.removeAttribute("String_Node_Str");
        Date ddate=new SimpleDateFormat("String_Node_Str").parse("String_Node_Str");
        request.setAttribute("String_Node_Str",local_df.parse(local_df.format(ddate)));
        request.setAttribute("String_Node_Str",getLastDayOfMonth(2100,12));
        session.setAttribute("String_Node_Str",dsb);
        forwardPage(Page.CONFIRM_DATASET);
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      String submit=fp.getString("String_Node_Str");
      logger.info("String_Node_Str");
      if (!resword.getString("String_Node_Str").equalsIgnoreCase(submit)) {
        forwardPage(Page.CREATE_DATASET_4);
      }
 else {
        DatasetDAO ddao=new DatasetDAO(sm.getDataSource());
        DatasetBean dsb=(DatasetBean)session.getAttribute("String_Node_Str");
        dsb.setStudyId(this.currentStudy.getId());
        dsb.setOwner(ub);
        dsb=finalUpateDatasetBean(dsb);
        if (dsb.getId() == 0) {
          logger.info("String_Node_Str");
          dsb=(DatasetBean)ddao.create(dsb);
          logger.info("String_Node_Str" + dsb.getId() + "String_Node_Str"+ dsb.getName());
          if (!dsb.isActive()) {
            addPageMessage(restext.getString("String_Node_Str"));
            forwardPage(Page.EXTRACT_DATASETS_MAIN);
          }
        }
 else         if (dsb.getId() > 0) {
          dsb=(DatasetBean)ddao.updateAll(dsb);
          if (!dsb.isActive()) {
            addPageMessage(restext.getString("String_Node_Str"));
            forwardPage(Page.EXTRACT_DATASETS_MAIN);
          }
          dsb=(DatasetBean)ddao.updateGroupMap(dsb);
          if (!dsb.isActive()) {
            addPageMessage(restext.getString("String_Node_Str"));
            forwardPage(Page.EXTRACT_DATASETS_MAIN);
          }
        }
        logger.info("String_Node_Str");
        request.setAttribute("String_Node_Str",dsb);
        forwardPage(Page.EXPORT_DATASETS);
      }
    }
 else {
      addPageMessage(restext.getString("String_Node_Str"));
      forwardPage(Page.CREATE_DATASET_1);
    }
  }
}

Fixed version (ground truth):
@Override public void processRequest() throws Exception {
  FormProcessor fp=new FormProcessor(request);
  String action=fp.getString("String_Node_Str");
  if (StringUtil.isBlank(action)) {
    session.setAttribute("String_Node_Str",new DatasetBean());
    session.setAttribute("String_Node_Str",new ArrayList());
    session.setAttribute("String_Node_Str",new CRFBean());
    session.setAttribute("String_Node_Str",new ArrayList());
    forwardPage(Page.CREATE_DATASET_1);
  }
 else {
    StudyBean studyWithEventDefs=currentStudy;
    if (currentStudy.getParentStudyId() > 0) {
      studyWithEventDefs=new StudyBean();
      studyWithEventDefs.setId(currentStudy.getParentStudyId());
    }
    if ("String_Node_Str".equalsIgnoreCase(action)) {
      StudyEventDAO sedao=new StudyEventDAO(sm.getDataSource());
      StudyEventDefinitionDAO seddao=new StudyEventDefinitionDAO(sm.getDataSource());
      EventCRFDAO ecdao=new EventCRFDAO(sm.getDataSource());
      StudyBean studyWithEventDefinitions=currentStudy;
      if (currentStudy.getParentStudyId() > 0) {
        studyWithEventDefinitions=new StudyBean();
        studyWithEventDefinitions.setId(currentStudy.getParentStudyId());
      }
      ArrayList seds=seddao.findAllActiveByStudy(studyWithEventDefinitions);
      CRFDAO crfdao=new CRFDAO(sm.getDataSource());
      HashMap events=new LinkedHashMap();
      for (int i=0; i < seds.size(); i++) {
        StudyEventDefinitionBean sed=(StudyEventDefinitionBean)seds.get(i);
        ArrayList<CRFBean> crfs=(ArrayList<CRFBean>)crfdao.findAllActiveByDefinition(sed);
        if (currentStudy.getParentStudyId() > 0) {
          HideCRFManager hideCRFs=HideCRFManager.createHideCRFManager();
          crfs=hideCRFs.removeHiddenCRFBeans(studyWithEventDefinitions,sed,crfs,sm.getDataSource());
        }
        if (!crfs.isEmpty()) {
          events.put(sed,crfs);
        }
      }
      if (events.isEmpty()) {
        addPageMessage(respage.getString("String_Node_Str"));
        forwardPage(Page.CREATE_DATASET_1);
      }
 else {
        crfdao=new CRFDAO(sm.getDataSource());
        ItemDAO idao=new ItemDAO(sm.getDataSource());
        ArrayList sedItemIds=CreateDatasetServlet.allSedItemIdsInStudy(events,crfdao,idao);
        session.setAttribute("String_Node_Str",Integer.toString(sedItemIds.size()));
        request.setAttribute("String_Node_Str",events);
        session.setAttribute(EVENTS_FOR_CREATE_DATASET,events);
        session.setAttribute("String_Node_Str",new DatasetBean());
        session.setAttribute("String_Node_Str",new ArrayList());
        session.setAttribute("String_Node_Str",new CRFBean());
        forwardPage(Page.CREATE_DATASET_2);
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      String saveItems=fp.getString(SAVE_BUTTON);
      String saveContinue=fp.getString(SAVE_CONTINUE_BUTTON);
      DatasetBean db=(DatasetBean)session.getAttribute("String_Node_Str");
      if (db == null) {
        db=new DatasetBean();
      }
      extractIdsFromForm(db);
      extractEventIds(db);
      session.setAttribute("String_Node_Str",db);
      if (!StringUtil.isBlank(saveItems)) {
        request.setAttribute("String_Node_Str",session.getAttribute(EVENTS_FOR_CREATE_DATASET));
        String summary=respage.getString("String_Node_Str") + "String_Node_Str" + db.getItemIds().size()+ "String_Node_Str"+ respage.getString("String_Node_Str");
        summary+=genAttMsg(db);
        addPageMessage(summary);
        int crfId=fp.getInt("String_Node_Str");
        if (crfId > 0) {
          forwardPage(Page.CREATE_DATASET_2);
        }
 else {
          ArrayList sgclasses=(ArrayList)session.getAttribute("String_Node_Str");
          if (sgclasses == null || sgclasses.size() == 0) {
            sgclasses=setUpStudyGroups();
          }
          session.setAttribute("String_Node_Str",sgclasses);
          request.setAttribute("String_Node_Str",sgclasses);
          forwardPage(Page.CREATE_DATASET_VIEW_SELECTED);
        }
      }
 else {
        if (db.getItemIds().size() == 0) {
          request.setAttribute("String_Node_Str",session.getAttribute(EVENTS_FOR_CREATE_DATASET));
          addPageMessage(respage.getString("String_Node_Str"));
          forwardPage(Page.CREATE_DATASET_2);
        }
 else {
          String summary=respage.getString("String_Node_Str") + "String_Node_Str" + db.getItemIds().size()+ "String_Node_Str"+ respage.getString("String_Node_Str");
          summary+=genAttMsg(db);
          addPageMessage(summary);
          fp.addPresetValue("String_Node_Str",0);
          fp.addPresetValue("String_Node_Str",1900);
          fp.addPresetValue("String_Node_Str",0);
          fp.addPresetValue("String_Node_Str",2100);
          setPresetValues(fp.getPresetValues());
          logger.warn("String_Node_Str" + fp.getPresetValues().toString());
          request.setAttribute(BEAN_MONTHS,getMonths());
          request.setAttribute(BEAN_YEARS,getYears());
          forwardPage(Page.CREATE_DATASET_3);
        }
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      ArrayList months=getMonths();
      ArrayList years=getYears();
      int firstMonth=fp.getInt("String_Node_Str");
      int firstYear=fp.getInt("String_Node_Str");
      int lastMonth=fp.getInt("String_Node_Str");
      int lastYear=fp.getInt("String_Node_Str");
      if (fp.getInt("String_Node_Str") == 0) {
        firstMonth=1;
      }
      if (fp.getInt("String_Node_Str") == 0) {
        lastMonth=12;
      }
      errors=new HashMap();
      if (fp.getInt("String_Node_Str") > 0 && firstYear == 1900) {
        Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
      }
      if (fp.getInt("String_Node_Str") > 0 && lastYear == 2100) {
        Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
      }
      Date dateStart=getFirstDayOfMonth(firstYear,firstMonth);
      Date dateEnd=getLastDayOfMonth(lastYear,lastMonth);
      if (dateEnd.compareTo(dateStart) < 0) {
        Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
      }
      if (!errors.isEmpty()) {
        String fieldNames[]={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
        fp.setCurrentIntValuesAsPreset(fieldNames);
        setInputMessages(errors);
        addPageMessage(respage.getString("String_Node_Str"));
        setPresetValues(fp.getPresetValues());
        request.setAttribute(BEAN_MONTHS,getMonths());
        request.setAttribute(BEAN_YEARS,getYears());
        forwardPage(Page.CREATE_DATASET_3);
      }
 else {
        DatasetBean dsb=(DatasetBean)session.getAttribute("String_Node_Str");
        dsb.setDateStart(dateStart);
        dsb.setDateEnd(dateEnd);
        session.setAttribute("String_Node_Str",dsb);
        if (fp.getString("String_Node_Str").equals(resword.getString("String_Node_Str"))) {
          EntityBeanTable table=getFilterTable();
          session.setAttribute("String_Node_Str",new Integer(1));
          request.setAttribute("String_Node_Str",table);
          forwardPage(Page.APPLY_FILTER);
        }
 else {
          request.setAttribute("String_Node_Str",Status.toActiveArrayList());
          String temp=dsb.getODMMetaDataVersionOid();
          request.setAttribute("String_Node_Str",temp != null && temp.length() > 0 ? temp : "String_Node_Str");
          temp=dsb.getODMMetaDataVersionName();
          request.setAttribute("String_Node_Str",temp != null && temp.length() > 0 ? temp : "String_Node_Str");
          request.setAttribute("String_Node_Str",dsb.getODMPriorStudyOid());
          request.setAttribute("String_Node_Str",dsb.getODMPriorMetaDataVersionOid());
          forwardPage(Page.CREATE_DATASET_4);
        }
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      Validator v=new Validator(request);
      v.addValidation("String_Node_Str",Validator.NO_BLANKS);
      v.addValidation("String_Node_Str",Validator.NO_SEMI_COLONS_OR_COLONS);
      v.addValidation("String_Node_Str",Validator.NO_BLANKS);
      v.addValidation("String_Node_Str",Validator.IS_VALID_TERM,TermType.STATUS);
      v.addValidation("String_Node_Str",Validator.LENGTH_NUMERIC_COMPARISON,NumericComparisonOperator.LESS_THAN_OR_EQUAL_TO,255);
      v.addValidation("String_Node_Str",Validator.LENGTH_NUMERIC_COMPARISON,NumericComparisonOperator.LESS_THAN_OR_EQUAL_TO,2000);
      String mdvOID=fp.getString("String_Node_Str");
      String mdvName=fp.getString("String_Node_Str");
      String mdvPrevStudy=fp.getString("String_Node_Str");
      if (mdvPrevStudy != null && mdvPrevStudy.length() > 0) {
        v.addValidation("String_Node_Str",Validator.NO_BLANKS);
      }
      String mdvPrevOID=fp.getString("String_Node_Str");
      errors=v.validate();
      String dsName=fp.getString("String_Node_Str");
      if (!StringUtil.isBlank(dsName)) {
        if (dsName.contains("String_Node_Str") || dsName.contains("String_Node_Str")) {
          v.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
        }
        if (((DatasetBean)session.getAttribute("String_Node_Str")).getId() <= 0) {
          DatasetDAO dsdao=new DatasetDAO(sm.getDataSource());
          DatasetBean dsBean=(DatasetBean)dsdao.findByNameAndStudy(fp.getString("String_Node_Str").trim(),currentStudy);
          if (dsBean.getId() > 0) {
            Validator.addError(errors,"String_Node_Str",restext.getString("String_Node_Str"));
          }
        }
      }
      if (!errors.isEmpty()) {
        String fieldNames[]={"String_Node_Str","String_Node_Str"};
        fp.setCurrentStringValuesAsPreset(fieldNames);
        fp.addPresetValue("String_Node_Str",fp.getInt("String_Node_Str"));
        fp.addPresetValue("String_Node_Str",mdvOID);
        fp.addPresetValue("String_Node_Str",mdvName);
        fp.addPresetValue("String_Node_Str",mdvPrevStudy);
        fp.addPresetValue("String_Node_Str",mdvPrevOID);
        addPageMessage(respage.getString("String_Node_Str"));
        setInputMessages(errors);
        setPresetValues(fp.getPresetValues());
        request.setAttribute("String_Node_Str",Status.toActiveArrayList());
        forwardPage(Page.CREATE_DATASET_4);
      }
 else {
        session.setAttribute("String_Node_Str",mdvOID);
        session.setAttribute("String_Node_Str",mdvName);
        session.setAttribute("String_Node_Str",mdvPrevStudy);
        session.setAttribute("String_Node_Str",mdvPrevOID);
        if (mdvPrevOID != null && mdvPrevOID.length() > 0 && (mdvPrevStudy == null || mdvPrevStudy.length() <= 0)) {
          mdvPrevStudy=currentStudy.getId() + "String_Node_Str";
        }
        DatasetBean dsb=(DatasetBean)session.getAttribute("String_Node_Str");
        dsb.setSQLStatement(dsb.generateQuery());
        String dbName=SQLInitServlet.getField("String_Node_Str");
        if ("String_Node_Str".equals(dbName)) {
          dsb.setSQLStatement(dsb.generateOracleQuery());
        }
        FilterBean fb=(FilterBean)session.getAttribute("String_Node_Str");
        if (fb != null) {
          dsb.setSQLStatement(dsb.getSQLStatement() + "String_Node_Str" + fb.getSQLStatement());
        }
        if (dsb.getId() > 0 && !dsb.getName().equals(fp.getString("String_Node_Str"))) {
          dsb.setId(0);
        }
        dsb.setODMMetaDataVersionName(mdvName);
        dsb.setODMMetaDataVersionOid(mdvOID);
        dsb.setODMPriorMetaDataVersionOid(mdvPrevOID);
        dsb.setODMPriorStudyOid(mdvPrevStudy);
        dsb.setName(fp.getString("String_Node_Str"));
        dsb.setDescription(fp.getString("String_Node_Str"));
        dsb.setStatus(Status.get(fp.getInt("String_Node_Str")));
        dsb.setDatasetItemStatus(DatasetItemStatus.get(fp.getInt("String_Node_Str")));
        session.removeAttribute("String_Node_Str");
        Date ddate=new SimpleDateFormat("String_Node_Str").parse("String_Node_Str");
        request.setAttribute("String_Node_Str",local_df.parse(local_df.format(ddate)));
        request.setAttribute("String_Node_Str",getLastDayOfMonth(2100,12));
        session.setAttribute("String_Node_Str",dsb);
        forwardPage(Page.CONFIRM_DATASET);
      }
    }
 else     if ("String_Node_Str".equalsIgnoreCase(action)) {
      String submit=fp.getString("String_Node_Str");
      logger.info("String_Node_Str");
      if (!resword.getString("String_Node_Str").equalsIgnoreCase(submit)) {
        forwardPage(Page.CREATE_DATASET_4);
      }
 else {
        DatasetDAO ddao=new DatasetDAO(sm.getDataSource());
        DatasetBean dsb=(DatasetBean)session.getAttribute("String_Node_Str");
        dsb.setStudyId(this.currentStudy.getId());
        dsb.setOwner(ub);
        dsb=finalUpateDatasetBean(dsb);
        if (dsb.getId() == 0) {
          logger.info("String_Node_Str");
          dsb=(DatasetBean)ddao.create(dsb);
          logger.info("String_Node_Str" + dsb.getId() + "String_Node_Str"+ dsb.getName());
          if (!dsb.isActive()) {
            addPageMessage(restext.getString("String_Node_Str"));
            forwardPage(Page.EXTRACT_DATASETS_MAIN);
          }
        }
 else         if (dsb.getId() > 0) {
          dsb=(DatasetBean)ddao.updateAll(dsb);
          if (!dsb.isActive()) {
            addPageMessage(restext.getString("String_Node_Str"));
            forwardPage(Page.EXTRACT_DATASETS_MAIN);
          }
          dsb=(DatasetBean)ddao.updateGroupMap(dsb);
          if (!dsb.isActive()) {
            addPageMessage(restext.getString("String_Node_Str"));
            forwardPage(Page.EXTRACT_DATASETS_MAIN);
          }
        }
        logger.info("String_Node_Str");
        request.setAttribute("String_Node_Str",CoreResources.getExtractProperties());
        request.setAttribute("String_Node_Str",dsb);
        forwardPage(Page.EXPORT_DATASETS);
      }
    }
 else {
      addPageMessage(restext.getString("String_Node_Str"));
      forwardPage(Page.CREATE_DATASET_1);
    }
  }
}