From 1d6cf6a58650d7123f1ca21d9462006d0436f39f Mon Sep 17 00:00:00 2001 From: Maxime Dagnicourt Date: Mon, 11 Feb 2008 16:44:28 +0000 Subject: [PATCH] Policy failures: Code warning - failed on resource ArticleManagerBean.java. Reason: The import javax.transaction.HeuristicMixedException is never used, line 15 - failed on resource ArticleManagerBean.java. Reason: The import javax.transaction.HeuristicRollbackException is never used, line 16 - failed on resource ArticleManagerBean.java. Reason: The import javax.transaction.NotSupportedException is never used, line 17 - failed on resource ArticleManagerBean.java. Reason: The import javax.transaction.RollbackException is never used, line 18 - failed on resource ArticleManagerBean.java. Reason: The import javax.transaction.SystemException is never used, line 19 ... and more. Override reason: n --- .../core/article/ArticleManagerBean.java | 52 +++++++++++++++---- .../yacos/core/article/IArticleManager.java | 2 + 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java index 2e84e63..ed8ce5a 100644 --- a/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java @@ -148,8 +148,13 @@ public class ArticleManagerBean implements IArticleManager, Serializable { } public List
getArticlesOfMember(Integer confId, String memberId){ - //TODO - return null; + + Conference conf = em.find(Conference.class, confId); + User member = em.find(User.class, memberId); + Query query = em.createQuery("from Article a join a.pcMembers m WHERE a.conference = ? and m = ? ORDER BY a.title"); + query.setParameter(1, conf); + query.setParameter(2, member); + return query.getResultList(); } public void assignArticleToPCMember(Integer articleId,String memberId){ @@ -170,15 +175,26 @@ public class ArticleManagerBean implements IArticleManager, Serializable { } //article.addPCMember(PCMember); } - + + public void unassignArticleToPCMember(Integer articleId,String memberId){ - Article article = this.getArticle(articleId); - User PCMember = em.find(User.class, memberId); - article.getPcMembers().remove(PCMember); - //article.removePCMember(PCMember); - this.updateArticle(article); + try{ + ut.begin(); + Article article = this.getArticle(articleId); + User PCMember = em.find(User.class, memberId); + article.getPcMembers().remove(PCMember); + ut.commit(); + this.updateArticle(article); + } catch (Exception e) { + try{ + ut.rollback(); + } catch (Exception e1) { + e1.printStackTrace(); + } + } } + public List getArticlePCMembers(Integer articleId) { Article article = this.getArticle(articleId); List users = (List)article.getPcMembers(); @@ -192,6 +208,10 @@ public class ArticleManagerBean implements IArticleManager, Serializable { article.delegateTo(referee,PCMember); } + public void undelegateArticleToReferee(Integer articleId, String refereeId, String memberId){ + //TODO + } + @@ -242,11 +262,21 @@ public class ArticleManagerBean implements IArticleManager, Serializable { public void updatePreference(Preference preference){ try{ ut.begin(); - Preference persistedPreference = em.find(Preference.class, preference.getId()); - persistedPreference.setPreferenceType(preference.getPreferenceType()); - ut.commit(); + int articleId = preference.getArticle().getId(); + String login = preference.getPcMember().getLogin(); + 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(); ut.rollback(); } catch (Exception e1) { e1.printStackTrace(); diff --git a/YACOSCore/ejbModule/org/yacos/core/article/IArticleManager.java b/YACOSCore/ejbModule/org/yacos/core/article/IArticleManager.java index b7bfb96..c12cf8b 100644 --- a/YACOSCore/ejbModule/org/yacos/core/article/IArticleManager.java +++ b/YACOSCore/ejbModule/org/yacos/core/article/IArticleManager.java @@ -39,7 +39,9 @@ public interface IArticleManager { //delegation public void assignArticleToPCMember(Integer articleId,String memberId); + public void unassignArticleToPCMember(Integer articleId,String memberId); public void delegateArticleToReferee(Integer articleId, String refereeId, String memberId); + public void undelegateArticleToReferee(Integer articleId, String refereeId, String memberId); public boolean existsArticle(Integer articleId); public boolean existsPreference(Preference preference);