public void setTypeName(String typeName) {
    this.typeName = typeName;
    /*
     * TODO: AM: In this block, if the type name is invalid, we are just
     * proceeding and not throwing back any thing. Not sure if I should
     * change this to throw as some code may be working on this assumption.
     * Should revisit later to verify and fix.
     */

    if (typeName != null) {
      if (typeName.equals(TYPE.MULTIPLE_CHOICE.getName())) {
        type = TYPE.MULTIPLE_CHOICE.getId();
      } else if (typeName.equals(TYPE.SHORT_ANSWER.getName())) {
        type = TYPE.SHORT_ANSWER.getId();
      } else if (typeName.equals(TYPE.TRUE_OR_FALSE.getName())) {
        type = TYPE.TRUE_OR_FALSE.getId();
      } else if (typeName.equals(TYPE.FILL_IN_BLANKS.getName())) {
        type = TYPE.FILL_IN_BLANKS.getId();
      } else if (typeName.equals(TYPE.MATCH_THE_FOLLOWING.getName())) {
        type = TYPE.MATCH_THE_FOLLOWING.getId();
      } else if (typeName.equals(TYPE.OPEN_ENDED.getName())) {
        type = TYPE.OPEN_ENDED.getId();
      } else if (typeName.equals(TYPE.MULTIPLE_ANSWERS.getName())) {
        type = TYPE.MULTIPLE_ANSWERS.getId();
      } else if (typeName.equals(TYPE.HOT_SPOT_IMAGES.getName())) {
        type = TYPE.HOT_SPOT_IMAGES.getId();
      } else if (typeName.equals(TYPE.HOT_SPOT_TEXT.getName())) {
        type = TYPE.HOT_SPOT_TEXT.getId();
      } else if (typeName.equals(TYPE.HOT_TEXT_HL.getName())) {
        type = TYPE.HOT_TEXT_HL.getId();
      } else if (typeName.equals(TYPE.HOT_TEXT_RO.getName())) {
        type = TYPE.HOT_TEXT_RO.getId();
      }
    }
  }
  @Transient
  public boolean isQuestionNewGen() {

    if (typeName.equalsIgnoreCase(TYPE.MATCH_THE_FOLLOWING.getName())
        || typeName.equalsIgnoreCase(TYPE.OPEN_ENDED.getName())
        || typeName.equalsIgnoreCase(TYPE.MULTIPLE_ANSWERS.getName())
        || typeName.equalsIgnoreCase(TYPE.MULTIPLE_CHOICE.getName())
        || typeName.equalsIgnoreCase(TYPE.SHORT_ANSWER.getName())
        || typeName.equalsIgnoreCase(TYPE.TRUE_OR_FALSE.getName())
        || typeName.equalsIgnoreCase(TYPE.FILL_IN_BLANKS.getName())) {
      return false;
    }
    return true;
  }