Nya dataklasser

git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@69 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
joha-asc 2011-02-07 13:53:02 +00:00
parent 24571c26c1
commit 79e27be0c8
23 changed files with 725 additions and 0 deletions

@ -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);
}
}

@ -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;
}
}

@ -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;
}
}