Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== diff -u -rd9b3433f41c2b25011809144d241d33237d9b9d8 -r2e9ee1c2451a05981f05e9edf89bb3356cf2b147 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision d9b3433f41c2b25011809144d241d33237d9b9d8) +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 2e9ee1c2451a05981f05e9edf89bb3356cf2b147) @@ -536,7 +536,28 @@ - + + + + + + + + + + true + + + + + + + + PROPAGATION_REQUIRED + + + + @@ -680,6 +701,10 @@ + + + + + Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java =================================================================== diff -u -rc87bb47eb670934f10192c08922f83367bc36230 -r2e9ee1c2451a05981f05e9edf89bb3356cf2b147 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision c87bb47eb670934f10192c08922f83367bc36230) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision 2e9ee1c2451a05981f05e9edf89bb3356cf2b147) @@ -62,6 +62,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.qb.model.QbOption; import org.lamsfoundation.lams.qb.model.QbQuestion; +import org.lamsfoundation.lams.qb.service.IQbService; import org.lamsfoundation.lams.rest.RestTags; import org.lamsfoundation.lams.rest.ToolRestManager; import org.lamsfoundation.lams.tool.Tool; @@ -138,6 +139,7 @@ private IToolContentHandler mcToolContentHandler = null; private IExportToolContentService exportContentService; private ICoreNotebookService coreNotebookService; + private IQbService qbService; private MessageService messageService; @@ -288,7 +290,7 @@ // if it does not exist, create a new one qbQuestion = new QbQuestion(); qbQuestion.setType(QbQuestion.TYPE_MULTIPLE_CHOICE_SINGLE_ANSWER); - qbQuestion.setQuestionId(mcQueContentDAO.getMaxQbQuestionId()); + qbQuestion.setQuestionId(qbService.getMaxQuestionId()); } // make a clone to check if data changed QbQuestion qbQuestionClone = qbQuestion.clone(); @@ -327,7 +329,7 @@ // if vital data changed, the already modified clone becomes the new question qbQuestion = qbQuestionClone; // create a new question version instead of modifying existing one - int newVersion = mcQueContentDAO.getMaxQbQuestionVersion(qbQuestion.getQuestionId()); + int newVersion = qbService.getMaxQuestionVersion(qbQuestion.getQuestionId()); qbQuestion.setVersion(newVersion); } else { // if no modification was made, prevent clone from being persisted @@ -1880,6 +1882,10 @@ this.messageService = messageService; } + public void setQbService(IQbService qbService) { + this.qbService = qbService; + } + @Override public Class[] getSupportedToolOutputDefinitionClasses(int definitionType) { return mcOutputFactory.getSupportedDefinitionClasses(definitionType);