Nya dataklasser
git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@69 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
parent
24571c26c1
commit
79e27be0c8
src/main/java/se/su/dsv/scipro/data
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.BoardMessage;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface BoardMessageDao extends LazyDeleteDao<BoardMessage>{
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.HiddenMessageBoard;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface HiddenMessageBoardDao extends LazyDeleteDao<HiddenMessageBoard>{
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.BoardMessage;
|
||||
import se.su.dsv.scipro.data.dataobjects.HiddenMessage;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface HiddenMessageDao extends LazyDeleteDao<HiddenMessage>{
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.MessageBoard;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface MessageBoardDao extends LazyDeleteDao<MessageBoard>{
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.Message;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface MessageDao extends LazyDeleteDao<Message>{
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.PrivateMessage;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface PrivateMessageDao extends LazyDeleteDao<PrivateMessage>{
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.interfaces;
|
||||
|
||||
import se.su.dsv.scipro.data.dataobjects.Recipient;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public interface RecipientDao extends LazyDeleteDao<Recipient>{
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.BoardDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Board;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class BoardDaoJPAImp extends LazyDeleteAbstractDaoJPAImp<Board> implements BoardDao {
|
||||
|
||||
public BoardDaoJPAImp() {
|
||||
super(Board.class);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.BoardMessageDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.BoardMessage;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class BoardMessageJPAImp extends LazyDeleteAbstractDaoJPAImp<BoardMessage>
|
||||
implements BoardMessageDao {
|
||||
|
||||
public BoardMessageJPAImp() {
|
||||
super(BoardMessage.class);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.HiddenMessageBoardDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.HiddenMessageBoard;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class HiddenMessageBoardJPAImp extends LazyDeleteAbstractDaoJPAImp<HiddenMessageBoard>
|
||||
implements HiddenMessageBoardDao {
|
||||
|
||||
public HiddenMessageBoardJPAImp() {
|
||||
super(HiddenMessageBoard.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,20 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.HiddenMessageDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.HiddenMessage;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class HiddenMessageJPAImp extends LazyDeleteAbstractDaoJPAImp<HiddenMessage>
|
||||
implements HiddenMessageDao {
|
||||
|
||||
public HiddenMessageJPAImp() {
|
||||
super(HiddenMessage.class);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.MessageBoardDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.MessageBoard;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class MessageBoardJPAImp extends LazyDeleteAbstractDaoJPAImp<MessageBoard>
|
||||
implements MessageBoardDao {
|
||||
|
||||
public MessageBoardJPAImp() {
|
||||
super(MessageBoard.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.MessageDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Message;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class MessageJPAImp extends LazyDeleteAbstractDaoJPAImp<Message>
|
||||
implements MessageDao {
|
||||
|
||||
public MessageJPAImp() {
|
||||
super(Message.class);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.PrivateMessageDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.PrivateMessage;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class PrivateMessageJPAImp extends
|
||||
LazyDeleteAbstractDaoJPAImp<PrivateMessage> implements PrivateMessageDao {
|
||||
|
||||
public PrivateMessageJPAImp() {
|
||||
super(PrivateMessage.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dao.jpa;
|
||||
|
||||
import se.su.dsv.scipro.data.dao.interfaces.RecipientDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Recipient;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class RecipientJPAImp extends LazyDeleteAbstractDaoJPAImp<Recipient>
|
||||
implements RecipientDao {
|
||||
|
||||
public RecipientJPAImp() {
|
||||
super(Recipient.class);
|
||||
}
|
||||
}
|
95
src/main/java/se/su/dsv/scipro/data/dataobjects/Board.java
Normal file
95
src/main/java/se/su/dsv/scipro/data/dataobjects/Board.java
Normal file
@ -0,0 +1,95 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.MappedSuperclass;
|
||||
import javax.persistence.OneToOne;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
|
||||
@MappedSuperclass
|
||||
public abstract class Board extends LazyDeletableDomainObject implements Comparable<Board> {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
private String title;
|
||||
|
||||
@OneToOne
|
||||
private Project project;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public Project getProject() {
|
||||
return project;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setProject(Project project) {
|
||||
this.project = project;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((id == null) ? 0 : id.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Board other = (Board) obj;
|
||||
if (id == null) {
|
||||
if (other.id != null)
|
||||
return false;
|
||||
} else if (!id.equals(other.id))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int compareTo(Board other) {
|
||||
return title.compareTo(other.title);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import javax.persistence.Cacheable;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.Cache;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@Table(name="board_message")
|
||||
@Cacheable(true)
|
||||
@Cache(usage= CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
|
||||
public class BoardMessage extends Message{
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import javax.persistence.Cacheable;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.Cache;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@Table(name="hidden_message")
|
||||
@Cacheable(true)
|
||||
@Cache(usage= CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
|
||||
public class HiddenMessage extends Message{
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.Cacheable;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.OneToOne;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.Cache;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@Table(name = "hidden_message_board")
|
||||
@Cacheable(true)
|
||||
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
|
||||
public class HiddenMessageBoard extends Board {
|
||||
@OneToMany
|
||||
private List<HiddenMessage> hiddenMessageList = new ArrayList<HiddenMessage>();
|
||||
|
||||
public List<HiddenMessage> getHiddenMessageList() {
|
||||
return hiddenMessageList;
|
||||
}
|
||||
|
||||
public void setHiddenMessageList(List<HiddenMessage> hiddenMessageList) {
|
||||
this.hiddenMessageList = hiddenMessageList;
|
||||
}
|
||||
|
||||
|
||||
}
|
86
src/main/java/se/su/dsv/scipro/data/dataobjects/Message.java
Normal file
86
src/main/java/se/su/dsv/scipro/data/dataobjects/Message.java
Normal file
@ -0,0 +1,86 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.ManyToOne;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class Message extends LazyDeletableDomainObject implements Comparable<Message> {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
private String title;
|
||||
|
||||
@Lob
|
||||
private String message;
|
||||
|
||||
@ManyToOne(optional=false)
|
||||
private User user;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Message o) {
|
||||
return getDateCreated().compareTo(o.getDateCreated());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((id == null) ? 0 : id.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Message other = (Message) obj;
|
||||
if (id == null) {
|
||||
if (other.id != null)
|
||||
return false;
|
||||
} else if (!id.equals(other.id))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.Cacheable;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.hibernate.annotations.Cache;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@Table(name="message_board")
|
||||
@Cacheable(true)
|
||||
@Cache(usage= CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
|
||||
public class MessageBoard extends Board {
|
||||
|
||||
|
||||
@OneToMany
|
||||
private List<BoardMessage> boardMessageList = new ArrayList<BoardMessage>();
|
||||
|
||||
public List<BoardMessage> getBoardMessageList() {
|
||||
return boardMessageList;
|
||||
}
|
||||
|
||||
public void setBoardMessageList(List<BoardMessage> boardMessageList) {
|
||||
this.boardMessageList = boardMessageList;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class PrivateMessage extends LazyDeletableDomainObject implements Comparable<PrivateMessage>{
|
||||
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
private String title;
|
||||
|
||||
@Lob
|
||||
private String message;
|
||||
|
||||
@ManyToOne(optional=false)
|
||||
private User fromUser;
|
||||
|
||||
@OneToMany
|
||||
private List<Recipient> recipientList = new ArrayList<Recipient>();
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
|
||||
public User getFromUser() {
|
||||
return fromUser;
|
||||
}
|
||||
|
||||
|
||||
public void setFromUser(User fromUser) {
|
||||
this.fromUser = fromUser;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<Recipient> getRecipientList() {
|
||||
return recipientList;
|
||||
}
|
||||
|
||||
|
||||
public void setRecipientList(List<Recipient> recipientList) {
|
||||
this.recipientList = recipientList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int compareTo(PrivateMessage o) {
|
||||
return getDateCreated().compareTo(o.getDateCreated());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package se.su.dsv.scipro.data.dataobjects;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.ManyToOne;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class Recipient extends LazyDeletableDomainObject {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
@ManyToOne
|
||||
private User user;
|
||||
|
||||
private Date dateRead;
|
||||
|
||||
@Override
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public Date getDateRead() {
|
||||
return dateRead;
|
||||
}
|
||||
|
||||
public void setDateRead(Date dateRead) {
|
||||
this.dateRead = dateRead;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((id == null) ? 0 : id.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Recipient other = (Recipient) obj;
|
||||
if (id == null) {
|
||||
if (other.id != null)
|
||||
return false;
|
||||
} else if (!id.equals(other.id))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user