Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml =================================================================== diff -u -ra4b21fc560d5ed7df551c48f3afeab20e136b499 -rab1fbeffaf558570ec5d2b3e379e26cecbd9a618 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision a4b21fc560d5ed7df551c48f3afeab20e136b499) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision ab1fbeffaf558570ec5d2b3e379e26cecbd9a618) @@ -79,6 +79,7 @@ + Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== diff -u -r65166da92a6f0f4ff73acb92b95672e237b25742 -rab1fbeffaf558570ec5d2b3e379e26cecbd9a618 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 65166da92a6f0f4ff73acb92b95672e237b25742) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision ab1fbeffaf558570ec5d2b3e379e26cecbd9a618) @@ -37,6 +37,7 @@ import org.lamsfoundation.lams.tool.qa.QaUploadedFile; import org.lamsfoundation.lams.tool.qa.QaUsrResp; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.util.audit.IAuditService; @@ -242,5 +243,9 @@ public void cleanUploadedFilesMetaData() throws QaApplicationException; public List retrieveQaQueContentsByToolContentId(long toolContentId); + + /** Get the LAMS audit service. Needed as the web layer controls the staff updating of an answer, + * so the log entry must be made by the web layer. */ + public IAuditService getAuditService(); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== diff -u -r65166da92a6f0f4ff73acb92b95672e237b25742 -rab1fbeffaf558570ec5d2b3e379e26cecbd9a618 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 65166da92a6f0f4ff73acb92b95672e237b25742) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision ab1fbeffaf558570ec5d2b3e379e26cecbd9a618) @@ -65,9 +65,11 @@ import org.lamsfoundation.lams.tool.qa.dao.IQaSessionDAO; import org.lamsfoundation.lams.tool.qa.dao.IQaUploadedFileDAO; import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO; +import org.lamsfoundation.lams.tool.qa.util.QAConstants; import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.audit.IAuditService; import org.springframework.dao.DataAccessException; @@ -114,6 +116,7 @@ private IUserManagementService userManagementService; private ILamsToolService toolService; private ILearnerService learnerService; + private IAuditService auditService; public void configureContentRepository() throws QaApplicationException { logger.debug("retrieved repService: " + repositoryService); @@ -642,6 +645,9 @@ { try { + auditService.logChange(QAConstants.TOOL_SIGNATURE, + resp.getQaQueUser().getQueUsrId(),resp.getQaQueUser().getUsername(), + resp.getAnswer(), null); qaUsrRespDAO.removeUserResponse(resp); } catch(DataAccessException e) @@ -1839,4 +1845,16 @@ public void setQaToolContentHandler(IToolContentHandler qaToolContentHandler) { this.qaToolContentHandler = qaToolContentHandler; } + + + public IAuditService getAuditService() { + return auditService; + } + + + public void setAuditService(IAuditService auditService) { + this.auditService = auditService; + } + + } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QAConstants.java =================================================================== diff -u --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QAConstants.java (revision 0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QAConstants.java (revision ab1fbeffaf558570ec5d2b3e379e26cecbd9a618) @@ -0,0 +1,31 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id$ */ + +package org.lamsfoundation.lams.tool.qa.util; + +public class QAConstants { + + public static final String TOOL_SIGNATURE = "laqa11"; + +} Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java =================================================================== diff -u -r65166da92a6f0f4ff73acb92b95672e237b25742 -rab1fbeffaf558570ec5d2b3e379e26cecbd9a618 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision 65166da92a6f0f4ff73acb92b95672e237b25742) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java (.../QaMonitoringAction.java) (revision ab1fbeffaf558570ec5d2b3e379e26cecbd9a618) @@ -105,6 +105,7 @@ import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; +import org.lamsfoundation.lams.tool.qa.util.QAConstants; import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -581,6 +582,13 @@ logger.debug("updatedResponse: " + updatedResponse); QaUsrResp qaUsrResp= qaService.retrieveQaUsrResp(new Long(responseId).longValue()); logger.debug("qaUsrResp: " + qaUsrResp); + + // write out the audit log entry. If you move this after the update of the response, + // then make sure you update the audit call to use a copy of the original answer + qaService.getAuditService().logChange(QAConstants.TOOL_SIGNATURE, + qaUsrResp.getQaQueUser().getQueUsrId(),qaUsrResp.getQaQueUser().getUsername(), + qaUsrResp.getAnswer(), updatedResponse); + qaUsrResp.setAnswer(updatedResponse); qaService.updateQaUsrResp(qaUsrResp); logger.debug("response updated.");