Policy failures:

Code warning
- failed on resource IArticleManager.java. Reason: The import org.yacos.core.users.User is never used, line 1
Override reason:   
d
This commit is contained in:
Maxime Dagnicourt
2008-02-05 13:51:53 +00:00
parent 8e8ae0f140
commit 562b1cdcf7
3 changed files with 62 additions and 67 deletions

View File

@@ -3,8 +3,6 @@ package org.yacos.core.article;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import javax.annotation.Resource;
import javax.ejb.SessionContext;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.ejb.TransactionManagement; import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType; import javax.ejb.TransactionManagementType;
@@ -12,13 +10,12 @@ import javax.persistence.EntityManager;
import javax.persistence.NoResultException; import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContext;
import javax.persistence.Query; import javax.persistence.Query;
import org.yacos.core.article.Article.State; import org.yacos.core.article.Article.State;
import org.yacos.core.article.Preference.PreferenceType;
import org.yacos.core.conferences.Conference; import org.yacos.core.conferences.Conference;
import org.yacos.core.exceptions.ConferenceDoesntExistException; import org.yacos.core.exceptions.ConferenceDoesntExistException;
import org.yacos.core.users.Role;
import org.yacos.core.users.RolePK;
import org.yacos.core.users.User; import org.yacos.core.users.User;
import org.yacos.core.users.Role.RoleType;
@Stateless @Stateless
@TransactionManagement(TransactionManagementType.CONTAINER) @TransactionManagement(TransactionManagementType.CONTAINER)
@@ -32,9 +29,6 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
@PersistenceContext @PersistenceContext
private EntityManager em; private EntityManager em;
@Resource
private SessionContext sc;
public ArticleManagerBean() { public ArticleManagerBean() {
} }
@@ -51,7 +45,6 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
a.setState(state); a.setState(state);
Conference conference = em.find(Conference.class, conferenceId); Conference conference = em.find(Conference.class, conferenceId);
a.setConference(conference); a.setConference(conference);
em.persist(a); em.persist(a);
return a; return a;
} }
@@ -108,6 +101,12 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
this.updateArticle(article); this.updateArticle(article);
} }
public void unassignArticleToPCMember(Integer articleId,String memberId){
Article article = this.getArticle(articleId);
User PCMember = em.find(User.class, memberId);
article.removePCMember(PCMember);
this.updateArticle(article);
}
public List<User> getArticlePCMembers(Integer articleId) { public List<User> getArticlePCMembers(Integer articleId) {
Article article = this.getArticle(articleId); Article article = this.getArticle(articleId);
@@ -122,13 +121,38 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
article.delegateTo(referee,PCMember); article.delegateTo(referee,PCMember);
} }
public List<User> getArticleReferees(Integer articleId) {
Article article = this.getArticle(articleId);
return (List<User>) article.getReferees();
/*
* gestion des preferences
*/
public Preference addPreference(Integer article_id, String userLogin,PreferenceType preferenceType){
Preference preference = new Preference();
Article article = getArticle(article_id);
preference.setArticle(article);
User pcMember = em.find(User.class, userLogin);
preference.setPcMember(pcMember);
preference.setPreferenceType(preferenceType);
em.persist(preference);
em.flush();
return preference;
} }
public Preference getArticlePreferenceForUser(Integer article_id,
String pcMemberLogin) { public void removePreference(Integer article_id, String userLogin){
Preference pref = this.getPreferenceForUserAndArticle(article_id, userLogin);
em.remove(pref);
}
public void updatePreference(Preference preference){
em.merge(preference);
em.flush();
}
public Preference getPreferenceForUserAndArticle(Integer article_id, String pcMemberLogin){
PreferencePK preferenceid = new PreferencePK(); PreferencePK preferenceid = new PreferencePK();
preferenceid.article = em.find(Article.class, article_id); preferenceid.article = em.find(Article.class, article_id);
preferenceid.pcMember = em.find(User.class, pcMemberLogin); preferenceid.pcMember = em.find(User.class, pcMemberLogin);
@@ -139,47 +163,13 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
} }
} }
public void setArticlePreferences(Article article, @SuppressWarnings("unchecked")
List<Preference> preferences) { public List<Preference> getPreferencesForArticle(Integer article_id){
article.setPreferences(preferences); Query query = em.createQuery("from Preference p WHERE article_id = ?");
query.setParameter(1, article_id);
return query.getResultList();
} }
public void addArticlePreference(Preference preference) {
if(! em.contains(preference)){
em.persist(preference);
}
}
public void addArticlePreference(Integer article_id, String userLogin, String preferenceValue) {
Preference preference = new Preference();
Article article = getArticle(article_id);
preference.setArticle(article);
User pcMember = em.find(User.class, userLogin);
preference.setPcMember(pcMember);
preference.setPreference(preferenceValue);
em.persist(preference);
em.flush();
}
public void updateArticlePreference(Integer article_id, String userLogin, String preferenceValue) {
Preference preference = getArticlePreferenceForUser(article_id, userLogin);
preference.setPreference(preferenceValue);
em.merge(preference);
}
public void addOrUpdatePreference(Integer article_id, String userLogin, String preferenceValue){
Preference preference = getArticlePreferenceForUser(article_id, userLogin);
if(preference != null){
preference.setPreference(preferenceValue);
em.merge(preference);
} else {
addArticlePreference(article_id,userLogin,preferenceValue);
}
}
public void updatePreference(Preference preference){
em.merge(preference);
}
public boolean existsArticle(Integer articleId) { public boolean existsArticle(Integer articleId) {
return em.find(Article.class, articleId)!=null; return em.find(Article.class, articleId)!=null;
@@ -192,4 +182,6 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
public EntityManager getEntityManager() { public EntityManager getEntityManager() {
return em; return em;
} }
} }

