Ajout du forum
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package org.yacos.core.forum;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.ejb.Remote;
|
||||
|
||||
@Remote
|
||||
public interface IMessageManager {
|
||||
|
||||
public Message addMessage(String message, String title, Integer articleId, String userLogin);
|
||||
public List<Message> getMessagesForArticle(Integer articleId);
|
||||
|
||||
}
|
||||
116
YACOSCore/ejbModule/org/yacos/core/forum/Message.java
Normal file
116
YACOSCore/ejbModule/org/yacos/core/forum/Message.java
Normal file
@@ -0,0 +1,116 @@
|
||||
package org.yacos.core.forum;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
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.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
|
||||
import org.yacos.core.article.Article;
|
||||
import org.yacos.core.users.User;
|
||||
|
||||
@Entity
|
||||
public class Message implements Serializable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -8960098137182930392L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.AUTO)
|
||||
private Integer id;
|
||||
private String message;
|
||||
private String title;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
private Date dateMessage;
|
||||
|
||||
@ManyToOne(targetEntity=Article.class)
|
||||
@JoinColumn(name="article_id",nullable=false)
|
||||
private Article article;
|
||||
|
||||
@ManyToOne(targetEntity=User.class)
|
||||
@JoinColumn(name="user_id",nullable=false)
|
||||
private User user;
|
||||
|
||||
public Message() {}
|
||||
|
||||
public Message(Integer id, String message, String title, Article article, User user) {
|
||||
this.id = id;
|
||||
this.message = message;
|
||||
this.title = title;
|
||||
this.dateMessage = new Date();
|
||||
this.article = article;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.AUTO)
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.AUTO)
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
public Date getDateMessage() {
|
||||
return dateMessage;
|
||||
}
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
public void setDateMessage(Date dateMessage) {
|
||||
this.dateMessage = dateMessage;
|
||||
}
|
||||
|
||||
@ManyToOne(targetEntity=Article.class)
|
||||
@JoinColumn(name="article_id",nullable=false)
|
||||
public Article getArticle() {
|
||||
return article;
|
||||
}
|
||||
|
||||
@ManyToOne(targetEntity=Article.class)
|
||||
@JoinColumn(name="article_id",nullable=false)
|
||||
public void setArticle(Article article) {
|
||||
this.article = article;
|
||||
}
|
||||
|
||||
@ManyToOne(targetEntity=User.class)
|
||||
@JoinColumn(name="user_id",nullable=false)
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
@ManyToOne(targetEntity=User.class)
|
||||
@JoinColumn(name="user_id",nullable=false)
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package org.yacos.core.forum;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import javax.ejb.Stateless;
|
||||
import javax.ejb.TransactionManagement;
|
||||
import javax.ejb.TransactionManagementType;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import javax.persistence.Query;
|
||||
import javax.transaction.UserTransaction;
|
||||
import org.yacos.core.article.Article;
|
||||
import org.yacos.core.users.User;
|
||||
|
||||
@Stateless
|
||||
@TransactionManagement(TransactionManagementType.BEAN)
|
||||
public class MessageManagerBean implements IMessageManager, Serializable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -2669902949630827480L;
|
||||
|
||||
@PersistenceContext
|
||||
EntityManager em;
|
||||
@Resource
|
||||
UserTransaction ut;
|
||||
|
||||
public Message addMessage(String message, String title, Integer articleId, String userLogin) {
|
||||
try {
|
||||
ut.begin();
|
||||
Message m = new Message();
|
||||
m.setMessage(message);
|
||||
m.setTitle(title);
|
||||
m.setDateMessage(new Date());
|
||||
User user = em.find(User.class, userLogin);
|
||||
m.setUser(user);
|
||||
Article a = em.find(Article.class, articleId);
|
||||
m.setArticle(a);
|
||||
em.persist(m);
|
||||
ut.commit();
|
||||
|
||||
return m;
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
ut.rollback();
|
||||
e.printStackTrace();
|
||||
} catch (Exception e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Message> getMessagesForArticle(Integer articleId) {
|
||||
Article a = em.find(Article.class, articleId);
|
||||
Query query = em.createQuery("from Message m WHERE article = ? ORDER BY m.dateMessage");
|
||||
query.setParameter(1, a);
|
||||
return query.getResultList();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user