private void insertFormFieldsIntoQuestion(Question question) { question.setTitle((String) questionTitleField.getModelObject()); question.setPrompt((String) questionPromptField.getModelObject()); question.setPreface((String) questionPrefaceField.getModelObject()); question.setCitation((String) questionCitationField.getModelObject()); question.setAnswerType((Answer.AnswerType) questionResponseTypeModel.getObject()); Object answerReason = questionAnswerReasonModel.getObject(); question.setAnswerReasonExpressionId( answerReason == null || answerReason.equals(answerAlways) ? null : ((Expression) answerReason).getId()); Boolean askingStyle = (Boolean) askingStyleModel.getObject(); String msg = "Asking style in insertFormFields (model=" + askingStyle + "): " + question.getAskingStyleList(); question.setAskingStyleList(askingStyle); // TODO: need to trace what happens in this method msg += " -> " + question.getAskingStyleList(); // throw new RuntimeException(msg); /// question.setUseIfExpression((String) questionUseIfField.getModelObject()); question.setOtherSpecify((Boolean) otherSpecifyCheckBox.getModelObject()); question.setNoneButton((Boolean) noneButtonCheckBox.getModelObject()); question.setTimeUnits((Integer) timeUnitsPanel.getTimeUnits()); if (question.getAnswerType() == Answer.AnswerType.NUMERICAL) { question.setMinLimitType(numericLimitsPanel.getMinLimitType()); question.setMinLiteral(numericLimitsPanel.getMinLiteral()); question.setMinPrevQues(numericLimitsPanel.getMinPrevQues()); question.setMaxLimitType(numericLimitsPanel.getMaxLimitType()); question.setMaxLiteral(numericLimitsPanel.getMaxLiteral()); question.setMaxPrevQues(numericLimitsPanel.getMaxPrevQues()); } else if (question.getAnswerType() == Answer.AnswerType.MULTIPLE_SELECTION) { question.setMinCheckableBoxes(multipleSelectionLimitsPanel.getMinCheckableBoxes()); question.setMaxCheckableBoxes(multipleSelectionLimitsPanel.getMaxCheckableBoxes()); } if (askingStyle) { question.setWithListRange(listLimitsPanel.getWithListRange()); question.setListRangeString(listLimitsPanel.getListRangeString()); question.setMinListRange(listLimitsPanel.getMinListRange()); question.setMaxListRange(listLimitsPanel.getMaxListRange()); } }