public QuestionReponseTypeBo getQuestionsResponseTypeBo()

in study-builder/fdahpStudyDesigner/src/main/java/com/fdahpstudydesigner/dao/StudyQuestionnaireDAOImpl.java [2717:3057]


  public QuestionReponseTypeBo getQuestionsResponseTypeBo(
      QuestionReponseTypeBo questionsResponseTypeBo, Session session, String customStudyId) {
    logger.entry("begin getQuestionsResponseTypeBo()");
    QuestionReponseTypeBo addOrUpdateQuestionsResponseTypeBo = null;
    try {
      if ((questionsResponseTypeBo != null) && (session != null)) {
        if (StringUtils.isNotEmpty(questionsResponseTypeBo.getResponseTypeId())) {
          addOrUpdateQuestionsResponseTypeBo =
              (QuestionReponseTypeBo)
                  session.get(
                      QuestionReponseTypeBo.class, questionsResponseTypeBo.getResponseTypeId());
        } else {
          addOrUpdateQuestionsResponseTypeBo = new QuestionReponseTypeBo();
          addOrUpdateQuestionsResponseTypeBo.setActive(true);
        }
        if (questionsResponseTypeBo.getQuestionsResponseTypeId() != null) {
          addOrUpdateQuestionsResponseTypeBo.setQuestionsResponseTypeId(
              questionsResponseTypeBo.getQuestionsResponseTypeId());
        }
        if (questionsResponseTypeBo.getMinValue() != null) {
          addOrUpdateQuestionsResponseTypeBo.setMinValue(questionsResponseTypeBo.getMinValue());
        }
        if (questionsResponseTypeBo.getMaxValue() != null) {
          addOrUpdateQuestionsResponseTypeBo.setMaxValue(questionsResponseTypeBo.getMaxValue());
        }
        if (questionsResponseTypeBo.getDefaultValue() != null) {
          addOrUpdateQuestionsResponseTypeBo.setDefaultValue(
              questionsResponseTypeBo.getDefaultValue());
        }
        if (questionsResponseTypeBo.getStep() != null) {
          addOrUpdateQuestionsResponseTypeBo.setStep(questionsResponseTypeBo.getStep());
        }
        if (questionsResponseTypeBo.getVertical() != null) {
          addOrUpdateQuestionsResponseTypeBo.setVertical(questionsResponseTypeBo.getVertical());
        }
        addOrUpdateQuestionsResponseTypeBo.setMinDescription(
            questionsResponseTypeBo.getMinDescription());
        addOrUpdateQuestionsResponseTypeBo.setMaxDescription(
            questionsResponseTypeBo.getMaxDescription());
        if (questionsResponseTypeBo.getMaxFractionDigits() != null) {
          addOrUpdateQuestionsResponseTypeBo.setMaxFractionDigits(
              questionsResponseTypeBo.getMaxFractionDigits());
        }
        if ((questionsResponseTypeBo.getTextChoices() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getTextChoices())) {
          addOrUpdateQuestionsResponseTypeBo.setTextChoices(
              questionsResponseTypeBo.getTextChoices());
        }
        if ((questionsResponseTypeBo.getSelectionStyle() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getSelectionStyle())) {
          addOrUpdateQuestionsResponseTypeBo.setSelectionStyle(
              questionsResponseTypeBo.getSelectionStyle());
        }
        if ((questionsResponseTypeBo.getImageSize() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getImageSize())) {
          addOrUpdateQuestionsResponseTypeBo.setImageSize(questionsResponseTypeBo.getImageSize());
        }
        if ((questionsResponseTypeBo.getStyle() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getStyle())) {
          addOrUpdateQuestionsResponseTypeBo.setStyle(questionsResponseTypeBo.getStyle());
          if ((FdahpStudyDesignerConstants.DATE)
              .equalsIgnoreCase(questionsResponseTypeBo.getStyle())) {
            if ((questionsResponseTypeBo.getMinDate() != null)
                && StringUtils.isNotEmpty(questionsResponseTypeBo.getMinDate())) {
              addOrUpdateQuestionsResponseTypeBo.setMinDate(
                  FdahpStudyDesignerUtil.getFormattedDate(
                      questionsResponseTypeBo.getMinDate(),
                      FdahpStudyDesignerConstants.UI_SDF_DATE,
                      FdahpStudyDesignerConstants.DB_SDF_DATE));
            } else {
              addOrUpdateQuestionsResponseTypeBo.setMinDate(null);
            }
            if ((questionsResponseTypeBo.getMaxDate() != null)
                && StringUtils.isNotEmpty(questionsResponseTypeBo.getMaxDate())) {
              addOrUpdateQuestionsResponseTypeBo.setMaxDate(
                  FdahpStudyDesignerUtil.getFormattedDate(
                      questionsResponseTypeBo.getMaxDate(),
                      FdahpStudyDesignerConstants.UI_SDF_DATE,
                      FdahpStudyDesignerConstants.DB_SDF_DATE));
            } else {
              addOrUpdateQuestionsResponseTypeBo.setMaxDate(null);
            }
            if ((questionsResponseTypeBo.getDefaultDate() != null)
                && StringUtils.isNotEmpty(questionsResponseTypeBo.getDefaultDate())) {
              addOrUpdateQuestionsResponseTypeBo.setDefaultDate(
                  FdahpStudyDesignerUtil.getFormattedDate(
                      questionsResponseTypeBo.getDefaultDate(),
                      FdahpStudyDesignerConstants.UI_SDF_DATE,
                      FdahpStudyDesignerConstants.DB_SDF_DATE));
            } else {
              addOrUpdateQuestionsResponseTypeBo.setDefaultDate(null);
            }
          } else if ((FdahpStudyDesignerConstants.DATE_TIME)
              .equalsIgnoreCase(questionsResponseTypeBo.getStyle())) {
            if ((questionsResponseTypeBo.getMinDate() != null)
                && StringUtils.isNotEmpty(questionsResponseTypeBo.getMinDate())) {
              addOrUpdateQuestionsResponseTypeBo.setMinDate(
                  FdahpStudyDesignerUtil.getFormattedDate(
                      questionsResponseTypeBo.getMinDate(),
                      FdahpStudyDesignerConstants.REQUIRED_DATE_TIME,
                      FdahpStudyDesignerConstants.DB_SDF_DATE_TIME));
            } else {
              addOrUpdateQuestionsResponseTypeBo.setMinDate(null);
            }
            if ((questionsResponseTypeBo.getMaxDate() != null)
                && StringUtils.isNotEmpty(questionsResponseTypeBo.getMaxDate())) {
              addOrUpdateQuestionsResponseTypeBo.setMaxDate(
                  FdahpStudyDesignerUtil.getFormattedDate(
                      questionsResponseTypeBo.getMaxDate(),
                      FdahpStudyDesignerConstants.REQUIRED_DATE_TIME,
                      FdahpStudyDesignerConstants.DB_SDF_DATE_TIME));
            } else {
              addOrUpdateQuestionsResponseTypeBo.setMaxDate(null);
            }
            if ((questionsResponseTypeBo.getDefaultDate() != null)
                && StringUtils.isNotEmpty(questionsResponseTypeBo.getDefaultDate())) {
              addOrUpdateQuestionsResponseTypeBo.setDefaultDate(
                  FdahpStudyDesignerUtil.getFormattedDate(
                      questionsResponseTypeBo.getDefaultDate(),
                      FdahpStudyDesignerConstants.REQUIRED_DATE_TIME,
                      FdahpStudyDesignerConstants.DB_SDF_DATE_TIME));
            } else {
              addOrUpdateQuestionsResponseTypeBo.setDefaultDate(null);
            }
          }
        }
        addOrUpdateQuestionsResponseTypeBo.setPlaceholder(questionsResponseTypeBo.getPlaceholder());
        addOrUpdateQuestionsResponseTypeBo.setUnit(questionsResponseTypeBo.getUnit());
        addOrUpdateQuestionsResponseTypeBo.setMaxLength(questionsResponseTypeBo.getMaxLength());
        if ((questionsResponseTypeBo.getValidationRegex() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getValidationRegex())) {
          addOrUpdateQuestionsResponseTypeBo.setValidationRegex(
              questionsResponseTypeBo.getValidationRegex());
        }
        addOrUpdateQuestionsResponseTypeBo.setInvalidMessage(
            questionsResponseTypeBo.getInvalidMessage());
        if (questionsResponseTypeBo.getMultipleLines() != null) {
          addOrUpdateQuestionsResponseTypeBo.setMultipleLines(
              questionsResponseTypeBo.getMultipleLines());
        }
        if ((questionsResponseTypeBo.getMeasurementSystem() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getMeasurementSystem())) {
          addOrUpdateQuestionsResponseTypeBo.setMeasurementSystem(
              questionsResponseTypeBo.getMeasurementSystem());
        }
        if (questionsResponseTypeBo.getUseCurrentLocation() != null) {
          addOrUpdateQuestionsResponseTypeBo.setUseCurrentLocation(
              questionsResponseTypeBo.getUseCurrentLocation());
        }
        addOrUpdateQuestionsResponseTypeBo.setValidationCondition(
            questionsResponseTypeBo.getValidationCondition());
        addOrUpdateQuestionsResponseTypeBo.setValidationCharacters(
            questionsResponseTypeBo.getValidationCharacters());
        addOrUpdateQuestionsResponseTypeBo.setValidationExceptText(
            questionsResponseTypeBo.getValidationExceptText());

        addOrUpdateQuestionsResponseTypeBo.setValidationRegex(
            FdahpStudyDesignerUtil.getRegExpression(
                questionsResponseTypeBo.getValidationCondition(),
                questionsResponseTypeBo.getValidationCharacters(),
                questionsResponseTypeBo.getValidationExceptText()));

        String fileName;
        if (questionsResponseTypeBo.getMinImageFile() != null) {
          if ((questionsResponseTypeBo.getMinImage() != null)
              && StringUtils.isNotEmpty(questionsResponseTypeBo.getMinImage())) {
            addOrUpdateQuestionsResponseTypeBo.setMinImage(questionsResponseTypeBo.getMinImage());
          } else {
            if ((questionsResponseTypeBo.getMinImageFile().getOriginalFilename() != null)
                && StringUtils.isNotEmpty(
                    questionsResponseTypeBo.getMinImageFile().getOriginalFilename())) {
              fileName =
                  FdahpStudyDesignerUtil.getStandardFileName(
                      FdahpStudyDesignerConstants.QUESTION_STEP_IMAGE + 0,
                      questionsResponseTypeBo.getMinImageFile().getOriginalFilename(),
                      String.valueOf(questionsResponseTypeBo.getQuestionsResponseTypeId()));

              BufferedImage newBi =
                  ImageIO.read(
                      new ByteArrayInputStream(
                          questionsResponseTypeBo.getMinImageFile().getBytes()));
              int minWidthAndHeight = 0;

              if (newBi.getHeight() > 120 && newBi.getWidth() > 120) {
                minWidthAndHeight = 120;
              } else {
                minWidthAndHeight = Math.min(newBi.getHeight(), newBi.getWidth());
              }
              BufferedImage resizedImage =
                  ImageUtility.resizeImage(newBi, minWidthAndHeight, minWidthAndHeight);
              String extension =
                  FilenameUtils.getExtension(
                      questionsResponseTypeBo.getMinImageFile().getOriginalFilename());

              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              ImageIO.write(resizedImage, extension, baos);
              baos.flush();

              CustomMultipartFile customMultipartFile =
                  new CustomMultipartFile(
                      baos.toByteArray(),
                      questionsResponseTypeBo.getMinImageFile().getOriginalFilename(),
                      extension);

              String imagePath =
                  FdahpStudyDesignerUtil.saveImage(
                      customMultipartFile,
                      fileName,
                      FdahpStudyDesignerConstants.QUESTIONNAIRE,
                      customStudyId);
              addOrUpdateQuestionsResponseTypeBo.setMinImage(imagePath);
            } else {
              addOrUpdateQuestionsResponseTypeBo.setMinImage(null);
            }
          }
        } else {
          if (StringUtils.isEmpty(questionsResponseTypeBo.getMinImage())) {
            addOrUpdateQuestionsResponseTypeBo.setMinImage(null);
          }
        }
        if (questionsResponseTypeBo.getMaxImageFile() != null) {
          if ((questionsResponseTypeBo.getMaxImage() != null)
              && StringUtils.isNotEmpty(questionsResponseTypeBo.getMaxImage())) {
            addOrUpdateQuestionsResponseTypeBo.setMaxImage(questionsResponseTypeBo.getMaxImage());
          } else {
            if ((questionsResponseTypeBo.getMaxImageFile().getOriginalFilename() != null)
                && StringUtils.isNotEmpty(
                    questionsResponseTypeBo.getMaxImageFile().getOriginalFilename())) {
              fileName =
                  FdahpStudyDesignerUtil.getStandardFileName(
                      FdahpStudyDesignerConstants.QUESTION_STEP_IMAGE + 1,
                      questionsResponseTypeBo.getMaxImageFile().getOriginalFilename(),
                      String.valueOf(questionsResponseTypeBo.getQuestionsResponseTypeId()));

              BufferedImage newBi =
                  ImageIO.read(
                      new ByteArrayInputStream(
                          questionsResponseTypeBo.getMaxImageFile().getBytes()));
              int minWidthAndHeight = 0;

              if (newBi.getHeight() > 120 && newBi.getWidth() > 120) {
                minWidthAndHeight = 120;
              } else {
                minWidthAndHeight = Math.min(newBi.getHeight(), newBi.getWidth());
              }

              BufferedImage resizedImage =
                  ImageUtility.resizeImage(newBi, minWidthAndHeight, minWidthAndHeight);
              String extension =
                  FilenameUtils.getExtension(
                      questionsResponseTypeBo.getMaxImageFile().getOriginalFilename());

              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              ImageIO.write(resizedImage, extension, baos);
              baos.flush();

              CustomMultipartFile customMultipartFile =
                  new CustomMultipartFile(
                      baos.toByteArray(),
                      questionsResponseTypeBo.getMaxImageFile().getOriginalFilename(),
                      extension);

              String imagePath =
                  FdahpStudyDesignerUtil.saveImage(
                      customMultipartFile,
                      fileName,
                      FdahpStudyDesignerConstants.QUESTIONNAIRE,
                      customStudyId);

              addOrUpdateQuestionsResponseTypeBo.setMaxImage(imagePath);
            } else {
              addOrUpdateQuestionsResponseTypeBo.setMaxImage(null);
            }
          }
        } else {
          if (StringUtils.isEmpty(questionsResponseTypeBo.getMaxImage())) {
            addOrUpdateQuestionsResponseTypeBo.setMaxImage(null);
          }
        }
        if ((questionsResponseTypeBo.getDefaultTime() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getDefaultTime())) {
          addOrUpdateQuestionsResponseTypeBo.setDefaultTime(
              questionsResponseTypeBo.getDefaultTime());
        }
        if ((questionsResponseTypeBo.getFormulaBasedLogic() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getFormulaBasedLogic())) {
          addOrUpdateQuestionsResponseTypeBo.setFormulaBasedLogic(
              questionsResponseTypeBo.getFormulaBasedLogic());
        }
        if ((questionsResponseTypeBo.getConditionFormula() != null)
            && StringUtils.isNotEmpty(questionsResponseTypeBo.getConditionFormula())) {
          addOrUpdateQuestionsResponseTypeBo.setConditionFormula(
              questionsResponseTypeBo
                  .getConditionFormula()
                  .replace("&lt;", "<")
                  .replace("&gt;", ">"));
        }

        /** Other type set addded by ronalin * */
        if (StringUtils.isNotEmpty(questionsResponseTypeBo.getOtherType())
            && questionsResponseTypeBo.getOtherType().equals("on")) {
          addOrUpdateQuestionsResponseTypeBo.setOtherType(questionsResponseTypeBo.getOtherType());
          addOrUpdateQuestionsResponseTypeBo.setOtherText(questionsResponseTypeBo.getOtherText());
          addOrUpdateQuestionsResponseTypeBo.setOtherValue(questionsResponseTypeBo.getOtherValue());
          addOrUpdateQuestionsResponseTypeBo.setOtherExclusive(
              questionsResponseTypeBo.getOtherExclusive());
          addOrUpdateQuestionsResponseTypeBo.setOtherDestinationStepId(
              questionsResponseTypeBo.getOtherDestinationStepId());
          addOrUpdateQuestionsResponseTypeBo.setOtherDescription(
              questionsResponseTypeBo.getOtherDescription());
          addOrUpdateQuestionsResponseTypeBo.setOtherIncludeText(
              questionsResponseTypeBo.getOtherIncludeText());
          if (StringUtils.isNotEmpty(questionsResponseTypeBo.getOtherIncludeText())
              && questionsResponseTypeBo.getOtherIncludeText().equals("Yes")) {
            addOrUpdateQuestionsResponseTypeBo.setOtherPlaceholderText(
                questionsResponseTypeBo.getOtherPlaceholderText());
            addOrUpdateQuestionsResponseTypeBo.setOtherParticipantFill(
                questionsResponseTypeBo.getOtherParticipantFill());
          } else {
            addOrUpdateQuestionsResponseTypeBo.setOtherPlaceholderText(null);
            addOrUpdateQuestionsResponseTypeBo.setOtherParticipantFill(null);
          }
        } else {
          addOrUpdateQuestionsResponseTypeBo.setOtherType(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherText(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherValue(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherExclusive(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherDestinationStepId(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherDescription(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherIncludeText(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherPlaceholderText(null);
          addOrUpdateQuestionsResponseTypeBo.setOtherParticipantFill(null);
        }
        /** Other type set addded by ronalin * */
      }
    } catch (Exception e) {
      logger.error("StudyQuestionnaireDAOImpl - getQuestionsResponseTypeBo() - Error", e);
    }
    logger.exit("getQuestionsResponseTypeBo() - Ends");
    return addOrUpdateQuestionsResponseTypeBo;
  }