Ajout d'une méthode pour avoir la conférence à laquelle appartient un article
This commit is contained in:
@@ -33,12 +33,12 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
|
||||
@PersistenceContext
|
||||
private EntityManager em;
|
||||
|
||||
|
||||
@Resource
|
||||
private UserTransaction ut;
|
||||
|
||||
|
||||
public ArticleManagerBean() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public Article addArticle(String title, String topic, String abstractText, String url_article,
|
||||
@@ -59,9 +59,9 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
a.setConference(conference);
|
||||
em.persist(a);
|
||||
ut.commit();
|
||||
|
||||
|
||||
addRoleForConference(mainAuthorLogin,RoleType.AUTHOR,conferenceId);
|
||||
|
||||
|
||||
return a;
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
@@ -111,7 +111,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Integer countArticle(Integer confId) {
|
||||
Query query = em.createQuery("from Article WHERE conference = ?");
|
||||
Conference conf = em.find(Conference.class, confId);
|
||||
@@ -122,7 +122,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
public Article getArticle(Integer articleId) {
|
||||
return em.find(Article.class, articleId);
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Article> getArticles(Integer confId) throws ConferenceDoesntExistException {
|
||||
if(confId == null){
|
||||
@@ -132,7 +132,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
if(conf == null){
|
||||
throw new ConferenceDoesntExistException(confId);
|
||||
}
|
||||
|
||||
|
||||
Query query = em.createQuery("from Article a WHERE a.conference = ? ORDER BY a.title");
|
||||
query.setParameter(1, conf);
|
||||
return query.getResultList();
|
||||
@@ -145,7 +145,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
query.setParameter(1, author);
|
||||
return query.getResultList();
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Article> getArticleOfAuthor(Integer confId, String authorId) {
|
||||
Conference conf = em.find(Conference.class, confId);
|
||||
@@ -155,7 +155,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
query.setParameter(2, author);
|
||||
return query.getResultList();
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Article> getArticlesOfMember(Integer confId, String memberId){
|
||||
Conference conf = em.find(Conference.class, confId);
|
||||
@@ -165,7 +165,26 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
query.setParameter(2, member);
|
||||
return query.getResultList();
|
||||
}
|
||||
|
||||
|
||||
public Conference getConferenceForArticle(Integer articleId) {
|
||||
//try {
|
||||
//ut.begin();
|
||||
Article article = em.find(Article.class, articleId);
|
||||
Conference conf = article.getConference();
|
||||
//ut.commit();
|
||||
return conf;
|
||||
/*} catch (Exception e) {
|
||||
try {
|
||||
ut.rollback();
|
||||
} catch (Exception e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;*/
|
||||
}
|
||||
|
||||
|
||||
public void assignArticleToPCMember(Integer articleId,String memberId){
|
||||
try{
|
||||
ut.begin();
|
||||
@@ -175,7 +194,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
article.getPcMembers().add(PCMember);
|
||||
}
|
||||
ut.commit();
|
||||
|
||||
|
||||
this.updateArticle(article);
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
@@ -187,8 +206,8 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
}
|
||||
//article.addPCMember(PCMember);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void unassignArticleToPCMember(Integer articleId,String memberId){
|
||||
try{
|
||||
ut.begin();
|
||||
@@ -205,14 +224,14 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public List<User> getArticlePCMembers(Integer articleId) {
|
||||
Article article = this.getArticle(articleId);
|
||||
List<User> users = (List<User>)article.getPcMembers();
|
||||
return users;
|
||||
Article article = this.getArticle(articleId);
|
||||
List<User> users = (List<User>)article.getPcMembers();
|
||||
return users;
|
||||
}
|
||||
|
||||
|
||||
public void delegateArticleToReferee(Integer articleId, String refereeId, String memberId){
|
||||
try{
|
||||
ut.begin();
|
||||
@@ -241,10 +260,10 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
User PCMember = em.find(User.class, memberId);
|
||||
User referee = em.find(User.class, refereeId);
|
||||
Query query = em.createQuery(
|
||||
"delete from Delegation where article=:article and referee=:referee and pcMember=:pcMember")
|
||||
.setParameter("article", article)
|
||||
.setParameter("referee", referee)
|
||||
.setParameter("pcMember", PCMember);
|
||||
"delete from Delegation where article=:article and referee=:referee and pcMember=:pcMember")
|
||||
.setParameter("article", article)
|
||||
.setParameter("referee", referee)
|
||||
.setParameter("pcMember", PCMember);
|
||||
@SuppressWarnings("unused")
|
||||
int affectedRows = query.executeUpdate();
|
||||
ut.commit();
|
||||
@@ -256,15 +275,15 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* gestion des preferences
|
||||
*/
|
||||
|
||||
|
||||
|
||||
public Preference addPreference(Integer article_id, String userLogin,PreferenceType preferenceType){
|
||||
try{
|
||||
ut.begin();
|
||||
@@ -287,8 +306,8 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void removePreference(Integer article_id, String userLogin){
|
||||
try{
|
||||
ut.begin();
|
||||
@@ -304,7 +323,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void updatePreference(Preference preference){
|
||||
try{
|
||||
ut.begin();
|
||||
@@ -313,13 +332,13 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
PreferencePK preferenceid = new PreferencePK();
|
||||
preferenceid.article = em.find(Article.class, articleId);
|
||||
preferenceid.pcMember = em.find(User.class, login);
|
||||
|
||||
|
||||
Preference preference2 = em.find(Preference.class, preferenceid);
|
||||
|
||||
|
||||
em.remove(preference2);
|
||||
em.persist(preference);
|
||||
ut.commit();
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
try{
|
||||
e.printStackTrace();
|
||||
@@ -341,15 +360,15 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Preference> getPreferencesForArticle(Integer article_id){
|
||||
Query query = em.createQuery("from Preference p WHERE article_id = ?");
|
||||
query.setParameter(1, article_id);
|
||||
return query.getResultList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean existsArticle(Integer articleId) {
|
||||
return em.find(Article.class, articleId)!=null;
|
||||
}
|
||||
@@ -357,11 +376,11 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
public boolean existsPreference(Preference preference) {
|
||||
return em.find(Preference.class, preference.getId())!=null;
|
||||
}
|
||||
|
||||
|
||||
public boolean hasUserRoleForConference(String userLogin, RoleType roleType, Integer conferenceId){
|
||||
Conference conference = em.find(Conference.class, conferenceId);
|
||||
User user = em.find(User.class, userLogin);
|
||||
|
||||
|
||||
RolePK rolePK = new RolePK(user,roleType,conference);
|
||||
return em.find(Role.class, rolePK)!=null;
|
||||
}
|
||||
@@ -390,7 +409,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public EntityManager getEntityManager() {
|
||||
return em;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import javax.ejb.Remote;
|
||||
|
||||
import org.yacos.core.article.Article.State;
|
||||
import org.yacos.core.article.Preference.PreferenceType;
|
||||
import org.yacos.core.conferences.Conference;
|
||||
import org.yacos.core.exceptions.ConferenceDoesntExistException;
|
||||
|
||||
|
||||
@@ -35,6 +36,11 @@ public interface IArticleManager {
|
||||
public List<Article> getArticlesOfMember(Integer confId, String memberId);
|
||||
//public List<Article> getAllArticles();
|
||||
|
||||
/*
|
||||
* return the conference which own the article
|
||||
*/
|
||||
public Conference getConferenceForArticle(Integer articleId);
|
||||
|
||||
|
||||
//gestion des preferences
|
||||
public Preference addPreference(Integer articleId, String userLogin, PreferenceType preferenceType);
|
||||
|
||||
Reference in New Issue
Block a user