Example #1
0
  @Override
  public Question getRandomQuestion(int type, Set<Integer> askedQuestions) {
    try {
      QuestionsDAO questionsDAO = new QuestionsDAO(connectionQuiz);
      QuestionsDataSet question = questionsDAO.getRandom(type, askedQuestions);
      askedQuestions.add(question.getQuestionId());
      AnswersDAO answersDAO = new AnswersDAO(connectionQuiz);

      String[] answers = null;
      String correctAnswer = null;

      if (question.getType() == Question.DEFAULT_QUESTION_TYPE) {

        List<String> answersList = new ArrayList<>();
        for (AnswersDataSet a : answersDAO.getByQuestionId(question.getQuestionId())) {
          answersList.add(a.getText());
          if (a.isCorrect()) {
            correctAnswer = a.getText();
          }
        }

        answers = new String[answersList.size()];
        answers = answersList.toArray(answers);

      } else if (question.getType() == Question.SPECIAL_QUESTION_TYPE) {

        AnswersDataSet answer = answersDAO.getCorrectByQuestionId(question.getQuestionId());
        correctAnswer = answer.getText();
      }

      return new Question(question.getTitle(), question.getType(), answers, correctAnswer);
    } catch (SQLException | NullPointerException e) {
      e.printStackTrace();
    }

    return null;
  }