private void loadImage(int questionId) { // TODO: imageLoader in een apparte task maken try { PictureRequest request = new PictureRequest(questionId); request.onResponse( new FxResponseListener() { @Override public void handleFxResponse(Response response) { if (response instanceof ExceptionResponse) { messageMaker.showWarning(((ExceptionResponse) response).getExceptionMessage()); } else if (response instanceof PictureResponse) { PictureResponse pic = (PictureResponse) response; try { pictureForQuestion.put(pic.getQuestionId(), pic.getPictureResource()); } catch (IOException e) { messageMaker.showWarning("Kon afbeelding niet laden"); } } } }); request.send(); } catch (UnknownHostException e) { messageMaker.showWarning("Kon afbeelding niet ophalen"); } catch (IdRangeException e) { messageMaker.showWarning("Kon afbeelding niet ophalen"); } catch (IOException e) { messageMaker.showWarning("Kon afbeelding niet ophalen"); } }
private void send(List<QuestionSubmit> list) { // TODO: dit door een task laten uitvoeren try { Client client = Client.getInstance(); for (QuestionSubmit s : list) { client.send(answerForQuestion.get(s)); answerForQuestion.remove(s); } } catch (UnknownHostException e) { messageMaker.showError("kon antwoorden niet doorsturen"); } catch (IOException e) { messageMaker.showError("kon antwoorden niet doorsturen"); } }
@FXML private void sendRound() { if (answerForQuestion.size() != currentPlayingRound.get().getAmountOfQuestions()) { messageMaker.showWarning("niet alle vragen zijn ingevuld"); return; } send(questionsForRound.get(currentPlayingRound.get())); // de huidige ronde verwijderen questionsForRound.remove(currentPlayingRound.get()); if (questionsForRound.isEmpty()) { currentPlayingRound.set(null); } else { for (RoundSubmit s : questionsForRound.keySet()) { currentPlayingRound.set(s); break; } } }