Index: lams_common/src/java/org/lamsfoundation/lams/qb/dao/IQbDAO.java =================================================================== diff -u -r9012873415698350686bf05ac1ddb1ee5b8fe154 -rf3adefcfcefee34698e4827cd96952a71225623e --- lams_common/src/java/org/lamsfoundation/lams/qb/dao/IQbDAO.java (.../IQbDAO.java) (revision 9012873415698350686bf05ac1ddb1ee5b8fe154) +++ lams_common/src/java/org/lamsfoundation/lams/qb/dao/IQbDAO.java (.../IQbDAO.java) (revision f3adefcfcefee34698e4827cd96952a71225623e) @@ -76,4 +76,6 @@ boolean isQuestionInPublicCollection(int qbQuestionId); int mergeQuestions(long sourceQbQUestionUid, long targetQbQuestionUid); + + void removeAnswersByToolContentId(long toolContentId); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java =================================================================== diff -u -r9012873415698350686bf05ac1ddb1ee5b8fe154 -rf3adefcfcefee34698e4827cd96952a71225623e --- lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java (.../QbDAO.java) (revision 9012873415698350686bf05ac1ddb1ee5b8fe154) +++ lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java (.../QbDAO.java) (revision f3adefcfcefee34698e4827cd96952a71225623e) @@ -117,6 +117,9 @@ + "JOIN tl_laasse10_option_answer AS aa ON aa.question_option_uid = os.uid " + "SET aa.question_option_uid = ot.uid"; + private static final String REMOVE_ANSWERS_BY_TOOL_CONTENT_ID = "DELETE a FROM lams_qb_tool_answer AS a JOIN lams_qb_tool_question AS tq " + + "USING (tool_question_uid) WHERE tq.tool_content_id = :toolContentId"; + @Override public QbQuestion getQuestionByUid(Long qbQuestionUid) { return this.find(QbQuestion.class, qbQuestionUid); @@ -443,6 +446,12 @@ return result; } + @Override + public void removeAnswersByToolContentId(long toolContentId) { + getSession().createNativeQuery(REMOVE_ANSWERS_BY_TOOL_CONTENT_ID).setParameter("toolContentId", toolContentId) + .executeUpdate(); + } + private Query prepareCollectionQuestionsQuery(long collectionUid, String orderBy, String orderDirection, String search, boolean isCount) { StringBuilder queryBuilder = new StringBuilder(FIND_COLLECTION_QUESTIONS); Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java =================================================================== diff -u -r3f8a54919303711f3b52cdf48b248f102138d9be -rf3adefcfcefee34698e4827cd96952a71225623e --- lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java (.../IQbService.java) (revision 3f8a54919303711f3b52cdf48b248f102138d9be) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java (.../IQbService.java) (revision f3adefcfcefee34698e4827cd96952a71225623e) @@ -125,6 +125,8 @@ boolean removeQuestionPossibleByQuestionId(int qbQuestionId); + void removeAnswersByToolContentId(long toolContentId); + QbCollection getCollection(long collectionUid); int getCountQuestionActivitiesByUid(long qbQuestionUid); Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java =================================================================== diff -u -r3f8a54919303711f3b52cdf48b248f102138d9be -rf3adefcfcefee34698e4827cd96952a71225623e --- lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision 3f8a54919303711f3b52cdf48b248f102138d9be) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision f3adefcfcefee34698e4827cd96952a71225623e) @@ -20,7 +20,6 @@ import javax.servlet.http.HttpSession; -import org.apache.log4j.Logger; import org.lamsfoundation.lams.gradebook.GradebookUserLesson; import org.lamsfoundation.lams.gradebook.service.IGradebookService; import org.lamsfoundation.lams.learningdesign.Activity; @@ -55,8 +54,6 @@ import com.fasterxml.jackson.databind.node.ObjectNode; public class QbService implements IQbService { - private static Logger log = Logger.getLogger(QbService.class); - private IQbDAO qbDAO; private IGradebookService gradebookService; @@ -427,6 +424,11 @@ } @Override + public void removeAnswersByToolContentId(long toolContentId) { + qbDAO.removeAnswersByToolContentId(toolContentId); + } + + @Override public Organisation shareCollection(long collectionUid, int organisationId) { QbCollection collection = qbDAO.find(QbCollection.class, collectionUid); if (collection.getUserId() == null || collection.isPersonal()) { @@ -682,6 +684,7 @@ return answersChanged; } + @Override public boolean isQuestionDefaultInTool(long qbQuestionUid, String toolSignature) { long defaultContentId = toolService.getToolDefaultContentIdBySignature(toolSignature); Collection qbQuestions = qbDAO.getQuestionsByToolContentId(defaultContentId); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java =================================================================== diff -u -r90aaa6a33006ccf9104ff54239cf13b9ef587728 -rf3adefcfcefee34698e4827cd96952a71225623e --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision 90aaa6a33006ccf9104ff54239cf13b9ef587728) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision f3adefcfcefee34698e4827cd96952a71225623e) @@ -472,6 +472,8 @@ coreNotebookService.deleteEntry(entry); } } + + qbService.removeAnswersByToolContentId(toolContentId); qaDAO.removeQa(toolContentId); }