Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
diff -u -r00f75ded110f8d6b81bebbcbdc625a5d30b195b2 -rd5d38057e102e214efbc365d07fed0837c936ada
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 00f75ded110f8d6b81bebbcbdc625a5d30b195b2)
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision d5d38057e102e214efbc365d07fed0837c936ada)
@@ -22,7 +22,12 @@
classpath*:org/eucm/lams/**/*.hbm.xml
-
+
+
+ org.lamsfoundation.lams.learningdesign
+ org.lamsfoundation.lams.tool.**.model
+
+
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/BranchCondition.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rd5d38057e102e214efbc365d07fed0837c936ada
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/BranchCondition.java (.../BranchCondition.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/BranchCondition.java (.../BranchCondition.java) (revision d5d38057e102e214efbc365d07fed0837c936ada)
@@ -22,6 +22,15 @@
package org.lamsfoundation.lams.learningdesign;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+import javax.persistence.Table;
+
import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
@@ -39,7 +48,10 @@
*
* There should be one branch condition for each ToolOutputBranchActivityEntry.
*/
-public class BranchCondition implements Comparable {
+@Entity
+@Table(name = "lams_branch_condition")
+@Inheritance(strategy = InheritanceType.JOINED)
+public class BranchCondition implements Comparable {
public static final String OUTPUT_TYPE_STRING = "OUTPUT_STRING";
@@ -53,14 +65,33 @@
private static Logger log = Logger.getLogger(BranchCondition.class);
+ @Id
+ @Column(name = "condition_id")
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
protected Long conditionId;
+
+ @Column(name = "condition_ui_id")
protected Integer conditionUIID;
+
+ @Column(name = "order_id")
protected Integer orderId;
+
+ @Column
protected String name;
+
+ @Column(name = "display_name")
protected String displayName;
+
+ @Column
protected String type;
+
+ @Column(name = "start_value")
protected String startValue;
+
+ @Column(name = "end_value")
protected String endValue;
+
+ @Column(name = "exact_match_value")
protected String exactMatchValue;
/** default constructor */
@@ -197,8 +228,7 @@
}
@Override
- public int compareTo(Object arg0) {
- BranchCondition other = (BranchCondition) arg0;
+ public int compareTo(BranchCondition other) {
return new CompareToBuilder().append(orderId, other.getOrderId()).append(conditionId, other.getConditionId())
.append(name, other.getName()).append(conditionUIID, other.getConditionUIID()).toComparison();
}
@@ -289,7 +319,7 @@
if (posPeriod > 0) {
textValue = textValue.substring(0, posPeriod);
}
- return new Long(textValue);
+ return Long.valueOf(textValue);
}
/**
@@ -340,7 +370,7 @@
return false;
}
- private Comparable getTypedValue(String untypedValue) {
+ private Comparable> getTypedValue(String untypedValue) {
if (BranchCondition.OUTPUT_TYPE_LONG.equals(type)) {
return convertToLong(untypedValue);
} else if (BranchCondition.OUTPUT_TYPE_DOUBLE.equals(type)) {
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/TextSearchCondition.java
===================================================================
diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rd5d38057e102e214efbc365d07fed0837c936ada
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/TextSearchCondition.java (.../TextSearchCondition.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/TextSearchCondition.java (.../TextSearchCondition.java) (revision d5d38057e102e214efbc365d07fed0837c936ada)
@@ -27,8 +27,12 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
import org.lamsfoundation.lams.learningdesign.dto.TextSearchConditionDTO;
import org.lamsfoundation.lams.tool.ToolOutput;
@@ -39,24 +43,30 @@
* @author Marcin Cieslak
*
*/
+@Entity
+@Table(name = "lams_text_search_condition")
public class TextSearchCondition extends BranchCondition implements Cloneable {
// ---- persistent fields -------
/**
* All the words from this string should be found in the tool output.
*/
+ @Column(name = "text_search_all_words")
protected String allWords;
/**
* The whole phrase from this string should be found in the tool output.
*/
+ @Column(name = "text_search_phrase")
protected String phrase;
/**
* At least one of the words from this string should be found in the tool output.
*/
+ @Column(name = "text_search_any_words")
protected String anyWords;
/**
* None of the words from this string should be found in the tool output.
*/
+ @Column(name = "text_search_excluded_words")
protected String excludedWords;
// ---- non-persistent fields ----------
@@ -78,27 +88,31 @@
protected static final int PATTERN_MATCHING_OPTIONS = Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
| Pattern.MULTILINE;
- private static Logger log = Logger.getLogger(TextSearchCondition.class);
/**
* Were the strings provided by user parsed into practical collections of words.
*/
+ @Transient
protected boolean conditionsParsed = false;
/**
* Property {@link #allWords} divided into words.
*/
+ @Transient
protected List allWordsCondition = new ArrayList<>();
/**
* Property {@link #phrase} divided into words. Although we are looking for the whole phrase, spaces between words
* should be divided into something more regex'y.
*/
+ @Transient
protected List phraseCondition;
/**
* Property {@link #anyWords} divided into words.
*/
+ @Transient
protected List anyWordsCondition = new ArrayList<>();
/**
* Property {@link #excludedWords} divided into words.
*/
+ @Transient
protected List excludedWordsCondition = new ArrayList<>();
public TextSearchCondition() {
Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java
===================================================================
diff -u -r4f55bd929d94e4cfc74607e6b992bc3a35ce25c8 -rd5d38057e102e214efbc365d07fed0837c936ada
--- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java (.../Chat.java) (revision 4f55bd929d94e4cfc74607e6b992bc3a35ce25c8)
+++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java (.../Chat.java) (revision d5d38057e102e214efbc365d07fed0837c936ada)
@@ -34,9 +34,9 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
-import javax.persistence.Transient;
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.learningdesign.TextSearchConditionComparator;
@@ -100,9 +100,8 @@
@OneToMany(mappedBy = "chat", cascade = CascadeType.ALL)
private Set chatSessions = new HashSet();
- // @OneToMany(cascade = CascadeType.ALL)
- // @JoinTable(name = "tl_lachat11_conditions", joinColumns = @JoinColumn(name = "content_uid"), inverseJoinColumns = @JoinColumn(name = "condition_id"))
- @Transient
+ @OneToMany(cascade = CascadeType.ALL)
+ @JoinColumn(name = "content_uid")
private Set conditions = new TreeSet(new TextSearchConditionComparator());
public Chat() {
Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/ChatCondition.java
===================================================================
diff -u -r4f55bd929d94e4cfc74607e6b992bc3a35ce25c8 -rd5d38057e102e214efbc365d07fed0837c936ada
--- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/ChatCondition.java (.../ChatCondition.java) (revision 4f55bd929d94e4cfc74607e6b992bc3a35ce25c8)
+++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/ChatCondition.java (.../ChatCondition.java) (revision d5d38057e102e214efbc365d07fed0837c936ada)
@@ -4,6 +4,9 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
import org.lamsfoundation.lams.learningdesign.BranchCondition;
import org.lamsfoundation.lams.learningdesign.LearningDesign;
import org.lamsfoundation.lams.learningdesign.TextSearchCondition;
@@ -20,10 +23,9 @@
*
* @author Marcin Cieslak
*
- *
- * @Entity
- * @Table(name = "tl_lachat11_conditions")
*/
+@Entity
+@Table(name = "tl_lachat11_conditions")
public class ChatCondition extends TextSearchCondition {
public ChatCondition() {