This commit is contained in:
Maxime Dagnicourt
2008-01-17 13:34:43 +00:00
parent a6a9468241
commit 035322d75f
3 changed files with 61 additions and 21 deletions

View File

@@ -32,7 +32,11 @@ public class Article implements Serializable {
private String title;
private String topic;
private String URL_article;
private String mainAuthor;
//@ManyToOne(targetEntity=Conference.class)
//@JoinColumn(name="mainAuthor",nullable=false)
private User mainAuthor;
private ArrayList<String> secondaryAuthors;
/**
@@ -77,9 +81,9 @@ public class Article implements Serializable {
secondaryAuthors = new ArrayList<String>();
}
public Article(int reference, String title, String topic,
String url_article, String mainAuthor,
List<String> secondaryAuthor, int state) {
public Article(String title, String topic,
String url_article, User mainAuthor,
List<String> secondaryAuthor, int state, Conference conference) {
//this.id = reference;
this.title = title;
this.topic = topic;
@@ -93,6 +97,7 @@ public class Article implements Serializable {
this.state = state;
referees = new ArrayList<User>();
pcMembers = new ArrayList<User>();
this.conference = conference;
}
@Id
@@ -129,11 +134,15 @@ public class Article implements Serializable {
URL_article = url_article;
}
public String getMainAuthor() {
@ManyToOne(targetEntity=User.class)
@JoinColumn(name="mainAuthor",nullable=false)
public User getMainAuthor() {
return mainAuthor;
}
public void setMainAuthor(String mainAuthor) {
@ManyToOne(targetEntity=User.class)
@JoinColumn(name="mainAuthor",nullable=false)
public void setMainAuthor(User mainAuthor) {
this.mainAuthor = mainAuthor;
}
@@ -213,13 +222,13 @@ public class Article implements Serializable {
}
}
}
@ManyToOne(targetEntity=Conference.class)
@JoinColumn(name="conference_id",nullable=false)
public Conference getConference(){
return conference;
}
@ManyToOne(targetEntity=Conference.class)
@JoinColumn(name="conference_id",nullable=false)
public void setConference(Conference conference){
this.conference = conference;
}

View File

@@ -7,8 +7,9 @@ import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.yacos.core.conferences.Conference;
import org.yacos.core.users.User;
@Stateless
@@ -26,18 +27,13 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
}
public Article addArticle(int reference, String title, String topic,String url_article,
String mainAuthor, List<String> secondaryAuthor, int state) {
Article a = new Article(reference, title, topic, url_article, mainAuthor, secondaryAuthor, state);
public Article addArticle(String title, String topic,String url_article,
User mainAuthor, List<String> secondaryAuthor, int state,Conference conference) {
Article a = new Article(title, topic, url_article, mainAuthor, secondaryAuthor, state, conference);
em.persist(a);
return a;
}
@SuppressWarnings("unchecked")
public List<Article> getArticles() {
return em.createQuery("from Article a ORDER BY a.title").getResultList();
}
public void updateArticle(Article article) {
em.merge(article);
@@ -52,6 +48,26 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
return em.find(Article.class, id);
}
@SuppressWarnings("unchecked")
public List<Article> getArticles(Conference conf) {
Query query = em.createQuery("from Article a WHERE conference = ? ORDER BY a.title");
query.setParameter(1, conf);
return query.getResultList();
}
@SuppressWarnings("unchecked")
public List<Article> getArticleOfAuthor(Conference conf, User author) {
Query query = em.createQuery("from Article a WHERE conference = ? and mainAuthor = ? ORDER BY a.title");
query.setParameter(1, conf);
query.setParameter(2, author);
return query.getResultList();
}
public List<Article> getArticlesOfMember(Conference conf, User member){
//TODO
return null;
}
public void assignArticleToPCMember(Article article,User pcMember){
article.assignToPCMember(pcMember);
em.flush();

View File

@@ -1,27 +1,42 @@
package org.yacos.core.article;
import java.util.List;
import javax.ejb.Remote;
import org.yacos.core.conferences.Conference;
import org.yacos.core.users.User;
@Remote
public interface IArticleManager {
public Article getArticle(Integer id);
public Article addArticle(int reference, String title, String topic,String url_article,
String mainAuthor, List<String> secondaryAuthor, int state);
public Article addArticle(String title, String topic,String url_article,
User mainAuthor, List<String> secondaryAuthor, int state,Conference conference);
public void removeArticle(Article a);
public void updateArticle(Article article);
public List<Article> getArticles();
//liste d'articles
//public List<Article> getArticles();
public List<Article> getArticles(Conference conf);
public List<Article> getArticleOfAuthor(Conference conf, User Author);
public List<Article> getArticlesOfMember(Conference conf, User member);
//FIXME a d<>placer dans user??
public List<?> getArticlePCMembers(Article article);
public List<?> getArticleReferees(Article article);
public Preference getArticlePreferenceForUser(Integer article_id, String pcMemberLogin);
public void setArticlePreferences(Article article, List<Preference> preferences);
public void addArticlePreference(Integer article_id, String userLogin, String preferenceValue);
public void addOrUpdatePreference(Integer article_id, String userLogin, String preferenceValue);
//FIXME interet ?
public boolean existsArticle(Article article);
public boolean existsPreference(Preference preference);
}