Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java =================================================================== diff -u -ree92eae8682d1b4674c6f918ec79b42dd06f80ec -r3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision ee92eae8682d1b4674c6f918ec79b42dd06f80ec) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision 3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb) @@ -279,9 +279,10 @@ * @param sessionId * optional parameter, if it's specified, BurningQuestionDTOs will also contain information what leader * of this group has liked + * @param includeEmptyItems whether it should include questions that don't have any burning questions * @return */ - List getBurningQuestionDtos(Scratchie scratchie, Long sessionId); + List getBurningQuestionDtos(Scratchie scratchie, Long sessionId, boolean includeEmptyItems); boolean addLike(Long burningQuestionUid, Long sessionId); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== diff -u -ree92eae8682d1b4674c6f918ec79b42dd06f80ec -r3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision ee92eae8682d1b4674c6f918ec79b42dd06f80ec) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb) @@ -895,7 +895,7 @@ } @Override - public List getBurningQuestionDtos(Scratchie scratchie, Long sessionId) { + public List getBurningQuestionDtos(Scratchie scratchie, Long sessionId, boolean includeEmptyItems) { Set items = new TreeSet<>(new ScratchieItemComparator()); items.addAll(scratchie.getScratchieItems()); @@ -918,11 +918,14 @@ burningQuestionDtosOfSpecifiedItem.add(burningQuestionDto); } } - - BurningQuestionItemDTO burningQuestionItemDto = new BurningQuestionItemDTO(); - burningQuestionItemDto.setScratchieItem(item); - burningQuestionItemDto.setBurningQuestionDtos(burningQuestionDtosOfSpecifiedItem); - burningQuestionItemDtos.add(burningQuestionItemDto); + + //skip empty items if required + if (!burningQuestionDtosOfSpecifiedItem.isEmpty() || includeEmptyItems) { + BurningQuestionItemDTO burningQuestionItemDto = new BurningQuestionItemDTO(); + burningQuestionItemDto.setScratchieItem(item); + burningQuestionItemDto.setBurningQuestionDtos(burningQuestionDtosOfSpecifiedItem); + burningQuestionItemDtos.add(burningQuestionItemDto); + } } // handle general burning question @@ -941,7 +944,10 @@ } } generalBurningQuestionItemDto.setBurningQuestionDtos(burningQuestionDtosOfSpecifiedItem); - burningQuestionItemDtos.add(generalBurningQuestionItemDto); + //don't display general burning question if it's empty and such rule is enforced + if (!burningQuestionDtosOfSpecifiedItem.isEmpty() || includeEmptyItems) { + burningQuestionItemDtos.add(generalBurningQuestionItemDto); + } //escape for Javascript for (BurningQuestionItemDTO burningQuestionItemDto : burningQuestionItemDtos) { @@ -1605,7 +1611,7 @@ row[2] = new ExcelCell(getMessage("label.count"), IndexedColors.BLUE); rowList.add(row); - List burningQuestionItemDtos = getBurningQuestionDtos(scratchie, null); + List burningQuestionItemDtos = getBurningQuestionDtos(scratchie, null, true); for (BurningQuestionItemDTO burningQuestionItemDto : burningQuestionItemDtos) { ScratchieItem item = burningQuestionItemDto.getScratchieItem(); row = new ExcelCell[1]; Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java =================================================================== diff -u -r7af721ba202218565d615fc2f0e1c146e7ea0b24 -r3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java (.../LearningAction.java) (revision 7af721ba202218565d615fc2f0e1c146e7ea0b24) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java (.../LearningAction.java) (revision 3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb) @@ -484,7 +484,7 @@ // display other groups' BurningQuestions if (isBurningQuestionsEnabled) { List burningQuestionItemDtos = service.getBurningQuestionDtos(scratchie, - toolSessionId); + toolSessionId, false); request.setAttribute(ScratchieConstants.ATTR_BURNING_QUESTION_ITEM_DTOS, burningQuestionItemDtos); } Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java =================================================================== diff -u -r911eb9cfa3db76d9b0f495f76833dc82545bee9d -r3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 911eb9cfa3db76d9b0f495f76833dc82545bee9d) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 3d40a7e98de7bcd2cb744cdb8dc13c0022fb7bdb) @@ -145,7 +145,7 @@ // Create BurningQuestionsDtos if BurningQuestions is enabled. if (scratchie.isBurningQuestionsEnabled()) { - List burningQuestionItemDtos = service.getBurningQuestionDtos(scratchie, null); + List burningQuestionItemDtos = service.getBurningQuestionDtos(scratchie, null, true); sessionMap.put(ScratchieConstants.ATTR_BURNING_QUESTION_ITEM_DTOS, burningQuestionItemDtos); }