Quelques modif et ajout de methodes dans le core

This commit is contained in:
2008-01-10 11:06:41 +00:00
parent bb8d983008
commit 2cf2c73e65
7 changed files with 213 additions and 183 deletions

View File

@@ -3,6 +3,8 @@ package org.yacos.core.article;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@@ -77,15 +79,18 @@ public class Article implements Serializable {
public Article(int reference, String title, String topic,
String url_article, String mainAuthor,
ArrayList<String> secondaryAuthor, int state) {
List<String> secondaryAuthor, int state) {
//this.id = reference;
this.title = title;
this.topic = topic;
this.URL_article = url_article;
this.mainAuthor = mainAuthor;
this.secondaryAuthors = secondaryAuthor;
if(secondaryAuthor != null){
this.secondaryAuthors = new ArrayList<String>(secondaryAuthor);
} else {
this.secondaryAuthors = new ArrayList<String>();
}
this.state = state;
secondaryAuthors = new ArrayList<String>();
referees = new ArrayList<User>();
pcMembers = new ArrayList<User>();
}

View File

@@ -71,7 +71,6 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
return (List<User>) article.getReferees();
}
public Preference getArticlePreferenceForUser(Article article,
String pcMemberLogin) {
Query query = em.createQuery("SELECT p FROM Preference p WHERE p.article.id = :articleid AND p.pcMember.id = :pcmemberlogin");
@@ -102,13 +101,30 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
User pcMember = em.find(User.class, userLogin);
preference.setPcMember(pcMember);
preference.setPreference(preferenceValue);
//c'est mal !!!
// FIXME
em.persist(preference);
}
public void addOrUpdatePreference(Preference preference){
if(existsPreference(preference)){
updatePreference(preference);
} else {
addArticlePreference(preference);
}
}
public void updatePreference(Preference preference){
em.merge(preference);
}
public boolean existsArticle(Article article) {
return em.find(Article.class, article.getId())!=null;
}
public boolean existsPreference(Preference preference) {
return em.find(Preference.class, preference.getId())!=null;
}
public EntityManager getEntityManager() {
return em;
}
}

View File

@@ -16,6 +16,9 @@ public interface IArticleManager {
public Preference getArticlePreferenceForUser(Article article, String pcMemberLogin);
public void setArticlePreferences(Article article, List<Preference> preferences);
public void addArticlePreference(Integer article_id, String userLogin, String preferenceValue);
public void addOrUpdatePreference(Preference preference);
public boolean existsArticle(Article article);
public boolean existsPreference(Preference preference);
public List<Article> getArticles();

View File

@@ -77,6 +77,13 @@ public class Preference implements Serializable {
public void setPreference(String preference) {
this.preference = preference;
}
public PreferencePK getId(){
PreferencePK id = new PreferencePK();
id.setArticle(this.article);
id.setPcMember(this.pcMember);
return id;
}
}

View File

@@ -1,7 +1,6 @@
package org.yacos.core.conferences;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

View File

@@ -13,6 +13,6 @@ public interface IUserManager {
public void removeUser(User user);
public User getUser(String login);
public void UpdateUser(User user);
public Boolean existe(User user);
public Boolean exists(User user);
}

View File

@@ -33,7 +33,7 @@ public class UserManagerBean implements IUserManager{
* @param user
*/
public void addUser(User user) throws PKAlreadyUsedException{
if (!this.existe(user)){
if (!this.exists(user)){
em.persist(user);
}
else{
@@ -58,7 +58,7 @@ public class UserManagerBean implements IUserManager{
em.merge(user);
}
public Boolean existe(User user){
public Boolean exists(User user){
return (this.getUser(user.getLogin())!= null);
}