Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaCondition.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaQueContent.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaQueUsr.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaSession.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaUsrResp.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java
===================================================================
diff -u -r8384e056e833d8aadcd6cb12a219094f89c67042 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 8384e056e833d8aadcd6cb12a219094f89c67042)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -180,8 +180,6 @@
public static final String TOTAL_QUESTION_COUNT = "totalQuestionCount";
public static final String MAP_ANSWERS = "mapAnswers";
public static final String USER_FEEDBACK = "userFeedback";
- public static final String REPORT_TITLE = "reportTitle";
- public static final String MONITORING_REPORT_TITLE = "monitoringReportTitle";
public static final String REPORT_TITLE_LEARNER = "reportTitleLearner";
public static final String END_LEARNING_MESSAGE = "endLearningMessage";
public static final String CHECK_ALL_SESSIONS_COMPLETED = "checkAllSessionsCompleted";
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaCondition.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaContent.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaQueContent.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaQueUsr.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaSession.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUsrResp.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaContentDAO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaContentDAO.java (.../IQaContentDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaContentDAO.java (.../IQaContentDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -23,8 +23,8 @@
package org.lamsfoundation.lams.tool.qa.dao;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
/**
* @author Ozgur Demirtas
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java (.../IQaQueUsrDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueUsrDAO.java (.../IQaQueUsrDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -26,8 +26,8 @@
import java.util.List;
import org.lamsfoundation.lams.notebook.service.ICoreNotebookService;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
/**
* @author Ozgur Demirtas
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQuestionDAO.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQuestionDAO.java (.../IQaQuestionDAO.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQuestionDAO.java (.../IQaQuestionDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -25,7 +25,7 @@
import java.util.List;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
/**
* @author Ozgur Demirtas
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java (.../IQaSessionDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java (.../IQaSessionDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -23,7 +23,7 @@
package org.lamsfoundation.lams.tool.qa.dao;
-import org.lamsfoundation.lams.tool.qa.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
/**
* @author Ozgur Demirtas
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -25,7 +25,7 @@
import java.util.List;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java (.../QaContentDAO.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java (.../QaContentDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -26,10 +26,10 @@
import java.util.List;
import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
import org.lamsfoundation.lams.tool.qa.dao.IQaContentDAO;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
import org.springframework.stereotype.Repository;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -33,9 +33,9 @@
import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO;
import org.lamsfoundation.lams.notebook.service.ICoreNotebookService;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
import org.lamsfoundation.lams.tool.qa.dao.IQaQueUsrDAO;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
import org.springframework.stereotype.Repository;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQuestionDAO.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQuestionDAO.java (.../QaQuestionDAO.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQuestionDAO.java (.../QaQuestionDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -27,8 +27,8 @@
import java.util.List;
import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
import org.lamsfoundation.lams.tool.qa.dao.IQaQuestionDAO;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
import org.springframework.stereotype.Repository;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java (.../QaSessionDAO.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java (.../QaSessionDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -26,8 +26,8 @@
import java.util.List;
import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO;
-import org.lamsfoundation.lams.tool.qa.QaSession;
import org.lamsfoundation.lams.tool.qa.dao.IQaSessionDAO;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
import org.springframework.stereotype.Repository;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -32,8 +32,8 @@
import org.hibernate.type.IntegerType;
import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
import org.springframework.stereotype.Repository;
@@ -65,7 +65,7 @@
}
/**
- * @see org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO#updateUserResponse(org.lamsfoundation.lams.tool.qa.QaUsrResp)
+ * @see org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO#updateUserResponse(org.lamsfoundation.lams.tool.qa.model.QaUsrResp)
*/
@Override
public void updateUserResponse(QaUsrResp resp) {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/GeneralLearnerFlowDTO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/GeneralLearnerFlowDTO.java (.../GeneralLearnerFlowDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/GeneralLearnerFlowDTO.java (.../GeneralLearnerFlowDTO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -28,8 +28,8 @@
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
/**
*
@@ -74,8 +74,6 @@
protected String notebookEntry;
- protected String reportTitleLearner;
-
protected String endLearningMessage;
protected String userNameVisible;
@@ -257,7 +255,7 @@
.append("lockWhenFinished: ", lockWhenFinished).append("activityTitle: ", activityTitle)
.append("countSessionComplete: ", countSessionComplete).append("toolSessionID: ", toolSessionID)
.append("currentQuestionIndex: ", currentQuestionIndex)
- .append("questionListingMode: ", questionListingMode).append("reportTitleLearner: ", reportTitleLearner)
+ .append("questionListingMode: ", questionListingMode)
.append("userNameVisible: ", userNameVisible).append("requestLearningReport: ", requestLearningReport)
.append("requestLearningReportProgress: ", requestLearningReportProgress)
.append("requestLearningReportViewOnly: ", requestLearningReportViewOnly)
@@ -341,21 +339,6 @@
}
/**
- * @return Returns the reportTitleLearner.
- */
- public String getReportTitleLearner() {
- return reportTitleLearner;
- }
-
- /**
- * @param reportTitleLearner
- * The reportTitleLearner to set.
- */
- public void setReportTitleLearner(String reportTitleLearner) {
- this.reportTitleLearner = reportTitleLearner;
- }
-
- /**
* @return Returns the userNameVisible.
*/
public String getUserNameVisible() {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaConditionDTO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaConditionDTO.java (.../QaConditionDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaConditionDTO.java (.../QaConditionDTO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -27,8 +27,8 @@
import java.util.TreeSet;
import org.lamsfoundation.lams.learningdesign.dto.TextSearchConditionDTO;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
import org.lamsfoundation.lams.tool.qa.util.QaQueContentComparator;
public class QaConditionDTO extends TextSearchConditionDTO {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaQuestionDTO.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaQuestionDTO.java (.../QaQuestionDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/QaQuestionDTO.java (.../QaQuestionDTO.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -23,7 +23,7 @@
package org.lamsfoundation.lams.tool.qa.dto;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
/**
* DTO that holds users attempt history data for jsp purposes
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaCondition.java
===================================================================
diff -u
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaCondition.java (revision 0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaCondition.java (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -0,0 +1,196 @@
+/****************************************************************
+ * 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
+ * ****************************************************************
+ */
+
+
+package org.lamsfoundation.lams.tool.qa.model;
+
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.Cascade;
+import org.hibernate.annotations.CascadeType;
+import org.lamsfoundation.lams.learningdesign.BranchCondition;
+import org.lamsfoundation.lams.learningdesign.LearningDesign;
+import org.lamsfoundation.lams.learningdesign.TextSearchCondition;
+import org.lamsfoundation.lams.tool.OutputType;
+import org.lamsfoundation.lams.tool.ToolOutput;
+import org.lamsfoundation.lams.tool.ToolOutputFormatException;
+import org.lamsfoundation.lams.tool.ToolOutputValue;
+import org.lamsfoundation.lams.tool.qa.dto.QaConditionDTO;
+import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.util.QaQueContentComparator;
+import org.lamsfoundation.lams.tool.qa.util.QaQuestionContentDTOComparator;
+import org.lamsfoundation.lams.util.WebUtil;
+
+/**
+ * A text search condition with a set of questions on answers to which the
+ * search should be performed.
+ *
+ * @author Marcin Cieslak
+ *
+ */
+@Entity
+@Table(name = "tl_laqa11_conditions")
+public class QaCondition extends TextSearchCondition {
+ /**
+ * Questions linked to this condition. Answers to them will be scanned for
+ * the words that make the condition's parameters.
+ */
+ @ManyToMany
+ @Cascade({ CascadeType.SAVE_UPDATE })
+ @JoinTable(name = "tl_laqa11_condition_questions", joinColumns = @JoinColumn(name = "condition_id"), inverseJoinColumns = @JoinColumn(name = "question_uid"))
+ @OrderBy("uid ASC")
+ private Set questions = new TreeSet(new QaQueContentComparator());
+
+ @Transient
+ public SortedSet temporaryQuestionDTOSet;
+
+ public QaCondition() {
+ this.temporaryQuestionDTOSet = new TreeSet(new QaQuestionContentDTOComparator());
+ }
+
+ public QaCondition(QaConditionDTO conditionDTO) {
+ super(conditionDTO);
+ this.temporaryQuestionDTOSet = new TreeSet(new QaQuestionContentDTOComparator());
+ for (QaQueContent question : conditionDTO.getQuestions()) {
+ QaQueContent questionCopy = new QaQueContent(question.getQuestion(), question.getDisplayOrder(), null,
+ question.isRequired(), question.getMinWordsLimit(), null);
+ getQuestions().add(questionCopy);
+ }
+ }
+
+ public QaCondition(Long conditionId, Integer conditionUIID, Integer orderId, String name, String displayName,
+ String allWords, String phrase, String anyWords, String excludedWords, Set questions) {
+ super(conditionId, conditionUIID, orderId, name, displayName, BranchCondition.OUTPUT_TYPE_COMPLEX, null, null,
+ null, allWords, phrase, anyWords, excludedWords);
+ this.temporaryQuestionDTOSet = new TreeSet(new QaQuestionContentDTOComparator());
+ setQuestions(questions);
+ }
+
+ @Override
+ public boolean isMet(ToolOutput output) throws ToolOutputFormatException {
+ boolean result = false;
+ if (output != null) {
+ ToolOutputValue value = output.getValue();
+ if (value != null) {
+ if (OutputType.OUTPUT_COMPLEX.equals(value.getType())) {
+ // the condition "knows" it's an array of strings, i.e. user's answers
+ String[] answers = (String[]) value.getValue();
+ result = true;
+ for (QaQueContent question : questions) {
+ String textToMatch = answers[question.getDisplayOrder() - 1];
+ textToMatch = WebUtil.removeHTMLtags(textToMatch);
+ result &= matches(textToMatch);
+ // if at least one answer does not satisfy the condition, there is no need to look further
+ if (!result) {
+ break;
+ }
+ }
+ } else {
+ throw new ToolOutputFormatException("Q&A produced a non-complex tool output.");
+ }
+ }
+ }
+ return result;
+ }
+
+ public Set getQuestions() {
+ return questions;
+ }
+
+ public void setQuestions(Set questions) {
+ this.questions = questions;
+ }
+
+ /**
+ * Notice that the original questions are assigned to the copy.
+ */
+ @Override
+ public Object clone() {
+ Set questionsCopy = new TreeSet(new QaQueContentComparator());
+ questionsCopy.addAll(questions);
+ return new QaCondition(null, null, orderId, name, displayName, allWords, phrase, anyWords, excludedWords,
+ questionsCopy);
+ }
+
+ /**
+ * Notice that questions are copied with very little information and then
+ * they are assigned to the cloned object. This method is used when
+ * assigning BranchActivityEntry needs, so only basic information (in fact,
+ * only order ID) is needed. Also, there should be no link to Q&A content.
+ */
+ @Override
+ public QaCondition clone(int uiidOffset) {
+ Integer newConditionUIID = LearningDesign.addOffset(conditionUIID, uiidOffset);
+ Set questionsCopy = new TreeSet(new QaQueContentComparator());
+
+ for (QaQueContent question : getQuestions()) {
+ QaQueContent questionCopy = new QaQueContent(question.getQuestion(), question.getDisplayOrder(), null,
+ question.isRequired(), question.getMinWordsLimit(), null);
+ questionsCopy.add(questionCopy);
+ }
+ return new QaCondition(null, newConditionUIID, orderId, name, displayName, allWords, phrase, anyWords,
+ excludedWords, questionsCopy);
+ }
+
+ /**
+ * Notice that questions from the cloned (and not the original) tool content
+ * are assigned to the cloned condition. This method is used for cloning
+ * tool content.
+ */
+ public QaCondition clone(QaContent qaContent) {
+
+ Set questionsCopy = new TreeSet(new QaQueContentComparator());
+ for (QaQueContent conditionQuestion : getQuestions()) {
+ for (QaQueContent contentQuestion : qaContent.getQaQueContents()) {
+ if (conditionQuestion.getDisplayOrder() == contentQuestion.getDisplayOrder()) {
+ questionsCopy.add(contentQuestion);
+ }
+ }
+ }
+
+ return new QaCondition(null, null, orderId, name, displayName, allWords, phrase, anyWords, excludedWords,
+ questionsCopy);
+ }
+
+ /**
+ * The condition must be bound with at least one question.
+ */
+ @Override
+ protected boolean isValid() {
+ return getQuestions() != null && !getQuestions().isEmpty();
+ }
+
+ @Override
+ public QaConditionDTO getBranchConditionDTO(Integer toolActivityUIID) {
+ return new QaConditionDTO(this, toolActivityUIID);
+ }
+}
\ No newline at end of file
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaContent.java
===================================================================
diff -u
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaContent.java (revision 0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaContent.java (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -0,0 +1,633 @@
+/****************************************************************
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+
+package org.lamsfoundation.lams.tool.qa.model;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeSet;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.lamsfoundation.lams.learningdesign.TextSearchConditionComparator;
+import org.lamsfoundation.lams.rating.model.LearnerItemRatingCriteria;
+
+/**
+ * QaContent Value Object The value object that maps to our model database table: tl_laqa11_content The relevant
+ * hibernate mapping resides in: QaContent.hbm.xml
+ *
+ * Holds content representation for the tool. Default content is made available to the tool by the database.
+ *
+ * @author Ozgur Demirtas
+ */
+@SuppressWarnings("serial")
+@Entity
+@Table(name = "tl_laqa11_content")
+public class QaContent implements Serializable {
+
+ @Id
+ @Column
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long uid;
+
+ @Column(name = "qa_content_id")
+ private Long qaContentId;
+
+ @Column
+ private String title;
+
+ @Column
+ private String instructions;
+
+ @Column(name = "created_by")
+ private long createdBy;
+
+ @Column(name = "define_later")
+ private boolean defineLater;
+
+ @Column
+ private boolean reflect;
+
+ @Column
+ private String reflectionSubject;
+
+ @Column(name = "questions_sequenced")
+ private boolean questionsSequenced;
+
+ @Column
+ private boolean lockWhenFinished;
+
+ @Column(name = "no_reedit_allowed")
+ private boolean noReeditAllowed;
+
+ @Column
+ private boolean showOtherAnswers;
+
+ @Column(name = "allow_rich_editor")
+ private boolean allowRichEditor;
+
+ @Column(name = "use_select_leader_tool_ouput")
+ private boolean useSelectLeaderToolOuput;
+
+ @Column(name = "username_visible")
+ private boolean usernameVisible;
+
+ @Column(name = "allow_rate_answers")
+ private boolean allowRateAnswers;
+
+ @Column(name = "notify_response_submit")
+ private boolean notifyTeachersOnResponseSubmit;
+
+ @Column(name = "creation_date")
+ private Date creationDate;
+
+ @Column(name = "update_date")
+ private Date updateDate;
+
+ @Column(name = "submission_deadline")
+ private Date submissionDeadline;
+
+ @Column(name = "show_other_answers_after_deadline")
+ private boolean showOtherAnswersAfterDeadline;
+
+ @Column(name = "maximum_rates")
+ private int maximumRates;
+
+ @Column(name = "minimum_rates")
+ private int minimumRates;
+
+ @OneToMany(cascade = CascadeType.ALL)
+ @JoinColumn(name = "tool_content_id", referencedColumnName = "qa_content_id")
+ @OrderBy("orderId asc")
+ private Set ratingCriterias;
+
+ @OneToMany(mappedBy = "qaContent", cascade = CascadeType.ALL)
+ @OrderBy("displayOrder")
+ private Set qaQueContents;
+
+ @OneToMany(mappedBy = "qaContent", cascade = CascadeType.ALL, orphanRemoval = true)
+ private Set qaSessions;
+
+ @OneToMany(cascade = CascadeType.ALL)
+ @JoinColumn(name = "content_uid")
+ private Set conditions;
+
+ public QaContent() {
+ conditions = new TreeSet(new TextSearchConditionComparator());
+ };
+
+ /** full constructor */
+ public QaContent(Long qaContentId, String title, String instructions, long createdBy, boolean questionsSequenced,
+ boolean usernameVisible, boolean allowRateAnswers, boolean notifyTeachersOnResponseSubmit,
+ boolean lockWhenFinished, boolean noReeditAllowed, boolean showOtherAnswers, boolean reflect,
+ String reflectionSubject, Date creationDate, Date updateDate, Set qaQueContents,
+ Set qaSessions, Set conditions, boolean allowRichEditor,
+ boolean useSelectLeaderToolOuput, int maximumRates, int minimumRates,
+ Set ratingCriterias) {
+ this.qaContentId = qaContentId;
+ this.title = title;
+ this.instructions = instructions;
+ this.createdBy = createdBy;
+ this.questionsSequenced = questionsSequenced;
+ this.usernameVisible = usernameVisible;
+ this.allowRateAnswers = allowRateAnswers;
+ this.notifyTeachersOnResponseSubmit = notifyTeachersOnResponseSubmit;
+ this.lockWhenFinished = lockWhenFinished;
+ this.noReeditAllowed = noReeditAllowed;
+ this.showOtherAnswers = showOtherAnswers;
+ this.reflect = reflect;
+ this.reflectionSubject = reflectionSubject;
+ this.creationDate = creationDate;
+ this.updateDate = updateDate;
+ this.qaQueContents = qaQueContents;
+ this.qaSessions = qaSessions;
+ this.conditions = conditions != null ? conditions
+ : new TreeSet(new TextSearchConditionComparator());
+ this.allowRichEditor = allowRichEditor;
+ this.useSelectLeaderToolOuput = useSelectLeaderToolOuput;
+ this.maximumRates = maximumRates;
+ this.minimumRates = minimumRates;
+ this.ratingCriterias = ratingCriterias;
+ }
+
+ /**
+ * Copy Constructor to create a new qa content instance. Note that we don't copy the qa session data here because the
+ * qa session will be created after we copied tool content.
+ *
+ * @param qa
+ * the original qa content.
+ * @param newContentId
+ * the new qa content id.
+ * @return the new qa content object.
+ */
+ public static QaContent newInstance(QaContent qa, Long newContentId) {
+ QaContent newContent = new QaContent(newContentId, qa.getTitle(), qa.getInstructions(), qa.getCreatedBy(),
+ qa.isQuestionsSequenced(), qa.isUsernameVisible(), qa.isAllowRateAnswers(),
+ qa.isNotifyTeachersOnResponseSubmit(), qa.isLockWhenFinished(), qa.isNoReeditAllowed(),
+ qa.isShowOtherAnswers(), qa.isReflect(), qa.getReflectionSubject(), qa.getCreationDate(),
+ qa.getUpdateDate(), new TreeSet(), new TreeSet(),
+ new TreeSet(new TextSearchConditionComparator()), qa.isAllowRichEditor(),
+ qa.isUseSelectLeaderToolOuput(), qa.maximumRates, qa.minimumRates,
+ new TreeSet());
+
+ newContent.setQaQueContents(qa.deepCopyQaQueContent(newContent));
+
+ newContent.setRatingCriterias(qa.deepCopyRatingCriterias(newContent));
+
+ newContent.setConditions(qa.deepCopyConditions(newContent));
+ return newContent;
+ }
+
+ public Set deepCopyRatingCriterias(QaContent newQaContent) {
+
+ Set newCriterias = new TreeSet();
+ for (Iterator i = ratingCriterias.iterator(); i.hasNext();) {
+ LearnerItemRatingCriteria criteria = i.next();
+ LearnerItemRatingCriteria newCriteria = (LearnerItemRatingCriteria) criteria.clone();
+ newCriteria.setToolContentId(newQaContent.qaContentId);
+ newCriterias.add(newCriteria);
+ }
+ return newCriterias;
+ }
+
+ public Set deepCopyQaQueContent(QaContent newQaContent) {
+ Set newQaQueContent = new TreeSet();
+ for (Iterator i = this.getQaQueContents().iterator(); i.hasNext();) {
+ QaQueContent queContent = i.next();
+ newQaQueContent.add(QaQueContent.newInstance(queContent, newQaContent));
+ }
+ return newQaQueContent;
+ }
+
+ public Set deepCopyConditions(QaContent newQaContent) {
+
+ Set newConditions = new TreeSet(new TextSearchConditionComparator());
+ if (getConditions() != null) {
+ for (QaCondition condition : getConditions()) {
+ newConditions.add(condition.clone(newQaContent));
+ }
+ }
+
+ return newConditions;
+ }
+
+ public Set deepCopyQaSession(QaContent newQaSession) {
+ return new TreeSet();
+ }
+
+ public Set getQaQueContents() {
+ if (qaQueContents == null) {
+ setQaQueContents(new TreeSet());
+ }
+ return qaQueContents;
+ }
+
+ public void setQaQueContents(Set qaQueContents) {
+ this.qaQueContents = qaQueContents;
+ }
+
+ public Set getQaSessions() {
+ return qaSessions;
+ }
+
+ public void setQaSessions(Set qaSessions) {
+ this.qaSessions = qaSessions;
+ }
+
+ /**
+ * @return Returns the qaContentId.
+ */
+ public Long getQaContentId() {
+ return qaContentId;
+ }
+
+ /**
+ * @param qaContentId
+ * The qaContentId to set.
+ */
+ public void setQaContentId(Long qaContentId) {
+ this.qaContentId = qaContentId;
+ }
+
+ /**
+ * @return Returns the title.
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * @param title
+ * The title to set.
+ */
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("qaContentId:", getQaContentId()).append("qa title:", getTitle())
+ .append("qa instructions:", getInstructions()).append("creator user id", getCreatedBy())
+ .append("username_visible:", isUsernameVisible()).append("allow to rate answers:", isAllowRateAnswers())
+ .append("defineLater", isDefineLater()).append("reflection subject: ", getReflectionSubject())
+ .toString();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof QaContent)) {
+ return false;
+ }
+ QaContent castOther = (QaContent) other;
+ return new EqualsBuilder().append(this.getQaContentId(), castOther.getQaContentId()).isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(getQaContentId()).toHashCode();
+ }
+
+ /**
+ * @return Returns the createdBy.
+ */
+ public long getCreatedBy() {
+ return createdBy;
+ }
+
+ /**
+ * @param createdBy
+ * The createdBy to set.
+ */
+ public void setCreatedBy(long createdBy) {
+ this.createdBy = createdBy;
+ }
+
+ /**
+ * @return Returns the defineLater.
+ */
+ public boolean isDefineLater() {
+ return defineLater;
+ }
+
+ /**
+ * @param defineLater
+ * The defineLater to set.
+ */
+ public void setDefineLater(boolean defineLater) {
+ this.defineLater = defineLater;
+ }
+
+ /**
+ * @return Returns the instructions.
+ */
+ public String getInstructions() {
+ return instructions;
+ }
+
+ /**
+ * @param instructions
+ * The instructions to set.
+ */
+ public void setInstructions(String instructions) {
+ this.instructions = instructions;
+ }
+
+ /**
+ * @return Returns the updateDate.
+ */
+ public Date getUpdateDate() {
+ return updateDate;
+ }
+
+ /**
+ * @param updateDate
+ * The updateDate to set.
+ */
+ public void setUpdateDate(Date updateDate) {
+ this.updateDate = updateDate;
+ }
+
+ /**
+ * @return Returns the submissionDeadline.
+ */
+ public Date getSubmissionDeadline() {
+ return submissionDeadline;
+ }
+
+ /**
+ * @param submissionDeadline
+ * The submissionDeadline to set.
+ */
+ public void setSubmissionDeadline(Date submissionDeadline) {
+ this.submissionDeadline = submissionDeadline;
+ }
+
+ /**
+ * @return Returns the showOtherAnswersAfterDeadline.
+ */
+ public boolean isShowOtherAnswersAfterDeadline() {
+ return showOtherAnswersAfterDeadline;
+ }
+
+ /**
+ * @param showOtherAnswersAfterDeadline
+ * The showOtherAnswersAfterDeadline to set.
+ */
+ public void setShowOtherAnswersAfterDeadline(boolean showOtherAnswersAfterDeadline) {
+ this.showOtherAnswersAfterDeadline = showOtherAnswersAfterDeadline;
+ }
+
+ /**
+ * @return Returns the usernameVisible.
+ */
+ public boolean isUsernameVisible() {
+ return usernameVisible;
+ }
+
+ /**
+ * @param usernameVisible
+ * The usernameVisible to set.
+ */
+ public void setUsernameVisible(boolean usernameVisible) {
+ this.usernameVisible = usernameVisible;
+ }
+
+ /**
+ * @return Returns the allowRateAnswers.
+ */
+ public boolean isAllowRateAnswers() {
+ return allowRateAnswers;
+ }
+
+ /**
+ * @param allowRateAnswers
+ * The allowRateAnswers to set.
+ */
+ public void setAllowRateAnswers(boolean allowRateAnswers) {
+ this.allowRateAnswers = allowRateAnswers;
+ }
+
+ /**
+ * @return
+ */
+ public boolean isNotifyTeachersOnResponseSubmit() {
+ return notifyTeachersOnResponseSubmit;
+ }
+
+ public void setNotifyTeachersOnResponseSubmit(boolean notifyTeachersOnResponseSubmit) {
+ this.notifyTeachersOnResponseSubmit = notifyTeachersOnResponseSubmit;
+ }
+
+ /**
+ * @return Returns the questionsSequenced.
+ */
+ public boolean isQuestionsSequenced() {
+ return questionsSequenced;
+ }
+
+ /**
+ * @param questionsSequenced
+ * The questionsSequenced to set.
+ */
+ public void setQuestionsSequenced(boolean questionsSequenced) {
+ this.questionsSequenced = questionsSequenced;
+ }
+
+ /**
+ * @return Returns the uid.
+ */
+ public Long getUid() {
+ return uid;
+ }
+
+ /**
+ * @param uid
+ * The uid to set.
+ */
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @return Returns the creationDate.
+ */
+ public Date getCreationDate() {
+ return creationDate;
+ }
+
+ /**
+ * @param creationDate
+ * The creationDate to set.
+ */
+ public void setCreationDate(Date creationDate) {
+ this.creationDate = creationDate;
+ }
+
+ /**
+ * @return Returns the reflect.
+ */
+ public boolean isReflect() {
+ return reflect;
+ }
+
+ /**
+ * @param reflect
+ * The reflect to set.
+ */
+ public void setReflect(boolean reflect) {
+ this.reflect = reflect;
+ }
+
+ /**
+ * @return Returns the reflectionSubject.
+ */
+ public String getReflectionSubject() {
+ return reflectionSubject;
+ }
+
+ /**
+ * @param reflectionSubject
+ * The reflectionSubject to set.
+ */
+ public void setReflectionSubject(String reflectionSubject) {
+ this.reflectionSubject = reflectionSubject;
+ }
+
+ /**
+ * @return Returns the lockWhenFinished.
+ */
+ public boolean isLockWhenFinished() {
+ return lockWhenFinished;
+ }
+
+ /**
+ * @param lockWhenFinished
+ * The lockWhenFinished to set.
+ */
+ public void setLockWhenFinished(boolean lockWhenFinished) {
+ this.lockWhenFinished = lockWhenFinished;
+ }
+
+ /**
+ * @return Returns the noReeditAllowed.
+ */
+ public boolean isNoReeditAllowed() {
+ return noReeditAllowed;
+ }
+
+ /**
+ * @param noReeditAllowed
+ * The noReeditAllowed to set.
+ */
+ public void setNoReeditAllowed(boolean noReeditAllowed) {
+ this.noReeditAllowed = noReeditAllowed;
+ }
+
+ public boolean isAllowRichEditor() {
+ return allowRichEditor;
+ }
+
+ public void setAllowRichEditor(boolean allowRichEditor) {
+ this.allowRichEditor = allowRichEditor;
+ }
+
+ public boolean isUseSelectLeaderToolOuput() {
+ return useSelectLeaderToolOuput;
+ }
+
+ public void setUseSelectLeaderToolOuput(boolean useSelectLeaderToolOuput) {
+ this.useSelectLeaderToolOuput = useSelectLeaderToolOuput;
+ }
+
+ /**
+ * @return Returns the showOtherAnswers.
+ */
+ public boolean isShowOtherAnswers() {
+ return showOtherAnswers;
+ }
+
+ /**
+ * @param showOtherAnswers
+ * The showOtherAnswers to set.
+ */
+ public void setShowOtherAnswers(boolean showOtherAnswers) {
+ this.showOtherAnswers = showOtherAnswers;
+ }
+
+ /**
+ * @return
+ */
+ public int getMaximumRates() {
+ return maximumRates;
+ }
+
+ public void setMaximumRates(int maximumRate) {
+ this.maximumRates = maximumRate;
+ }
+
+ /**
+ * @return
+ */
+ public int getMinimumRates() {
+ return minimumRates;
+ }
+
+ public void setMinimumRates(int minimumRates) {
+ this.minimumRates = minimumRates;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public Set getRatingCriterias() {
+ return ratingCriterias;
+ }
+
+ public void setRatingCriterias(Set ratingCriterias) {
+ this.ratingCriterias = ratingCriterias;
+ }
+
+ public Set getConditions() {
+ return conditions;
+ }
+
+ public void setConditions(Set conditions) {
+ this.conditions = conditions;
+ }
+}
\ No newline at end of file
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueContent.java
===================================================================
diff -u
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueContent.java (revision 0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueContent.java (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -0,0 +1,241 @@
+/****************************************************************
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+package org.lamsfoundation.lams.tool.qa.model;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.lamsfoundation.lams.tool.qa.Nullable;
+
+/**
+ *
+ * @author Ozgur Demirtas
+ *
+ * The value object that maps to our model database table: tl_laqa11_que_content The relevant hibernate mapping
+ * resides in: QaQueContent.hbm.xml
+ *
+ * Holds question content within a particular content
+ */
+@Entity
+@Table(name = "tl_laqa11_que_content")
+public class QaQueContent implements Serializable, Comparable, Nullable {
+
+ private static final long serialVersionUID = -4028785701106936621L;
+
+ @Id
+ @Column
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long uid;
+
+ @Column
+ private String question;
+
+ @Column(name = "display_order")
+ private int displayOrder;
+
+ @Column
+ private String feedback;
+
+ @Column(name = "answer_required")
+ private boolean required;
+
+ @Column(name = "min_words_limit")
+ private int minWordsLimit;
+
+ @ManyToOne
+ @JoinColumn(name = "qa_content_id")
+ private QaContent qaContent;
+
+ /** default constructor */
+ public QaQueContent() {
+ }
+
+ public QaQueContent(String question, int displayOrder, String feedback, boolean required, int minWordsLimit,
+ QaContent qaContent) {
+ this.question = question;
+ this.displayOrder = displayOrder;
+ this.feedback = feedback;
+ this.required = required;
+ this.minWordsLimit = minWordsLimit;
+ this.qaContent = qaContent;
+ }
+
+ public static QaQueContent newInstance(QaQueContent queContent, QaContent newQaContent) {
+ QaQueContent newQueContent = new QaQueContent(queContent.getQuestion(), queContent.getDisplayOrder(),
+ queContent.getFeedback(), queContent.isRequired(), queContent.minWordsLimit, newQaContent);
+ return newQueContent;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("qaQueContentId: ", getUid()).append("question: ", getQuestion())
+ .append("displayOrder: ", getDisplayOrder()).toString();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof QaQueContent)) {
+ return false;
+ }
+ QaQueContent castOther = (QaQueContent) other;
+ return new EqualsBuilder().append(this.getUid(), castOther.getUid()).isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(getUid()).toHashCode();
+ }
+
+ /**
+ * @return Returns the displayOrder.
+ */
+ public int getDisplayOrder() {
+ return displayOrder;
+ }
+
+ /**
+ * @param required
+ * Does this question have to be answered.
+ */
+ public void setRequired(boolean required) {
+ this.required = required;
+ }
+
+ /**
+ * @return Does this question have to be answered.
+ */
+ public boolean isRequired() {
+ return required;
+ }
+
+ /**
+ * @param minWordsLimit
+ * minWordsLimit
+ */
+ public void setMinWordsLimit(int minWordsLimit) {
+ this.minWordsLimit = minWordsLimit;
+ }
+
+ /**
+ * @return minWordsLimit
+ */
+ public int getMinWordsLimit() {
+ return minWordsLimit;
+ }
+
+ /**
+ * @param displayOrder
+ * The displayOrder to set.
+ */
+ public void setDisplayOrder(int displayOrder) {
+ this.displayOrder = displayOrder;
+ }
+
+ /**
+ * @return Returns the qaContent.
+ */
+ public org.lamsfoundation.lams.tool.qa.model.QaContent getQaContent() {
+ return qaContent;
+ }
+
+ /**
+ * @param qaContent
+ * The qaContent to set.
+ */
+ public void setQaContent(org.lamsfoundation.lams.tool.qa.model.QaContent qaContent) {
+ this.qaContent = qaContent;
+ }
+
+ /**
+ * @return Returns the question.
+ */
+ public String getQuestion() {
+ return question;
+ }
+
+ /**
+ * @param question
+ * The question to set.
+ */
+ public void setQuestion(String question) {
+ this.question = question;
+ }
+
+ @Override
+ public boolean isNull() {
+ return false;
+ }
+
+ @Override
+ public int compareTo(Object o) {
+ //QaQueContent queContent = (QaQueContent) o;
+
+ // if the object does not exist yet, then just return any one of 0, -1, 1. Should not make a difference.
+ /*
+ * if (uid == null) return 1; else return (int) (uid.longValue() - queContent.uid.longValue());
+ */
+ return 1;
+ }
+
+ /**
+ * @return Returns the uid.
+ */
+ public Long getUid() {
+ return uid;
+ }
+
+ /**
+ * @param uid
+ * The uid to set.
+ */
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @return Returns the feedback.
+ */
+ public String getFeedback() {
+ return feedback;
+ }
+
+ /**
+ * @param feedback
+ * The feedback to set.
+ */
+ public void setFeedback(String feedback) {
+ this.feedback = feedback;
+ }
+}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueUsr.java
===================================================================
diff -u
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueUsr.java (revision 0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaQueUsr.java (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -0,0 +1,267 @@
+/****************************************************************
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+package org.lamsfoundation.lams.tool.qa.model;
+
+import java.io.Serializable;
+import java.util.Set;
+import java.util.TreeSet;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.lamsfoundation.lams.tool.qa.Nullable;
+
+/**
+ *
+ * @author Ozgur Demirtas
+ *
+ * The value object that maps to our model database table:
+ * tl_laqa11_que_usr The relevant hibernate mapping resides in: QaQueUsr.hbm.xml
+ *
+ * Represents tool users.
+ */
+@Entity
+@Table(name = "tl_laqa11_que_usr")
+public class QaQueUsr implements Serializable, Nullable, Comparable {
+
+ private static final long serialVersionUID = -6768077344827699440L;
+
+ @Id
+ @Column
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long uid;
+
+ @Column(name = "que_usr_id")
+ private Long queUsrId;
+
+ @Column
+ private String username;
+
+ @Column
+ private String fullname;
+
+ @Column
+ private boolean responseFinalized;
+
+ @Column
+ private boolean learnerFinished;
+
+ @ManyToOne
+ @JoinColumn(name = "qa_session_id")
+ private QaSession qaSession;
+
+ @OneToMany(mappedBy = "qaQueUser", cascade = CascadeType.ALL, orphanRemoval = true)
+ private SetqaUsrResps;
+
+ public QaQueUsr() {
+ this.qaUsrResps = new TreeSet();
+ };
+
+ /** full constructor */
+ public QaQueUsr(Long queUsrId, String username, String fullname, QaSession qaSession, Set qaUsrResps) {
+ this.queUsrId = queUsrId;
+ this.username = username;
+ this.fullname = fullname;
+ this.qaSession = qaSession;
+ this.qaUsrResps = qaUsrResps != null ? qaUsrResps : new TreeSet();
+ }
+
+ /**
+ * Copy constructor; We copy all data except the hibernate id field.
+ *
+ * @param queUsr
+ * the original survey question user object.
+ * @return the survey question user object.
+ */
+ public QaQueUsr newInstance(QaQueUsr queUsr) {
+ return new QaQueUsr(queUsr.getQueUsrId(), queUsr.getUsername(), queUsr.getFullname(), queUsr.getQaSession(),
+ queUsr.getQaUsrResps());
+ }
+
+ /**
+ * @return Returns the fullname.
+ */
+ public String getFullname() {
+ return fullname;
+ }
+
+ /**
+ * @param fullName
+ * The fullName to set.
+ */
+ public void setFullname(String fullname) {
+ this.fullname = fullname;
+ }
+
+ /**
+ * @return Returns the qaSession.
+ */
+ public QaSession getQaSession() {
+ return qaSession;
+ }
+
+ /**
+ * @param qaSession
+ * The qaSession to set.
+ */
+ public void setQaSession(QaSession qaSession) {
+ this.qaSession = qaSession;
+ }
+
+ /**
+ * @return Returns the qaUsrResps.
+ */
+ public Set getQaUsrResps() {
+ return this.qaUsrResps;
+ }
+
+ /**
+ * @param qaUsrResps
+ * The qaUsrResps to set.
+ */
+ public void setQaUsrResps(Set qaUsrResps) {
+ this.qaUsrResps = qaUsrResps;
+ }
+
+ /**
+ * @return Returns the queUsrId.
+ */
+ public Long getQueUsrId() {
+ return queUsrId;
+ }
+
+ /**
+ * @param queUsrId
+ * The queUsrId to set.
+ */
+ public void setQueUsrId(Long queUsrId) {
+ this.queUsrId = queUsrId;
+ }
+
+ /**
+ * @return Returns the username.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * @param username
+ * The username to set.
+ */
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("queUsrId", getQueUsrId()).append("username", getUsername())
+ .append("full name", getFullname()).toString();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof QaQueUsr)) {
+ return false;
+ }
+ QaQueUsr castOther = (QaQueUsr) other;
+ return new EqualsBuilder().append(this.getQueUsrId(), castOther.getQueUsrId()).isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(getQueUsrId()).toHashCode();
+ }
+
+ @Override
+ public boolean isNull() {
+ return false;
+ }
+
+ /**
+ * @return Returns the uid.
+ */
+ public Long getUid() {
+ return uid;
+ }
+
+ /**
+ * @param uid
+ * The uid to set.
+ */
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @return Returns the responseFinalized.
+ */
+ public boolean isResponseFinalized() {
+ return responseFinalized;
+ }
+
+ /**
+ * @param responseFinalized
+ * The responseFinalized to set.
+ */
+ public void setResponseFinalized(boolean responseFinalized) {
+ this.responseFinalized = responseFinalized;
+ }
+
+ /**
+ * @return Returns the learnerFinished.
+ */
+ public boolean isLearnerFinished() {
+ return learnerFinished;
+ }
+
+ /**
+ * @param learnerFinished
+ * The learnerFinished to set.
+ */
+ public void setLearnerFinished(boolean learnerFinished) {
+ this.learnerFinished = learnerFinished;
+ }
+
+ @Override
+ public int compareTo(QaQueUsr user) {
+ if (user.getUid() != null && uid != null) {
+ return user.getUid().compareTo(uid) * -1;
+ } else {
+ return 1;
+ }
+ }
+
+}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaSession.java
===================================================================
diff -u
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaSession.java (revision 0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaSession.java (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -0,0 +1,233 @@
+/****************************************************************
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+package org.lamsfoundation.lams.tool.qa.model;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Set;
+import java.util.TreeSet;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.lamsfoundation.lams.tool.qa.Nullable;
+
+/**
+ *
+ * @author Ozgur Demirtas
+ *
+ * QaSession Value Object The value object that maps to our model database
+ * table: tl_laqa11_session The relevant hibernate mapping resides in:
+ * QaSession.hbm.xml
+ *
+ * Holds tool sessions
+ */
+@Entity
+@Table(name = "tl_laqa11_session")
+public class QaSession implements Serializable, Comparable, Nullable {
+
+ public final static String INCOMPLETE = "INCOMPLETE";
+
+ public static final String COMPLETED = "COMPLETED";
+
+ @Id
+ @Column
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long uid;
+
+ @Column(name = "qa_session_id")
+ private Long qaSessionId;
+
+ @Column(name = "session_start_date")
+ private Date session_start_date;
+
+ @Column(name = "session_end_date")
+ private Date session_end_date;
+
+ @Column(name = "session_status")
+ private String session_status;
+
+ @Column(name = "session_name")
+ private String session_name;
+
+ @ManyToOne
+ @JoinColumn(name = "qa_content_id")
+ private QaContent qaContent;
+
+ @OneToMany(mappedBy = "qaSession", cascade = CascadeType.ALL, orphanRemoval = true)
+ private Set qaQueUsers;
+
+ @ManyToOne
+ @JoinColumn(name = "qa_group_leader_uid")
+ private QaQueUsr groupLeader;
+
+ public QaSession() {
+ this.qaQueUsers = new TreeSet();
+ };
+
+ public QaSession(Long qaSessionId, Date session_start_date, Date session_end_date, String session_status,
+ QaContent qaContent, Set qaQueUsers) {
+ this.qaSessionId = qaSessionId;
+ this.session_start_date = session_start_date;
+ this.session_end_date = session_end_date;
+ this.session_status = session_status;
+ this.qaContent = qaContent;
+ this.qaQueUsers = qaQueUsers != null ? qaQueUsers : new TreeSet();
+ }
+
+ public QaSession(Long qaSessionId, Date session_start_date, String session_status, String session_name,
+ QaContent qaContent, Set qaQueUsers) {
+ this.qaSessionId = qaSessionId;
+ this.session_start_date = session_start_date;
+ this.session_status = session_status;
+ this.session_name = session_name;
+ this.qaContent = qaContent;
+ this.qaQueUsers = qaQueUsers != null ? qaQueUsers : new TreeSet();
+ }
+
+ public Long getQaSessionId() {
+ return this.qaSessionId;
+ }
+
+ public void setQaSessionId(Long qaSessionId) {
+ this.qaSessionId = qaSessionId;
+ }
+
+ public Date getSession_start_date() {
+ return this.session_start_date;
+ }
+
+ public void setSession_start_date(Date session_start_date) {
+ this.session_start_date = session_start_date;
+ }
+
+ public Date getSession_end_date() {
+ return this.session_end_date;
+ }
+
+ public void setSession_end_date(Date session_end_date) {
+ this.session_end_date = session_end_date;
+ }
+
+ public String getSession_status() {
+ return session_status;
+ }
+
+ public void setSession_status(String session_status) {
+ this.session_status = session_status;
+ }
+
+ public QaContent getQaContent() {
+ return this.qaContent;
+ }
+
+ public void setQaContent(QaContent qaContent) {
+ this.qaContent = qaContent;
+ }
+
+ public Set getQaQueUsers() {
+ return this.qaQueUsers;
+ }
+
+ public void setQaQueUsers(Set qaQueUsers) {
+ this.qaQueUsers = qaQueUsers;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("qaSessionId", getQaSessionId())
+ .append("session start date", getSession_start_date()).append("session end date", getSession_end_date())
+ .append("session status", getSession_status()).toString();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof QaSession)) {
+ return false;
+ }
+
+ QaSession castOther = (QaSession) other;
+ return new EqualsBuilder().append(this.getQaSessionId(), castOther.getQaSessionId()).isEquals();
+
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(getQaSessionId()).toHashCode();
+
+ }
+
+ @Override
+ public int compareTo(Object o) {
+ QaSession qaSession = (QaSession) o;
+ return (int) (qaSessionId.longValue() - qaSession.qaSessionId.longValue());
+ }
+
+ @Override
+ public boolean isNull() {
+ return false;
+ }
+
+ public Long getUid() {
+ return uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @return Returns the session_name.
+ */
+ public String getSession_name() {
+ return session_name;
+ }
+
+ /**
+ * @param session_name
+ * The session_name to set.
+ */
+ public void setSession_name(String session_name) {
+ this.session_name = session_name;
+ }
+
+ public QaQueUsr getGroupLeader() {
+ return this.groupLeader;
+ }
+
+ public void setGroupLeader(QaQueUsr groupLeader) {
+ this.groupLeader = groupLeader;
+ }
+}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaUsrResp.java
===================================================================
diff -u
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaUsrResp.java (revision 0)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/model/QaUsrResp.java (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -0,0 +1,302 @@
+/****************************************************************
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+package org.lamsfoundation.lams.tool.qa.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.lamsfoundation.lams.rating.dto.ItemRatingDTO;
+
+/**
+ * Holds user responses to questions
+ *
+ * QaUsrResp Value Object The value object that maps to our model database
+ * table: tl_laqa11_usr_resp The relevant hibernate mapping resides in:
+ * QaQueResp.hbm.xml
+ *
+ * @author Ozgur Demirtas
+ */
+
+@Entity
+@Table(name = "tl_laqa11_usr_resp")
+public class QaUsrResp implements Serializable, Comparable {
+
+ @Id
+ @Column(name = "response_id")
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+private Long responseId;
+
+ @Column
+ private String answer;
+
+ @Column(name = "answer_autosaved")
+ private String answerAutosaved;
+
+ @Column(name = "attempt_time")
+ private Date attemptTime;
+
+ @ManyToOne
+ @JoinColumn(name = "qa_que_content_id")
+ private QaQueContent qaQuestion;
+
+ @Column
+ private boolean visible;
+
+ @ManyToOne
+ @JoinColumn(name = "que_usr_id")
+ private QaQueUsr qaQueUser;
+
+ @Column(name = "time_zone")
+ private String timezone;
+
+ @Transient
+ private ItemRatingDTO itemRatingDto;
+
+ @Transient
+ private Long portraitId;
+
+ /** full constructor */
+ public QaUsrResp(Long responseId, String answer, String answerAutosaved, Date attemptTime, String timezone,
+ QaQueContent qaQuestion, QaQueUsr qaQueUser) {
+ this.responseId = responseId;
+ this.answer = answer;
+ this.answerAutosaved = answerAutosaved;
+ this.attemptTime = attemptTime;
+ this.timezone = timezone;
+ this.qaQuestion = qaQuestion;
+ this.qaQueUser = qaQueUser;
+ }
+
+ public QaUsrResp(String answer, String answerAutosaved, Date attemptTime, String timezone, QaQueContent qaQuestion,
+ QaQueUsr qaQueUser, boolean visible) {
+ this.answer = answer;
+ this.answerAutosaved = answerAutosaved;
+ this.attemptTime = attemptTime;
+ this.timezone = timezone;
+ this.qaQuestion = qaQuestion;
+ this.qaQueUser = qaQueUser;
+ this.visible = visible;
+ }
+
+ /** default constructor */
+ public QaUsrResp() {
+ }
+
+ /**
+ * Copy construtor. Delegate to full construtor to achieve the object
+ * creation.
+ *
+ * @param response
+ * the original survey user response
+ * @return the new qa user response cloned from original object
+ */
+ public static QaUsrResp newInstance(QaUsrResp response) {
+ return new QaUsrResp(response.getResponseId(), response.getAnswer(), response.getAnswerAutosaved(),
+ response.getAttemptTime(), response.getTimezone(), response.getQaQuestion(), response.qaQueUser);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("responseId: ", getResponseId()).append("answer:", getAnswer())
+ .append("attempt time: ", getAttemptTime()).toString();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof QaUsrResp)) {
+ return false;
+ }
+ QaUsrResp castOther = (QaUsrResp) other;
+ return new EqualsBuilder().append(this.getResponseId(), castOther.getResponseId()).isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(getResponseId()).toHashCode();
+ }
+
+ /**
+ * @return Returns the answer.
+ */
+ public String getAnswer() {
+ return answer;
+ }
+
+ /**
+ * @param answer
+ * The answer to set.
+ */
+ public void setAnswer(String answer) {
+ this.answer = answer;
+ }
+
+ /**
+ * @return Returns the answerAutosaved.
+ */
+ public String getAnswerAutosaved() {
+ return answerAutosaved;
+ }
+
+ /**
+ * @param answerAutosaved
+ * The answerAutosaved to set.
+ */
+ public void setAnswerAutosaved(String answerAutosaved) {
+ this.answerAutosaved = answerAutosaved;
+ }
+
+ /**
+ * @return Returns the attemptTime.
+ */
+ public Date getAttemptTime() {
+ return attemptTime;
+ }
+
+ /**
+ * @param attemptTime
+ * The attemptTime to set.
+ */
+ public void setAttemptTime(Date attemptTime) {
+ this.attemptTime = attemptTime;
+ }
+
+ /**
+ * @return Returns the qaQuestion.
+ */
+ public QaQueContent getQaQuestion() {
+ return qaQuestion;
+ }
+
+ /**
+ * @param qaQuestion
+ * The qaQuestion to set.
+ */
+ public void setQaQuestion(QaQueContent qaQuestion) {
+ this.qaQuestion = qaQuestion;
+ }
+
+ /**
+ * @return Returns the qaQueUsr.
+ */
+ public QaQueUsr getQaQueUser() {
+ return qaQueUser;
+ }
+
+ /**
+ * @param qaQueUsr
+ * The qaQueUsr to set.
+ */
+ public void setQaQueUser(QaQueUsr qaQueUser) {
+ this.qaQueUser = qaQueUser;
+ }
+
+ /**
+ * @return Returns the responseId.
+ */
+ public Long getResponseId() {
+ return responseId;
+ }
+
+ /**
+ * @param responseId
+ * The responseId to set.
+ */
+ public void setResponseId(Long responseId) {
+ this.responseId = responseId;
+ }
+
+ @Override
+ public int compareTo(Object o) {
+ QaUsrResp response = (QaUsrResp) o;
+
+ if (responseId == null) {
+ return -1;
+ }
+ if (response.responseId == null) {
+ return 1;
+ }
+
+ return (int) (responseId.longValue() - response.responseId.longValue());
+ }
+
+ /**
+ * @return Returns the timezone.
+ */
+ public String getTimezone() {
+ return timezone;
+ }
+
+ /**
+ * @param timezone
+ * The timezone to set.
+ */
+ public void setTimezone(String timezone) {
+ this.timezone = timezone;
+ }
+
+ /**
+ * @return Returns the visible.
+ */
+ public boolean isVisible() {
+ return visible;
+ }
+
+ /**
+ * @param visible
+ * The visible to set.
+ */
+ public void setVisible(boolean visible) {
+ this.visible = visible;
+ }
+
+ public ItemRatingDTO getItemRatingDto() {
+ return itemRatingDto;
+ }
+
+ public void setItemRatingDto(ItemRatingDTO itemRatingDto) {
+ this.itemRatingDto = itemRatingDto;
+ }
+
+ public Long getPortraitId() {
+ return portraitId;
+ }
+
+ public void setPortraitId(Long portraitId) {
+ this.portraitId = portraitId;
+ }
+
+}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java
===================================================================
diff -u -rf95c86fefb27fbad60e46af80e1a487bae53561a -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision f95c86fefb27fbad60e46af80e1a487bae53561a)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -33,13 +33,13 @@
import org.lamsfoundation.lams.tool.Tool;
import org.lamsfoundation.lams.tool.exception.DataMissingException;
import org.lamsfoundation.lams.tool.exception.ToolException;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.util.QaApplicationException;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaImportContentVersionFilter.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaImportContentVersionFilter.java (.../QaImportContentVersionFilter.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaImportContentVersionFilter.java (.../QaImportContentVersionFilter.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -23,8 +23,8 @@
package org.lamsfoundation.lams.tool.qa.service;
import org.lamsfoundation.lams.learningdesign.service.ToolContentVersionFilter;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
/**
* Import filter class for different versions of Q&A content.
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaOutputFactory.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaOutputFactory.java (.../QaOutputFactory.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaOutputFactory.java (.../QaOutputFactory.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -38,12 +38,12 @@
import org.lamsfoundation.lams.tool.ToolOutputDefinition;
import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
/**
* Output factory for Q&A tool. For conditions it provides only one type of output - a user answers represented by an
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java
===================================================================
diff -u -rf95c86fefb27fbad60e46af80e1a487bae53561a -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision f95c86fefb27fbad60e46af80e1a487bae53561a)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaService.java (.../QaService.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -63,18 +63,18 @@
import org.lamsfoundation.lams.tool.exception.DataMissingException;
import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dao.IQaContentDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaQueUsrDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaQuestionDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaSessionDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.util.QaApplicationException;
import org.lamsfoundation.lams.tool.service.ILamsToolService;
import org.lamsfoundation.lams.usermanagement.User;
Fisheye: Tag 69092337b728f903f824a74377bd0ebf9391120c refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServiceProxy.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/LearningUtil.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/LearningUtil.java (.../LearningUtil.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/LearningUtil.java (.../LearningUtil.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -29,12 +29,12 @@
import javax.servlet.http.HttpServletRequest;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dto.GeneralLearnerFlowDTO;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.web.form.QaLearningForm;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -64,7 +64,6 @@
GeneralLearnerFlowDTO generalLearnerFlowDTO = new GeneralLearnerFlowDTO();
generalLearnerFlowDTO.setActivityTitle(qaContent.getTitle());
generalLearnerFlowDTO.setActivityInstructions(qaContent.getInstructions());
- generalLearnerFlowDTO.setReportTitleLearner(qaContent.getReportTitle());
if (qaContent.isQuestionsSequenced()) {
generalLearnerFlowDTO.setQuestionListingMode(QUESTION_LISTING_MODE_SEQUENTIAL);
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaQueContentComparator.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaQueContentComparator.java (.../QaQueContentComparator.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaQueContentComparator.java (.../QaQueContentComparator.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -2,7 +2,7 @@
import java.util.Comparator;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
/**
* Comparator for QaQueContent
. Only the display order is
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaSessionComparator.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaSessionComparator.java (.../QaSessionComparator.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaSessionComparator.java (.../QaSessionComparator.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -2,7 +2,7 @@
import java.util.Comparator;
-import org.lamsfoundation.lams.tool.qa.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
/**
* McSessionComparator.
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaUtils.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaUtils.java (.../QaUtils.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/util/QaUtils.java (.../QaUtils.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -25,7 +25,6 @@
import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.lang.StringUtils;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
import org.lamsfoundation.lams.tool.qa.web.form.QaAuthoringForm;
@@ -136,8 +135,6 @@
request.getSession().removeAttribute(QaAppConstants.TOTAL_QUESTION_COUNT);
request.getSession().removeAttribute(QaAppConstants.MAP_ANSWERS);
request.getSession().removeAttribute(QaAppConstants.USER_FEEDBACK);
- request.getSession().removeAttribute(QaAppConstants.REPORT_TITLE);
- request.getSession().removeAttribute(QaAppConstants.MONITORING_REPORT_TITLE);
request.getSession().removeAttribute(QaAppConstants.REPORT_TITLE_LEARNER);
request.getSession().removeAttribute(QaAppConstants.END_LEARNING_MESSAGE);
request.getSession().removeAttribute(QaAppConstants.CHECK_ALL_SESSIONS_COMPLETED);
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaAuthoringConditionController.java
===================================================================
diff -u -re0dcf97659b72435ef0f29c69a4999847ae11d5b -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaAuthoringConditionController.java (.../QaAuthoringConditionController.java) (revision e0dcf97659b72435ef0f29c69a4999847ae11d5b)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaAuthoringConditionController.java (.../QaAuthoringConditionController.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -37,8 +37,8 @@
import org.apache.commons.lang.math.NumberUtils;
import org.lamsfoundation.lams.learningdesign.TextSearchConditionComparator;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.web.form.QaConditionForm;
import org.lamsfoundation.lams.util.MessageService;
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaAuthoringController.java
===================================================================
diff -u -r8c7616b90a856fd5d40635a57f763d3768ae8cb9 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaAuthoringController.java (.../QaAuthoringController.java) (revision 8c7616b90a856fd5d40635a57f763d3768ae8cb9)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaAuthoringController.java (.../QaAuthoringController.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -43,10 +43,10 @@
import org.lamsfoundation.lams.rating.model.RatingCriteria;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.util.AuthoringUtil;
import org.lamsfoundation.lams.tool.qa.util.QaApplicationException;
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaLearningController.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaLearningController.java (.../QaLearningController.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaLearningController.java (.../QaLearningController.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -50,13 +50,13 @@
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dto.GeneralLearnerFlowDTO;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.util.LearningUtil;
import org.lamsfoundation.lams.tool.qa.util.QaApplicationException;
@@ -211,7 +211,6 @@
generalLearnerFlowDTO.setHttpSessionID(sessionMapId);
generalLearnerFlowDTO.setToolSessionID(toolSessionID);
generalLearnerFlowDTO.setToolContentID(qaContent.getQaContentId().toString());
- generalLearnerFlowDTO.setReportTitleLearner(qaContent.getReportTitle());
generalLearnerFlowDTO.setLockWhenFinished(new Boolean(lockWhenFinished).toString());
generalLearnerFlowDTO.setNoReeditAllowed(qaContent.isNoReeditAllowed());
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaMonitoringController.java
===================================================================
diff -u -rf2ad75cef0c507a64877942631fee13efbc6ed50 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaMonitoringController.java (.../QaMonitoringController.java) (revision f2ad75cef0c507a64877942631fee13efbc6ed50)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaMonitoringController.java (.../QaMonitoringController.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -44,14 +44,14 @@
import org.lamsfoundation.lams.rating.model.LearnerItemRatingCriteria;
import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.tool.qa.QaAppConstants;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
-import org.lamsfoundation.lams.tool.qa.QaQueUsr;
-import org.lamsfoundation.lams.tool.qa.QaSession;
-import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.dto.GroupDTO;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
import org.lamsfoundation.lams.tool.qa.dto.QaStatsDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueUsr;
+import org.lamsfoundation.lams.tool.qa.model.QaSession;
+import org.lamsfoundation.lams.tool.qa.model.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.util.QaApplicationException;
import org.lamsfoundation.lams.tool.qa.util.QaSessionComparator;
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaPedagogicalPlannerController.java
===================================================================
diff -u -r8846e87b362ce07b580e3750128c5826e667f7e5 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaPedagogicalPlannerController.java (.../QaPedagogicalPlannerController.java) (revision 8846e87b362ce07b580e3750128c5826e667f7e5)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaPedagogicalPlannerController.java (.../QaPedagogicalPlannerController.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -29,8 +29,8 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.web.form.QaPedagogicalPlannerForm;
import org.lamsfoundation.lams.util.WebUtil;
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaConditionForm.java
===================================================================
diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaConditionForm.java (.../QaConditionForm.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaConditionForm.java (.../QaConditionForm.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -24,8 +24,8 @@
import java.util.Map;
-import org.lamsfoundation.lams.tool.qa.QaCondition;
import org.lamsfoundation.lams.tool.qa.dto.QaQuestionDTO;
+import org.lamsfoundation.lams.tool.qa.model.QaCondition;
import org.lamsfoundation.lams.web.form.TextSearchForm;
/**
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaPedagogicalPlannerForm.java
===================================================================
diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaPedagogicalPlannerForm.java (.../QaPedagogicalPlannerForm.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaPedagogicalPlannerForm.java (.../QaPedagogicalPlannerForm.java) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -28,8 +28,8 @@
import org.apache.commons.lang.StringUtils;
import org.lamsfoundation.lams.planner.PedagogicalPlannerActivitySpringForm;
-import org.lamsfoundation.lams.tool.qa.QaContent;
-import org.lamsfoundation.lams.tool.qa.QaQueContent;
+import org.lamsfoundation.lams.tool.qa.model.QaContent;
+import org.lamsfoundation.lams.tool.qa.model.QaQueContent;
import org.lamsfoundation.lams.util.MessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
Index: lams_tool_laqa/web/monitoring/SummaryContent.jsp
===================================================================
diff -u -r658034e7f07579dd682db62112b9353b3a0d3f65 -r69092337b728f903f824a74377bd0ebf9391120c
--- lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision 658034e7f07579dd682db62112b9353b3a0d3f65)
+++ lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision 69092337b728f903f824a74377bd0ebf9391120c)
@@ -51,7 +51,7 @@