public boolean validateItemsDrawn(SectionBean sectionBean) {
    FacesContext context = FacesContext.getCurrentInstance();
    String numberDrawn = sectionBean.getNumberSelected();
    String err;

    QuestionPoolService qpservice = new QuestionPoolService();

    ArrayList itemlist = qpservice.getAllItems(Long.valueOf(sectionBean.getSelectedPool()));
    int itemcount = itemlist.size();
    String itemcountString = " " + Integer.toString(itemcount);

    try {
      int numberDrawnInt = Integer.parseInt(numberDrawn);
      if (numberDrawnInt <= 0 || numberDrawnInt > itemcount) {
        err =
            ContextUtil.getLocalizedString(
                "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_error");
        context.addMessage(null, new FacesMessage(err + itemcountString));
        return false;
      }

    } catch (NumberFormatException e) {
      err =
          ContextUtil.getLocalizedString(
              "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_error");
      context.addMessage(null, new FacesMessage(err + itemcountString));
      return false;
    }

    String randomScore = sectionBean.getRandomPartScore();
    if (randomScore != null && !randomScore.equals("")) {
      try {
        double randomScoreDouble = Double.parseDouble(randomScore);
        if (randomScoreDouble < 0.0) {
          err =
              ContextUtil.getLocalizedString(
                  "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_pt_error");
          context.addMessage(null, new FacesMessage(err));
          return false;
        }
      } catch (NumberFormatException e) {
        err =
            ContextUtil.getLocalizedString(
                "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_pt_error");
        context.addMessage(null, new FacesMessage(err));
        return false;
      }
    } else {
      err =
          ContextUtil.getLocalizedString(
              "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_null_error_pos");
      context.addMessage(null, new FacesMessage(err));
      return false;
    }

    String randomDiscount = sectionBean.getRandomPartDiscount();
    if (randomDiscount != null && !randomDiscount.equals("")) {
      try {
        double randomDiscountDouble = Double.parseDouble(randomDiscount);
        if (randomDiscountDouble < 0.0) {
          err =
              ContextUtil.getLocalizedString(
                  "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_pt_error");
          context.addMessage(null, new FacesMessage(err));
          return false;
        }
      } catch (NumberFormatException e) {
        err =
            ContextUtil.getLocalizedString(
                "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_pt_error");
        context.addMessage(null, new FacesMessage(err));
        return false;
      }
    } else {
      err =
          ContextUtil.getLocalizedString(
              "org.sakaiproject.tool.assessment.bundle.AuthorMessages", "qdrawn_null_error_neg");
      context.addMessage(null, new FacesMessage(err));
      return false;
    }
    return true;
  }