View File

@@ -5,6 +5,7 @@ import java.util.List;
import javax.ejb.Remote; import javax.ejb.Remote;
import org.yacos.core.article.Article.State; import org.yacos.core.article.Article.State;
import org.yacos.core.article.Preference.PreferenceType;
import org.yacos.core.exceptions.ConferenceDoesntExistException; import org.yacos.core.exceptions.ConferenceDoesntExistException;
import org.yacos.core.users.User; import org.yacos.core.users.User;
@@ -28,15 +29,13 @@ public interface IArticleManager {
public List<Article> getArticlesOfMember(Integer confId, String memberId); public List<Article> getArticlesOfMember(Integer confId, String memberId);
//public List<Article> getAllArticles(); //public List<Article> getAllArticles();
//FIXME a d<>placer dans user??
public List<User> getArticlePCMembers(Integer articleId);
public List<User> getArticleReferees(Integer articleId);
//gestion des preferences
public Preference getArticlePreferenceForUser(Integer article_id, String pcMemberLogin); public Preference addPreference(Integer articleId, String userLogin, PreferenceType preferenceType);
public void setArticlePreferences(Article article, List<Preference> preferences); public void updatePreference(Preference preference);
public void addArticlePreference(Integer article_id, String userLogin, String preferenceValue); public void removePreference(Integer articleId, String userLogin);
public void addOrUpdatePreference(Integer article_id, String userLogin, String preferenceValue); public Preference getPreferenceForUserAndArticle(Integer articleId, String pcMemberLogin);
public List<Preference> getPreferencesForArticle(Integer articleId);
//delegation //delegation
public void assignArticleToPCMember(Integer articleId,String memberId); public void assignArticleToPCMember(Integer articleId,String memberId);

View File

@@ -37,7 +37,11 @@ public class Preference implements Serializable {
@JoinColumn(name="article_id",nullable=false) @JoinColumn(name="article_id",nullable=false)
private Article article; private Article article;
private String preference; public enum PreferenceType {
LIKE,INDIFFERENT,DISLIKE,CONFLICT
}
private PreferenceType preferenceType;
/** /**
* @return the pcMember * @return the pcMember
@@ -71,11 +75,11 @@ public class Preference implements Serializable {
public void setArticle(Article article) { public void setArticle(Article article) {
this.article = article; this.article = article;
} }
public String getPreference() { public PreferenceType getPreference() {
return preference; return preferenceType;
} }
public void setPreference(String preference) { public void setPreferenceType(PreferenceType preferenceType) {
this.preference = preference; this.preferenceType = preferenceType;
} }
public PreferencePK getId(){ public PreferencePK getId(){