package pl.net.bluesoft.rnd.processtool.model.processdata;
import org.aperteworkflow.search.ProcessInstanceSearchAttribute;
import org.aperteworkflow.search.Searchable;
import pl.net.bluesoft.rnd.processtool.model.ProcessInstanceAttribute;
import javax.persistence.*;
import java.util.*;
/**
* @author tlipski@bluesoft.net.pl
*/
@Entity
@Table(name="pt_process_comments")
public class ProcessComments extends ProcessInstanceAttribute implements Searchable {
@OneToMany(cascade = {CascadeType.ALL})
@JoinColumn(name="comments_id")
private Set<ProcessComment> comments;
public Set<ProcessComment> getComments() {
if (comments == null)
comments = new HashSet<ProcessComment>();
return comments;
}
public void setComments(Set<ProcessComment> comments) {
this.comments = comments;
}
@Override
public Collection<ProcessInstanceSearchAttribute> getAttributes() {
List<ProcessInstanceSearchAttribute> attrs = new ArrayList<ProcessInstanceSearchAttribute>();
for (ProcessComment pc : comments) {
attrs.add(new ProcessInstanceSearchAttribute("comment_body", pc.getBody()));
attrs.add(new ProcessInstanceSearchAttribute("comment_title", pc.getComment()));
}
return attrs;
}
}