lastQuestionId = ((ObjectAnswer) currentAnswerList.get(currentAnswerList.size() - 1)).getQuestion().getQuestionId();
firstQuestionId = ((ObjectAnswer) currentAnswerList.get(0)).getQuestion().getQuestionId();
}
//getting previous and next qestion blocks
ObjectAnswer nextObjectAnswer = null;
ObjectAnswer prevObjectAnswer = null;
if (lastQuestionId != null) {
nextObjectAnswer = (buildingObjectManager.getNextQestion(buildingObject.getObjectId(), lastQuestionId, !forDocuments));
}
if (firstQuestionId != null) {
prevObjectAnswer = (buildingObjectManager.getPrevQestion(buildingObject.getObjectId(), firstQuestionId, !forDocuments));
}
if (nextObjectAnswer != null) {
nextId = nextObjectAnswer.getQuestion().getQuestionId();
}
if (prevObjectAnswer != null) {
prevId = prevObjectAnswer.getQuestion().getQuestionId();
}
request.setAttribute("nextId", nextId);
request.setAttribute("prevId", prevId);
if (request.getParameter("save") != null || request.getParameter("saveAndGo") != null) {
//saving and leaving the page
for (int i = 0; i < currentAnswerList.size(); i++) {
String contents = null;
String comment = null;
List<Answer> templateAswers = new ArrayList<Answer>();
ObjectAnswer o = (ObjectAnswer) currentAnswerList.get(i);
if (o.getQuestion().getAnswers().size() != 0) {
if (!o.getQuestion().isFewAnswers()) {
Answer answer = (Answer) o.getAnswers().get(0);
if (answer.getAnswerId() != null && answer.getAnswerId()!=-1) {
templateAswers.add(answer);
}
}
if (o.getQuestion().isFewAnswers()) {
List answerList = o.getAnswers();
for (int j = 0; j < answerList.size(); j++) {
Answer answer = (Answer) answerList.get(j);
if (answer.getAnswerId() != null || answer.getAnswerId() != -1) {
templateAswers.add(answer);
}
}
}
} else {
contents = o.getAnswerContents();
}
comment = o.getAnswerComment();
objectAnswerManager
.updateObjectAnswerValues(
o.getObjectAnswerId(),
templateAswers, contents, comment);
// buildingObjectManager.saveBuildingObject(buildingObject);
}
//System.out.println("prevId="+prevId);
//System.out.println("nextId="+nextId);