Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/IQbToolService.java =================================================================== diff -u -r3649999936753b6c474d93ba9fa603bfd0d18a2c -rf9377e7d8d81e048c6218184f598826038b0cb35 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/IQbToolService.java (.../IQbToolService.java) (revision 3649999936753b6c474d93ba9fa603bfd0d18a2c) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/IQbToolService.java (.../IQbToolService.java) (revision f9377e7d8d81e048c6218184f598826038b0cb35) @@ -3,6 +3,7 @@ import java.util.List; import org.lamsfoundation.lams.qb.model.QbQuestion; +import org.lamsfoundation.lams.qb.model.QbToolQuestion; /** * It is an optional interface implemented by tools' services. @@ -15,5 +16,5 @@ /** * Replaces existing questions in an activity with ones provided as a parameter. */ - void replaceQuestions(long toolContentId, String newActivityName, List newQuestions); + List replaceQuestions(long toolContentId, String newActivityName, List newQuestions); } \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r615d6c1aa82d59734e67f1995f30ff82cfe86a07 -rf9377e7d8d81e048c6218184f598826038b0cb35 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 615d6c1aa82d59734e67f1995f30ff82cfe86a07) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision f9377e7d8d81e048c6218184f598826038b0cb35) @@ -2704,7 +2704,8 @@ } @Override - public void replaceQuestions(long toolContentId, String newActivityName, List newQuestions) { + public List replaceQuestions(long toolContentId, String newActivityName, + List newQuestions) { Assessment assessment = getAssessmentByContentId(toolContentId); if (newActivityName != null) { assessment.setTitle(newActivityName); @@ -2724,6 +2725,7 @@ // this is needed, otherwise Hibernate wants to re-save the deleted Assessment questions assessment.getQuestions().clear(); + List result = new ArrayList<>(newQuestions.size()); // populate Assessment with new questions and references int displayOrder = 1; for (QbQuestion qbQuestion : newQuestions) { @@ -2733,6 +2735,7 @@ assessmentQuestion.setToolContentId(toolContentId); assessmentQuestionDao.insert(assessmentQuestion); assessment.getQuestions().add(assessmentQuestion); + result.add(assessmentQuestion); QuestionReference questionReference = new QuestionReference(); questionReference.setQuestion(assessmentQuestion); @@ -2743,6 +2746,8 @@ displayOrder++; } assessmentDao.update(assessment); + + return result; } // ***************************************************************************** // private methods Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java =================================================================== diff -u -rc393d2b92ec8c8bdc5916ac5f53e0adcaeee0ce3 -rf9377e7d8d81e048c6218184f598826038b0cb35 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision c393d2b92ec8c8bdc5916ac5f53e0adcaeee0ce3) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision f9377e7d8d81e048c6218184f598826038b0cb35) @@ -66,6 +66,7 @@ import org.lamsfoundation.lams.qb.model.QbCollection; import org.lamsfoundation.lams.qb.model.QbOption; import org.lamsfoundation.lams.qb.model.QbQuestion; +import org.lamsfoundation.lams.qb.model.QbToolQuestion; import org.lamsfoundation.lams.qb.service.IQbService; import org.lamsfoundation.lams.rest.RestTags; import org.lamsfoundation.lams.rest.ToolRestManager; @@ -2205,7 +2206,8 @@ } @Override - public void replaceQuestions(long toolContentId, String newActivityName, List newQuestions) { + public List replaceQuestions(long toolContentId, String newActivityName, + List newQuestions) { McContent mcContent = getMcContent(toolContentId); if (newActivityName != null) { mcContent.setTitle(newActivityName); @@ -2221,11 +2223,14 @@ // populate MC with new questions int displayOrder = 1; + List result = new ArrayList<>(newQuestions.size()); for (QbQuestion qbQuestion : newQuestions) { McQueContent mcQuestion = new McQueContent(qbQuestion, displayOrder++, mcContent); mcQueContentDAO.insert(mcQuestion); mcContent.getMcQueContents().add(mcQuestion); + result.add(mcQuestion); } + return result; } @Override Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== diff -u -rc393d2b92ec8c8bdc5916ac5f53e0adcaeee0ce3 -rf9377e7d8d81e048c6218184f598826038b0cb35 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision c393d2b92ec8c8bdc5916ac5f53e0adcaeee0ce3) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision f9377e7d8d81e048c6218184f598826038b0cb35) @@ -2180,7 +2180,8 @@ } @Override - public void replaceQuestions(long toolContentId, String newActivityName, List newQuestions) { + public List replaceQuestions(long toolContentId, String newActivityName, + List newQuestions) { Scratchie scratchie = getScratchieByContentId(toolContentId); if (newActivityName != null) { scratchie.setTitle(newActivityName); @@ -2196,6 +2197,7 @@ // populate Scratchie with new questions int displayOrder = 1; + List result = new ArrayList<>(newQuestions.size()); for (QbQuestion qbQuestion : newQuestions) { ScratchieItem scratchieItem = new ScratchieItem(); scratchieItem.setDisplayOrder(displayOrder++); @@ -2205,6 +2207,7 @@ scratchie.getScratchieItems().add(scratchieItem); } scratchieDao.update(scratchie); + return result; } // *****************************************************************************