Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml,v diff -u -r1.15 -r1.16 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 9 Mar 2006 13:23:45 -0000 1.15 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 18 May 2006 01:56:59 -0000 1.16 @@ -79,6 +79,7 @@ + Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java,v diff -u -r1.36 -r1.37 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 7 Apr 2006 00:44:22 -0000 1.36 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 18 May 2006 01:56:59 -0000 1.37 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java,v diff -u -r1.46 -r1.47 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 7 Apr 2006 00:44:22 -0000 1.46 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 18 May 2006 01:56:59 -0000 1.47 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/Attic/QAConstants.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QAConstants.java 18 May 2006 01:56:59 -0000 1.1 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java,v diff -u -r1.33 -r1.34 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java 7 Apr 2006 00:44:22 -0000 1.33 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java 18 May 2006 01:56:59 -0000 1.34 @@ -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.");