Index: lams_tool_assessment/conf/xdoclet/struts-actions.xml
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -38,41 +38,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
@@ -76,9 +70,6 @@
-
-
-
@@ -88,9 +79,6 @@
-
-
-
@@ -152,8 +140,6 @@
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
- PROPAGATION_REQUIRED,-java.lang.Exception
- PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
Fisheye: Tag ef851974c4dc3f5468b188fab9997a37b73c0e50 refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentAttachmentDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ef851974c4dc3f5468b188fab9997a37b73c0e50 refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentAttachmentDAOHibernate.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20140102.sql
===================================================================
diff -u
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20140102.sql (revision 0)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20140102.sql (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -0,0 +1,19 @@
+-- Turn off autocommit, so nothing is committed if there is an error
+SET AUTOCOMMIT = 0;
+SET FOREIGN_KEY_CHECKS=0;
+----------------------Put all sql statements below here-------------------------
+
+-- LDEV-3147 Simplify tools: get rid of instructions tab, define in monitor and offline activity options
+ALTER TABLE tl_laasse10_assessment DROP COLUMN online_instructions;
+ALTER TABLE tl_laasse10_assessment DROP COLUMN offline_instructions;
+ALTER TABLE tl_laasse10_assessment DROP COLUMN run_offline;
+DROP TABLE IF EXISTS tl_laasse10_attachment;
+
+UPDATE lams_tool SET tool_version='20140102' WHERE tool_signature='laasse10';
+
+----------------------Put all sql statements above here-------------------------
+
+-- If there were no errors, commit and restore autocommit to on
+COMMIT;
+SET AUTOCOMMIT = 1;
+SET FOREIGN_KEY_CHECKS=1;
\ No newline at end of file
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java (.../Assessment.java) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/Assessment.java (.../Assessment.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -23,19 +23,14 @@
/* $Id$ */
package org.lamsfoundation.lams.tool.assessment.model;
-import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
-import java.util.List;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.log4j.Logger;
-import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
-import org.lamsfoundation.lams.tool.assessment.util.AssessmentToolContentHandler;
import org.lamsfoundation.lams.tool.assessment.util.SequencableComparator;
/**
@@ -70,8 +65,6 @@
private int attemptsAllowed;
private int passingMark;
-
- private boolean runOffline;
private boolean shuffled;
@@ -101,13 +94,6 @@
private String reflectInstructions;
- // instructions
- private String onlineInstructions;
-
- private String offlineInstructions;
-
- private Set attachments;
-
// general infomation
private Date created;
@@ -125,19 +111,11 @@
private Set overallFeedbacks;
- // *************** NON Persist Fields ********************
- private IToolContentHandler toolContentHandler;
-
- private List onlineFileList;
-
- private List offlineFileList;
-
/**
* Default contruction method.
*
*/
public Assessment() {
- attachments = new TreeSet();
questions = new TreeSet(new SequencableComparator());
questionReferences = new TreeSet(new SequencableComparator());
overallFeedbacks = new TreeSet(new SequencableComparator());
@@ -146,10 +124,8 @@
// **********************************************************
// Function method for Assessment
// **********************************************************
- public static Assessment newInstance(Assessment defaultContent, Long contentId,
- AssessmentToolContentHandler assessmentToolContentHandler) {
+ public static Assessment newInstance(Assessment defaultContent, Long contentId) {
Assessment toContent = new Assessment();
- defaultContent.toolContentHandler = assessmentToolContentHandler;
toContent = (Assessment) defaultContent.clone();
toContent.setContentId(contentId);
@@ -225,19 +201,6 @@
set.add(newOverallFeedback);
}
assessment.overallFeedbacks = set;
- }
- // clone attachment
- if (attachments != null) {
- Iterator iter = attachments.iterator();
- Set set = new TreeSet();
- while (iter.hasNext()) {
- AssessmentAttachment file = (AssessmentAttachment) iter.next();
- AssessmentAttachment newFile = (AssessmentAttachment) file.clone();
- // just clone old file without duplicate it in repository
-
- set.add(newFile);
- }
- assessment.attachments = set;
}
// clone ReourceUser as well
if (createdBy != null) {
@@ -262,15 +225,13 @@
final Assessment genericEntity = (Assessment) o;
return new EqualsBuilder().append(uid, genericEntity.uid).append(title, genericEntity.title).append(
- instructions, genericEntity.instructions).append(onlineInstructions, genericEntity.onlineInstructions)
- .append(offlineInstructions, genericEntity.offlineInstructions).append(created, genericEntity.created)
+ instructions, genericEntity.instructions).append(created, genericEntity.created)
.append(updated, genericEntity.updated).append(createdBy, genericEntity.createdBy).isEquals();
}
@Override
public int hashCode() {
- return new HashCodeBuilder().append(uid).append(title).append(instructions).append(onlineInstructions).append(
- offlineInstructions).append(created).append(updated).append(createdBy).toHashCode();
+ return new HashCodeBuilder().append(uid).append(title).append(instructions).append(updated).append(createdBy).toHashCode();
}
/**
@@ -285,21 +246,6 @@
this.setUpdated(new Date(now));
}
- public void toDTO() {
- onlineFileList = new ArrayList();
- offlineFileList = new ArrayList();
- Set fileSet = this.getAttachments();
- if (fileSet != null) {
- for (AssessmentAttachment file : fileSet) {
- if (StringUtils.equalsIgnoreCase(file.getFileType(), IToolContentHandler.TYPE_OFFLINE)) {
- offlineFileList.add(file);
- } else {
- onlineFileList.add(file);
- }
- }
- }
- }
-
// **********************************************************
// get/set methods
// **********************************************************
@@ -406,26 +352,6 @@
public void setTitle(String title) {
this.title = title;
}
-
- /**
- * @return Returns the runOffline.
- *
- * @hibernate.property column="run_offline"
- *
- */
- public boolean getRunOffline() {
- return runOffline;
- }
-
- /**
- * @param runOffline
- * The forceOffLine to set.
- *
- *
- */
- public void setRunOffline(boolean forceOffline) {
- runOffline = forceOffline;
- }
/**
* If the tool utilizes leaders from Select Leader tool.
@@ -473,52 +399,7 @@
}
/**
- * @return Returns the onlineInstructions set by the teacher.
*
- * @hibernate.property column="online_instructions" type="text"
- */
- public String getOnlineInstructions() {
- return onlineInstructions;
- }
-
- public void setOnlineInstructions(String onlineInstructions) {
- this.onlineInstructions = onlineInstructions;
- }
-
- /**
- * @return Returns the onlineInstructions set by the teacher.
- *
- * @hibernate.property column="offline_instructions" type="text"
- */
- public String getOfflineInstructions() {
- return offlineInstructions;
- }
-
- public void setOfflineInstructions(String offlineInstructions) {
- this.offlineInstructions = offlineInstructions;
- }
-
- /**
- *
- * @hibernate.set lazy="true" cascade="all" inverse="false" order-by="create_date desc"
- * @hibernate.collection-key column="assessment_uid"
- * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.assessment.model.AssessmentAttachment"
- *
- * @return a set of Attachments to this Message.
- */
- public Set getAttachments() {
- return attachments;
- }
-
- /*
- * @param attachments The attachments to set.
- */
- public void setAttachments(Set attachments) {
- this.attachments = attachments;
- }
-
- /**
- *
* @hibernate.set lazy="true" inverse="false" cascade="all" order-by="sequence_id asc"
* @hibernate.collection-key column="assessment_uid"
* @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestion"
@@ -755,26 +636,6 @@
this.numbered = numbered;
}
- public List getOfflineFileList() {
- return offlineFileList;
- }
-
- public void setOfflineFileList(List offlineFileList) {
- this.offlineFileList = offlineFileList;
- }
-
- public List getOnlineFileList() {
- return onlineFileList;
- }
-
- public void setOnlineFileList(List onlineFileList) {
- this.onlineFileList = onlineFileList;
- }
-
- public void setToolContentHandler(IToolContentHandler toolContentHandler) {
- this.toolContentHandler = toolContentHandler;
- }
-
/**
* @hibernate.property column="attempt_completion_notify"
* @return
Fisheye: Tag ef851974c4dc3f5468b188fab9997a37b73c0e50 refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAttachment.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentImportContentVersionFilter.java
===================================================================
diff -u
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentImportContentVersionFilter.java (revision 0)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentImportContentVersionFilter.java (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -0,0 +1,43 @@
+/****************************************************************
+ * 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 version 2.0
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.tool.assessment.service;
+
+import org.lamsfoundation.lams.learningdesign.service.ToolContentVersionFilter;
+import org.lamsfoundation.lams.tool.assessment.model.Assessment;
+
+/**
+ * Import filter class for different version of Assessment content.
+ */
+public class AssessmentImportContentVersionFilter extends ToolContentVersionFilter {
+
+ /**
+ * Import 20140101 version content to 20140102 version tool server.
+ */
+ public void up20140101To20140102() {
+ this.removeField(Assessment.class, "runOffline");
+ this.removeField(Assessment.class, "onlineInstructions");
+ this.removeField(Assessment.class, "offlineInstructions");
+ this.removeField(Assessment.class, "attachments");
+ }
+}
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -23,8 +23,6 @@
/* $$Id$$ */
package org.lamsfoundation.lams.tool.assessment.service;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
@@ -42,19 +40,7 @@
import java.util.regex.Pattern;
import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
-import org.apache.struts.upload.FormFile;
-import org.lamsfoundation.lams.contentrepository.AccessDeniedException;
-import org.lamsfoundation.lams.contentrepository.ICredentials;
-import org.lamsfoundation.lams.contentrepository.ITicket;
-import org.lamsfoundation.lams.contentrepository.InvalidParameterException;
-import org.lamsfoundation.lams.contentrepository.LoginException;
-import org.lamsfoundation.lams.contentrepository.NodeKey;
-import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException;
-import org.lamsfoundation.lams.contentrepository.WorkspaceNotFoundException;
-import org.lamsfoundation.lams.contentrepository.service.IRepositoryService;
-import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials;
import org.lamsfoundation.lams.events.IEventNotificationService;
import org.lamsfoundation.lams.gradebook.service.IGradebookService;
import org.lamsfoundation.lams.learning.service.ILearnerService;
@@ -77,7 +63,6 @@
import org.lamsfoundation.lams.tool.ToolSessionExportOutputData;
import org.lamsfoundation.lams.tool.ToolSessionManager;
import org.lamsfoundation.lams.tool.assessment.AssessmentConstants;
-import org.lamsfoundation.lams.tool.assessment.dao.AssessmentAttachmentDAO;
import org.lamsfoundation.lams.tool.assessment.dao.AssessmentDAO;
import org.lamsfoundation.lams.tool.assessment.dao.AssessmentQuestionDAO;
import org.lamsfoundation.lams.tool.assessment.dao.AssessmentQuestionResultDAO;
@@ -90,7 +75,6 @@
import org.lamsfoundation.lams.tool.assessment.dto.UserSummary;
import org.lamsfoundation.lams.tool.assessment.dto.UserSummaryItem;
import org.lamsfoundation.lams.tool.assessment.model.Assessment;
-import org.lamsfoundation.lams.tool.assessment.model.AssessmentAttachment;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentOptionAnswer;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestion;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestionOption;
@@ -129,8 +113,6 @@
private AssessmentQuestionDAO assessmentQuestionDao;
- private AssessmentAttachmentDAO assessmentAttachmentDao;
-
private AssessmentUserDAO assessmentUserDao;
private AssessmentSessionDAO assessmentSessionDao;
@@ -147,7 +129,6 @@
private AssessmentOutputFactory assessmentOutputFactory;
// system services
- private IRepositoryService repositoryService;
private ILamsToolService toolService;
@@ -300,32 +281,6 @@
return assessmentUserDao.getBySessionID(toolSessionID);
}
- /**
- * This method verifies the credentials of the Assessment Tool and gives it the Ticket
to login and
- * access the Content Repository.
- *
- * A valid ticket is needed in order to access the content from the repository. This method would be called evertime
- * the tool needs to upload/download files from the content repository.
- *
- * @return ITicket The ticket for repostory access
- * @throws AssessmentApplicationException
- */
- private ITicket getRepositoryLoginTicket() throws AssessmentApplicationException {
- ICredentials credentials = new SimpleCredentials(assessmentToolContentHandler.getRepositoryUser(),
- assessmentToolContentHandler.getRepositoryId());
- try {
- ITicket ticket = repositoryService.login(credentials, assessmentToolContentHandler
- .getRepositoryWorkspaceName());
- return ticket;
- } catch (AccessDeniedException ae) {
- throw new AssessmentApplicationException("Access Denied to repository." + ae.getMessage());
- } catch (WorkspaceNotFoundException we) {
- throw new AssessmentApplicationException("Workspace not found." + we.getMessage());
- } catch (LoginException e) {
- throw new AssessmentApplicationException("Login failed." + e.getMessage());
- }
- }
-
@Override
public Assessment getAssessmentByContentId(Long contentId) {
Assessment rs = assessmentDao.getByContentId(contentId);
@@ -346,7 +301,7 @@
Assessment defaultContent = getDefaultAssessment();
// save default content by given ID.
Assessment content = new Assessment();
- content = Assessment.newInstance(defaultContent, contentId, assessmentToolContentHandler);
+ content = Assessment.newInstance(defaultContent, contentId);
return content;
}
@@ -356,27 +311,6 @@
}
@Override
- public AssessmentAttachment uploadInstructionFile(FormFile uploadFile, String fileType)
- throws UploadAssessmentFileException {
- if (uploadFile == null || StringUtils.isEmpty(uploadFile.getFileName())) {
- throw new UploadAssessmentFileException(messageService.getMessage("error.msg.upload.file.not.found",
- new Object[] { uploadFile }));
- }
- // upload file to repository
- NodeKey nodeKey = processFile(uploadFile, fileType);
-
- // create new attachement
- AssessmentAttachment file = new AssessmentAttachment();
- file.setFileType(fileType);
- file.setFileUuid(nodeKey.getUuid());
- file.setFileVersionId(nodeKey.getVersion());
- file.setFileName(uploadFile.getFileName());
- file.setCreated(new Date());
-
- return file;
- }
-
- @Override
public void createUser(AssessmentUser assessmentUser) {
assessmentUserDao.saveObject(assessmentUser);
}
@@ -392,27 +326,11 @@
}
@Override
- public void deleteFromRepository(Long fileUuid, Long fileVersionId) throws AssessmentApplicationException {
- ITicket ticket = getRepositoryLoginTicket();
- try {
- repositoryService.deleteVersion(ticket, fileUuid, fileVersionId);
- } catch (Exception e) {
- throw new AssessmentApplicationException("Exception occured while deleting files from" + " the repository "
- + e.getMessage());
- }
- }
-
- @Override
public void saveOrUpdateAssessment(Assessment assessment) {
assessmentDao.saveObject(assessment);
}
@Override
- public void deleteAssessmentAttachment(Long attachmentUid) {
- assessmentAttachmentDao.removeObject(AssessmentAttachment.class, attachmentUid);
- }
-
- @Override
public void deleteAssessmentQuestion(Long uid) {
assessmentQuestionDao.removeObject(AssessmentQuestion.class, uid);
}
@@ -1176,35 +1094,6 @@
return contentId;
}
- /**
- * Process an uploaded file.
- *
- * @throws AssessmentApplicationException
- * @throws FileNotFoundException
- * @throws IOException
- * @throws RepositoryCheckedException
- * @throws InvalidParameterException
- */
- private NodeKey processFile(FormFile file, String fileType) throws UploadAssessmentFileException {
- NodeKey node = null;
- if (file != null && !StringUtils.isEmpty(file.getFileName())) {
- String fileName = file.getFileName();
- try {
- node = assessmentToolContentHandler.uploadFile(file.getInputStream(), fileName, file.getContentType(),
- fileType);
- } catch (InvalidParameterException e) {
- throw new UploadAssessmentFileException(messageService.getMessage("error.msg.invaid.param.upload"));
- } catch (FileNotFoundException e) {
- throw new UploadAssessmentFileException(messageService.getMessage("error.msg.file.not.found"));
- } catch (RepositoryCheckedException e) {
- throw new UploadAssessmentFileException(messageService.getMessage("error.msg.repository"));
- } catch (IOException e) {
- throw new UploadAssessmentFileException(messageService.getMessage("error.msg.io.exception"));
- }
- }
- return node;
- }
-
// *****************************************************************************
// set methods for Spring Bean
// *****************************************************************************
@@ -1221,14 +1110,6 @@
this.messageService = messageService;
}
- public void setRepositoryService(IRepositoryService repositoryService) {
- this.repositoryService = repositoryService;
- }
-
- public void setAssessmentAttachmentDao(AssessmentAttachmentDAO assessmentAttachmentDao) {
- this.assessmentAttachmentDao = assessmentAttachmentDao;
- }
-
public void setAssessmentDao(AssessmentDAO assessmentDao) {
this.assessmentDao = assessmentDao;
}
@@ -1278,14 +1159,8 @@
throw new DataMissingException("Unable to find default content for the assessment tool");
}
- // set AssessmentToolContentHandler as null to avoid copy file node in repository again.
- toolContentObj = Assessment.newInstance(toolContentObj, toolContentId, null);
- toolContentObj.setToolContentHandler(null);
- toolContentObj.setOfflineFileList(null);
- toolContentObj.setOnlineFileList(null);
+ toolContentObj = Assessment.newInstance(toolContentObj, toolContentId);
try {
- exportContentService.registerFileClassForExport(AssessmentAttachment.class.getName(), "fileUuid",
- "fileVersionId");
exportContentService.exportToolContent(toolContentId, toolContentObj, assessmentToolContentHandler,
rootPath);
} catch (ExportToolContentException e) {
@@ -1297,9 +1172,9 @@
String toVersion) throws ToolException {
try {
- exportContentService.registerFileClassForImport(AssessmentAttachment.class.getName(), "fileUuid",
- "fileVersionId", "fileName", "fileType", null, null);
-
+ // register version filter class
+ exportContentService.registerImportVersionFilterClass(AssessmentImportContentVersionFilter.class);
+
Object toolPOJO = exportContentService.importToolContent(toolContentPath, assessmentToolContentHandler,
fromVersion, toVersion);
if (!(toolPOJO instanceof Assessment)) {
@@ -1368,26 +1243,10 @@
}
}
- Assessment toContent = Assessment.newInstance(assessment, toContentId, assessmentToolContentHandler);
+ Assessment toContent = Assessment.newInstance(assessment, toContentId);
assessmentDao.saveObject(toContent);
}
- public void setAsDefineLater(Long toolContentId, boolean value) throws DataMissingException, ToolException {
- Assessment assessment = assessmentDao.getByContentId(toolContentId);
- if (assessment == null) {
- throw new ToolException("No found tool content by given content ID:" + toolContentId);
- }
- assessment.setDefineLater(value);
- }
-
- public void setAsRunOffline(Long toolContentId, boolean value) throws DataMissingException, ToolException {
- Assessment assessment = assessmentDao.getByContentId(toolContentId);
- if (assessment == null) {
- throw new ToolException("No found tool content by given content ID:" + toolContentId);
- }
- assessment.setRunOffline(value);
- }
-
public void removeToolContent(Long toolContentId, boolean removeSessionData) throws SessionDataExistsException,
ToolException {
Assessment assessment = assessmentDao.getByContentId(toolContentId);
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java (.../IAssessmentService.java) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java (.../IAssessmentService.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -30,17 +30,14 @@
import java.util.Map;
import java.util.Set;
-import org.apache.struts.upload.FormFile;
import org.lamsfoundation.lams.events.IEventNotificationService;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
import org.lamsfoundation.lams.tool.assessment.dto.QuestionSummary;
import org.lamsfoundation.lams.tool.assessment.dto.ReflectDTO;
import org.lamsfoundation.lams.tool.assessment.dto.Summary;
import org.lamsfoundation.lams.tool.assessment.dto.UserSummary;
import org.lamsfoundation.lams.tool.assessment.model.Assessment;
-import org.lamsfoundation.lams.tool.assessment.model.AssessmentAttachment;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestion;
-import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestionResult;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentResult;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentSession;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentUser;
@@ -115,16 +112,6 @@
*/
List getAuthoredQuestions(Long assessmentUid);
- /**
- * Upload instruciton file into repository.
- *
- * @param file
- * @param type
- * @return
- * @throws UploadAssessmentFileException
- */
- AssessmentAttachment uploadInstructionFile(FormFile file, String type) throws UploadAssessmentFileException;
-
// ********** for user methods *************
/**
* Create a new user in database.
@@ -148,28 +135,14 @@
*/
AssessmentUser getUserByIDAndSession(Long long1, Long sessionId);
- // ********** Repository methods ***********************
/**
- * Delete file from repository.
- */
- void deleteFromRepository(Long fileUuid, Long fileVersionId) throws AssessmentApplicationException;
-
- /**
* Save or update assessment into database.
*
* @param Assessment
*/
void saveOrUpdateAssessment(Assessment Assessment);
/**
- * Delete reource attachment(i.e., offline/online instruction file) from database. This method does not delete the
- * file from repository.
- *
- * @param attachmentUid
- */
- void deleteAssessmentAttachment(Long attachmentUid);
-
- /**
* Delete resoruce question from database.
*
* @param uid
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/util/AssessmentBundler.java
===================================================================
diff -u -r35a0e719d061c08b52e705135bb2f2126079ed21 -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/util/AssessmentBundler.java (.../AssessmentBundler.java) (revision 35a0e719d061c08b52e705135bb2f2126079ed21)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/util/AssessmentBundler.java (.../AssessmentBundler.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -34,7 +34,6 @@
import javax.servlet.http.HttpServletRequest;
import org.lamsfoundation.lams.learning.export.web.action.Bundler;
-import org.lamsfoundation.lams.tool.assessment.AssessmentConstants;
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.ConfigurationKeys;
import org.lamsfoundation.lams.util.HttpUrlConnectionUtil;
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java
===================================================================
diff -u -r07081e89b7d08c6da562606e18cf8616b9540a1d -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 07081e89b7d08c6da562606e18cf8616b9540a1d)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -33,7 +33,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
@@ -58,18 +57,14 @@
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessages;
-import org.apache.struts.upload.FormFile;
import org.lamsfoundation.lams.authoring.web.AuthoringConstants;
-import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException;
import org.lamsfoundation.lams.questions.Answer;
import org.lamsfoundation.lams.questions.Question;
import org.lamsfoundation.lams.questions.QuestionParser;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.assessment.AssessmentConstants;
import org.lamsfoundation.lams.tool.assessment.model.Assessment;
-import org.lamsfoundation.lams.tool.assessment.model.AssessmentAttachment;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentOverallFeedback;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestion;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestionOption;
@@ -78,13 +73,11 @@
import org.lamsfoundation.lams.tool.assessment.model.QuestionReference;
import org.lamsfoundation.lams.tool.assessment.service.AssessmentApplicationException;
import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService;
-import org.lamsfoundation.lams.tool.assessment.service.UploadAssessmentFileException;
import org.lamsfoundation.lams.tool.assessment.util.SequencableComparator;
import org.lamsfoundation.lams.tool.assessment.web.form.AssessmentForm;
import org.lamsfoundation.lams.tool.assessment.web.form.AssessmentQuestionForm;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.FileUtil;
-import org.lamsfoundation.lams.util.FileValidatorUtil;
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -135,18 +128,6 @@
if (param.equals("updateContent")) {
return updateContent(mapping, form, request, response);
}
- if (param.equals("uploadOnlineFile")) {
- return uploadOnline(mapping, form, request, response);
- }
- if (param.equals("uploadOfflineFile")) {
- return uploadOffline(mapping, form, request, response);
- }
- if (param.equals("deleteOnlineFile")) {
- return deleteOnlineFile(mapping, form, request, response);
- }
- if (param.equals("deleteOfflineFile")) {
- return deleteOfflineFile(mapping, form, request, response);
- }
// ----------------------- Add assessment question functions ---------------------------
if (param.equals("newQuestionInit")) {
return newQuestionInit(mapping, form, request, response);
@@ -261,11 +242,6 @@
}
assessmentForm.setAssessment(assessment);
-
- // initialize instruction attachment list
- List attachmentList = getAttachmentList(sessionMap);
- attachmentList.clear();
- attachmentList.addAll(assessment.getAttachments());
} catch (Exception e) {
AuthoringAction.log.error(e);
throw new ServletException(e);
@@ -396,47 +372,12 @@
}
assessmentPO.setCreatedBy(assessmentUser);
-
- // **********************************Handle Authoring Instruction Attachement *********************
- // merge attachment info
- // so far, attPOSet will be empty if content is existed. because PropertyUtils.copyProperties() is executed
- Set attPOSet = assessmentPO.getAttachments();
- if (attPOSet == null) {
- attPOSet = new HashSet();
- }
- List attachmentList = getAttachmentList(sessionMap);
- List deleteAttachmentList = getDeletedAttachmentList(sessionMap);
-
- // current attachemnt in authoring instruction tab.
- attPOSet.addAll(attachmentList);
- attachmentList.clear();
-
- // deleted attachment. 2 possible types: one is persist another is non-persist before.
- Iterator iter = deleteAttachmentList.iterator();
- while (iter.hasNext()) {
- AssessmentAttachment delAtt = (AssessmentAttachment) iter.next();
- iter.remove();
- // it is an existed att, then delete it from current attachmentPO
- if (delAtt.getUid() != null) {
- Iterator attIter = attPOSet.iterator();
- while (attIter.hasNext()) {
- AssessmentAttachment att = (AssessmentAttachment) attIter.next();
- if (delAtt.getUid().equals(att.getUid())) {
- attIter.remove();
- break;
- }
- }
- service.deleteAssessmentAttachment(delAtt.getUid());
- }// end remove from persist value
- }
-
- // copy back
- assessmentPO.setAttachments(attPOSet);
+
// ************************* Handle assessment questions *******************
// Handle assessment questions
Set questions = new LinkedHashSet();
SortedSet topics = getQuestionList(sessionMap);
- iter = topics.iterator();
+ Iterator iter = topics.iterator();
while (iter.hasNext()) {
AssessmentQuestion question = (AssessmentQuestion) iter.next();
if (question != null) {
@@ -474,14 +415,6 @@
Set questionReferences = updateQuestionReferencesGrades(request, sessionMap, true);
assessmentPO.setQuestionReferences(questionReferences);
- // handle assessment question attachment file:
- List delQuestionAttList = getDeletedQuestionAttachmentList(sessionMap);
- iter = delQuestionAttList.iterator();
- while (iter.hasNext()) {
- AssessmentQuestion delAtt = (AssessmentQuestion) iter.next();
- iter.remove();
- }
-
// ************************* Handle assessment overall feedbacks *******************
if (mode.isAuthor()) {
TreeSet overallFeedbackList = getOverallFeedbacksFromForm(request, true);
@@ -492,9 +425,6 @@
// finally persist assessmentPO again
service.saveOrUpdateAssessment(assessmentPO);
- // initialize attachmentList again
- attachmentList = getAttachmentList(sessionMap);
- attachmentList.addAll(assessment.getAttachments());
assessmentForm.setAssessment(assessmentPO);
request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, Boolean.TRUE);
@@ -506,166 +436,6 @@
}
/**
- * Handle upload online instruction files request.
- *
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- * @throws UploadAssessmentFileException
- */
- public ActionForward uploadOnline(ActionMapping mapping, ActionForm form, HttpServletRequest request,
- HttpServletResponse response) throws UploadAssessmentFileException {
- return uploadFile(mapping, form, IToolContentHandler.TYPE_ONLINE, request);
- }
-
- /**
- * Handle upload offline instruction files request.
- *
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- * @throws UploadAssessmentFileException
- */
- public ActionForward uploadOffline(ActionMapping mapping, ActionForm form, HttpServletRequest request,
- HttpServletResponse response) throws UploadAssessmentFileException {
- return uploadFile(mapping, form, IToolContentHandler.TYPE_OFFLINE, request);
- }
-
- /**
- * Common method to upload online or offline instruction files request.
- *
- * @param mapping
- * @param form
- * @param type
- * @param request
- * @return
- * @throws UploadAssessmentFileException
- */
- private ActionForward uploadFile(ActionMapping mapping, ActionForm form, String type, HttpServletRequest request)
- throws UploadAssessmentFileException {
-
- AssessmentForm assessmentForm = (AssessmentForm) form;
- // get back sessionMAP
- SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(assessmentForm.getSessionMapID());
- updateQuestionReferencesGrades(request, sessionMap, true);
-
- FormFile file;
- if (StringUtils.equals(IToolContentHandler.TYPE_OFFLINE, type)) {
- file = assessmentForm.getOfflineFile();
- } else {
- file = assessmentForm.getOnlineFile();
- }
-
- if ((file == null) || StringUtils.isBlank(file.getFileName())) {
- return mapping.findForward(AssessmentConstants.SUCCESS);
- }
-
- // validate file size
- ActionMessages errors = new ActionMessages();
- FileValidatorUtil.validateFileSize(file, true, errors);
- if (!errors.isEmpty()) {
- this.saveErrors(request, errors);
- return mapping.findForward(AssessmentConstants.SUCCESS);
- }
-
- IAssessmentService service = getAssessmentService();
- // upload to repository
- AssessmentAttachment att = service.uploadInstructionFile(file, type);
- // handle session value
- List attachmentList = getAttachmentList(sessionMap);
- List deleteAttachmentList = getDeletedAttachmentList(sessionMap);
- // first check exist attachment and delete old one (if exist) to deletedAttachmentList
- Iterator iter = attachmentList.iterator();
- AssessmentAttachment existAtt;
- while (iter.hasNext()) {
- existAtt = (AssessmentAttachment) iter.next();
- if (StringUtils.equals(existAtt.getFileName(), att.getFileName())
- && StringUtils.equals(existAtt.getFileType(), att.getFileType())) {
- // if there is same name attachment, delete old one
- deleteAttachmentList.add(existAtt);
- iter.remove();
- break;
- }
- }
- // add to attachmentList
- attachmentList.add(att);
-
- return mapping.findForward(AssessmentConstants.SUCCESS);
-
- }
-
- /**
- * Delete offline instruction file from current Assessment authoring page.
- *
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
- public ActionForward deleteOfflineFile(ActionMapping mapping, ActionForm form, HttpServletRequest request,
- HttpServletResponse response) {
- return deleteFile(mapping, request, response, form, IToolContentHandler.TYPE_OFFLINE);
- }
-
- /**
- * Delete online instruction file from current Assessment authoring page.
- *
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
- public ActionForward deleteOnlineFile(ActionMapping mapping, ActionForm form, HttpServletRequest request,
- HttpServletResponse response) {
- return deleteFile(mapping, request, response, form, IToolContentHandler.TYPE_ONLINE);
- }
-
- /**
- * General method to delete file (online or offline)
- *
- * @param mapping
- * @param request
- * @param response
- * @param form
- * @param type
- * @return
- */
- private ActionForward deleteFile(ActionMapping mapping, HttpServletRequest request, HttpServletResponse response,
- ActionForm form, String type) {
- Long versionID = new Long(WebUtil.readLongParam(request, AssessmentConstants.PARAM_FILE_VERSION_ID));
- Long uuID = new Long(WebUtil.readLongParam(request, AssessmentConstants.PARAM_FILE_UUID));
-
- // get back sessionMAP
- String sessionMapID = WebUtil.readStrParam(request, AssessmentConstants.ATTR_SESSION_MAP_ID);
- SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID);
-
- // handle session value
- List attachmentList = getAttachmentList(sessionMap);
- List deleteAttachmentList = getDeletedAttachmentList(sessionMap);
- // first check exist attachment and delete old one (if exist) to deletedAttachmentList
- Iterator iter = attachmentList.iterator();
- AssessmentAttachment existAtt;
- while (iter.hasNext()) {
- existAtt = (AssessmentAttachment) iter.next();
- if (existAtt.getFileUuid().equals(uuID) && existAtt.getFileVersionId().equals(versionID)) {
- // if there is same name attachment, delete old one
- deleteAttachmentList.add(existAtt);
- iter.remove();
- }
- }
-
- request.setAttribute(AssessmentConstants.ATTR_FILE_TYPE_FLAG, type);
- request.setAttribute(AssessmentConstants.ATTR_SESSION_MAP_ID, sessionMapID);
- return mapping.findForward(AssessmentConstants.SUCCESS);
- }
-
- /**
* Display empty page for new assessment question.
*
* @param mapping
@@ -1601,22 +1371,6 @@
}
/**
- * @param request
- * @return
- */
- private List getAttachmentList(SessionMap sessionMap) {
- return getListFromSession(sessionMap, AssessmentConstants.ATT_ATTACHMENT_LIST);
- }
-
- /**
- * @param request
- * @return
- */
- private List getDeletedAttachmentList(SessionMap sessionMap) {
- return getListFromSession(sessionMap, AssessmentConstants.ATTR_DELETED_ATTACHMENT_LIST);
- }
-
- /**
* List save current assessment questions.
*
* @param request
@@ -1669,18 +1423,6 @@
}
/**
- * If a assessment question has attahment file, and the user edit this question and change the attachment to new
- * file, then the old file need be deleted when submitting the whole authoring page. Save the file uuid and version
- * id into Assessmentquestion object for temporarily use.
- *
- * @param request
- * @return
- */
- private List getDeletedQuestionAttachmentList(SessionMap sessionMap) {
- return getListFromSession(sessionMap, AssessmentConstants.ATTR_DELETED_QUESTION_ATTACHMENT_LIST);
- }
-
- /**
* Get java.util.List
from HttpSession by given name.
*
* @param request
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -265,7 +265,6 @@
sessionMap.put(AssessmentConstants.ATTR_IS_RESUBMIT_ALLOWED, isResubmitAllowed);
sessionMap.put(AssessmentConstants.ATTR_FINISHED_LOCK, finishedLock);
sessionMap.put(AssessmentConstants.ATTR_USER_FINISHED, assessmentUser.isSessionFinished());
- sessionMap.put(AssessmentConstants.PARAM_RUN_OFFLINE, assessment.getRunOffline());
sessionMap.put(AttributeNames.ATTR_LEARNER_CONTENT_FOLDER,
service.getLearnerContentFolder(toolSessionId, assessmentUser.getUserId()));
sessionMap.put(AttributeNames.PARAM_TOOL_SESSION_ID, toolSessionId);
@@ -290,11 +289,6 @@
assessment.setDefineLater(false);
service.saveOrUpdateAssessment(assessment);
- // run offline support
- if (assessment.getRunOffline()) {
- return mapping.findForward("runOffline");
- }
-
//check if there is submission deadline
Date submissionDeadline = assessment.getSubmissionDeadline();
if (submissionDeadline != null) {
@@ -307,9 +301,9 @@
Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline);
Date currentLearnerDate = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, new Date());
- //calculate whether submission deadline has passed, and if so forward to "runOffline"
+ //calculate whether submission deadline has passed, and if so forward to "submissionDeadline"
if (currentLearnerDate.after(tzSubmissionDeadline)) {
- return mapping.findForward("runOffline");
+ return mapping.findForward("submissionDeadline");
}
}
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java
===================================================================
diff -u -r3b16781d090e7c95b4d3eef99f82b8793430dd73 -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 3b16781d090e7c95b4d3eef99f82b8793430dd73)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -123,7 +123,6 @@
List summaryList = service.getSummaryList(contentId);
Assessment assessment = service.getAssessmentByContentId(contentId);
- assessment.toDTO();
//set SubmissionDeadline, if any
if (assessment.getSubmissionDeadline() != null) {
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentForm.java
===================================================================
diff -u -rd89dfbd4b29efec465fba9bb517dea1d173c3844 -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentForm.java (.../AssessmentForm.java) (revision d89dfbd4b29efec465fba9bb517dea1d173c3844)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentForm.java (.../AssessmentForm.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -81,7 +81,6 @@
assessment.setDefineLater(false);
assessment.setShuffled(false);
assessment.setNumbered(false);
- assessment.setRunOffline(false);
assessment.setDisplaySummary(false);
assessment.setReflectOnActivity(false);
}
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/servlet/ExportServlet.java
===================================================================
diff -u -rb33e717f9a734d318eefab07a17234f07c770c92 -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/servlet/ExportServlet.java (.../ExportServlet.java) (revision b33e717f9a734d318eefab07a17234f07c770c92)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/servlet/ExportServlet.java (.../ExportServlet.java) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -30,7 +30,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.TreeSet;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
@@ -40,7 +39,6 @@
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
-import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.assessment.AssessmentConstants;
import org.lamsfoundation.lams.tool.assessment.dto.QuestionSummary;
@@ -56,13 +54,10 @@
import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService;
import org.lamsfoundation.lams.tool.assessment.util.AssessmentBundler;
import org.lamsfoundation.lams.tool.assessment.util.AssessmentToolContentHandler;
-import org.lamsfoundation.lams.tool.assessment.util.ReflectDTOComparator;
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet;
import org.lamsfoundation.lams.web.util.AttributeNames;
import org.lamsfoundation.lams.web.util.SessionMap;
-import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.WebApplicationContextUtils;
/**
* Export portfolio servlet to export all assessment questions into offline HTML package.
@@ -122,27 +117,6 @@
return FILENAME;
}
- protected String doOfflineExport(HttpServletRequest request, HttpServletResponse response, String directoryName,
- Cookie[] cookies) {
- if (toolContentID == null && toolSessionID == null) {
- logger.error("Tool content Id or and session Id are null. Unable to activity title");
- } else {
-
- Assessment content = null;
- if (toolContentID != null) {
- content = service.getAssessmentByContentId(toolContentID);
- } else {
- AssessmentSession session = service.getAssessmentSessionBySessionId(toolSessionID);
- if (session != null)
- content = session.getAssessment();
- }
- if (content != null) {
- activityTitle = content.getTitle();
- }
- }
- return super.doOfflineExport(request, response, directoryName, cookies);
- }
-
public void learner(HttpServletRequest request, HttpServletResponse response, String directoryName,
Cookie[] cookies, HashMap sessionMap) throws AssessmentApplicationException {
Index: lams_tool_assessment/web/pages/authoring/authoring.jsp
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -1,10 +1,8 @@
-
+
<%@ include file="/common/taglibs.jsp"%>
<%@ page import="org.lamsfoundation.lams.tool.assessment.AssessmentConstants"%>
-
@@ -29,20 +27,8 @@
tag.value = tabId;
// end optional tab controller stuff
selectTab(tabId);
- }
-
- function doUploadOnline() {
- var myForm = $("#authoringForm");
- myForm.attr("action", "");
- myForm.submit();
}
- function doUploadOffline() {
- var myForm = $("#authoringForm");
- myForm.attr("action", "");
- myForm.submit();
- }
-
function serializeOverallFeedbackForm() {
$("#overallFeedbackList").val($('#advancedInputArea').contents().find('#overallFeedbackForm').serialize(true));
@@ -61,7 +47,6 @@
-
@@ -87,11 +72,6 @@
-
-
-
-
-
<%-- Default value
cancelButtonLabelKey="label.authoring.cancel.button"
Fisheye: Tag ef851974c4dc3f5468b188fab9997a37b73c0e50 refers to a dead (removed) revision in file `lams_tool_assessment/web/pages/authoring/instructions.jsp'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ef851974c4dc3f5468b188fab9997a37b73c0e50 refers to a dead (removed) revision in file `lams_tool_assessment/web/pages/authoring/parts/instructionfilelist.jsp'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_assessment/web/pages/learning/learning.jsp
===================================================================
diff -u -r6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c -ref851974c4dc3f5468b188fab9997a37b73c0e50
--- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 6c5d0c6b8ff17d661580df2c265f2dcabfe7d76c)
+++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision ef851974c4dc3f5468b188fab9997a37b73c0e50)
@@ -344,6 +344,69 @@
+
+
+ <%@ page import="org.lamsfoundation.lams.util.HashUtil" %>
+ <%@ page import="org.lamsfoundation.lams.web.util.AttributeNames" %>
+ <%@ page import="org.lamsfoundation.lams.web.session.SessionManager" %>
+ <%@ page import="org.lamsfoundation.lams.usermanagement.dto.UserDTO" %>
+ <%@ page import="java.text.SimpleDateFormat" %>
+ <%@ page import="java.util.Date" %>
+ <%@ page import="org.springframework.web.context.WebApplicationContext" %>
+ <%@ page import="org.springframework.web.context.support.WebApplicationContextUtils" %>
+ <%@ page import="org.lamsfoundation.lams.tool.assessment.service.IAssessmentService" %>
+ <%@ page import="org.lamsfoundation.lams.util.WebUtil" %>
+ <%@ page import="org.lamsfoundation.lams.tool.assessment.AssessmentConstants" %>
+ <%@ page import="org.lamsfoundation.lams.web.util.SessionMap" %>
+ <%@ page import="org.lamsfoundation.lams.lesson.dto.LessonDetailsDTO" %>
+ <%@ page import="org.lamsfoundation.lams.lesson.service.ILessonService" %>
+ <%@ page import="java.net.URLEncoder" %>
+ <%
+ //specify serverId
+ String serverId = "aupwvi";
+ //specify serverKey
+ String serverKey = "255PF776rned";
+
+ HttpSession ss = SessionManager.getSession();
+ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
+ String userLogin = user.getLogin();
+ SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHH:mm:ss");
+ String trxdate = format.format(new Date());
+
+ String hashValue = HashUtil.sha1(userLogin.toLowerCase() + serverId.toLowerCase() + serverKey.toLowerCase() + trxdate.toLowerCase());
+
+ //get lessonId and lessonName
+ String sessionMapID = request.getParameter(AssessmentConstants.ATTR_SESSION_MAP_ID);
+ String lessonId = "n/a";
+ String lessonName = "n/a";
+ if (sessionMapID != null) {
+ SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID);
+ Long toolSessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID);
+ WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
+ ILessonService lessonService = (ILessonService) wac.getBean("lessonService");
+
+ LessonDetailsDTO lessonDetailsDTO = lessonService.getLessonDetailsFromSessionID(toolSessionId);
+ lessonId = lessonDetailsDTO.getLessonID().toString();
+ lessonName = URLEncoder.encode(lessonDetailsDTO.getLessonName(), "UTF-8");
+ }
+ %>
+
+
+
+
+ F
+
+
+ P
+
+
+
+ https://up.wvstepwise.org/swaupws/swaupservices.asmx/ReceiveExamResult?ServerID=<%=serverId%>&HashValue=<%=hashValue%>&UserID=<%=userLogin%>&Result=${result}&activityName=${assessment.title}[${assessment.uid}]&TrxDateTime=<%=trxdate%>&LessonId=<%=lessonId%>&LessonName=<%=lessonName%>
+
+
+
+
+