From e469705edcb5133f088184642c1d2ed7d9408564 Mon Sep 17 00:00:00 2001 From: Maxime Dagnicourt Date: Tue, 11 Mar 2008 10:34:23 +0000 Subject: [PATCH] Policy failures: Code warning - failed on resource ArticleManagerBean.java. Reason: Type safety: The expression of type List needs unchecked conversion to conform to List, line 24 Override reason: fds --- .../core/article/ArticleManagerBean.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java b/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java index 2f7d706..4b6f635 100644 --- a/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java +++ b/YACOSCore/ejbModule/org/yacos/core/article/ArticleManagerBean.java @@ -242,14 +242,21 @@ public class ArticleManagerBean implements IArticleManager, Serializable { try{ ut.begin(); Article article = this.getArticle(articleId); - User PCMember = em.find(User.class, memberId); - User referee = em.find(User.class, refereeId); - Delegation delegation = new Delegation(); - delegation.setArticle(article); - delegation.setPcMember(PCMember); - delegation.setReferee(referee); - em.persist(delegation); - ut.commit(); + //si la delegation est déjà faite , on remplace le referee + Query q = em.createQuery("from Delegation where article = ?"); + q.setParameter(1, article); + List delegations = q.getResultList(); + if(delegations.isEmpty()){ + User PCMember = em.find(User.class, memberId); + User referee = em.find(User.class, refereeId); + Delegation delegation = new Delegation(); + delegation.setArticle(article); + delegation.setPcMember(PCMember); + delegation.setReferee(referee); + em.persist(delegation); + } + ut.commit(); + } catch (Exception e) { try{ ut.rollback();