Correction de assignToPCMembers

This commit is contained in:
2008-02-04 14:45:39 +00:00
parent 04dc03440c
commit 4e2ec038e9
2 changed files with 26 additions and 11 deletions

View File

@@ -204,15 +204,16 @@ public class Article implements Serializable {
this.pcMembers = pcMembers; this.pcMembers = pcMembers;
} }
public void assignToPCMember(User pcMember){ public void addPCMember(User pcMember){
// TODO : Checking if the User is a pcMember for this conference (not implemented yet) if(! pcMembers.contains(pcMember)){
//if(pcMember.hasRoleForConference(RoleType.PCmember, this.conference)){ pcMembers.add(pcMember);
if(! pcMembers.contains(pcMember)){ }
pcMembers.add(pcMember); }
} else {
//throw new DuplicateAssignationException(); public void removePCMember(User pcMember){
} if(pcMembers.contains(pcMember)){
//} pcMembers.remove(pcMember);
}
} }
public void delegateTo(User referee, User pcMember) { public void delegateTo(User referee, User pcMember) {

View File

@@ -18,7 +18,10 @@ import javax.persistence.Query;
import org.yacos.core.article.Article.State; import org.yacos.core.article.Article.State;
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)
@@ -105,7 +108,18 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
public void assignArticleToPCMember(Integer articleId,String memberId){ public void assignArticleToPCMember(Integer articleId,String memberId){
Article article = this.getArticle(articleId); Article article = this.getArticle(articleId);
User PCMember = em.find(User.class, memberId); User PCMember = em.find(User.class, memberId);
article.assignToPCMember(PCMember);
article.addPCMember(PCMember);
RolePK rolePK = new RolePK(PCMember,RoleType.PCMEMBER,article.getConference());
if(em.find(Role.class, rolePK)==null){
// Add the role : this should be the responsibility of ConferenceManager ...
Role pcMemberRole = new Role();
pcMemberRole.setType(RoleType.PCMEMBER);
pcMemberRole.setUser(PCMember);
pcMemberRole.setConference(article.getConference());
em.persist(pcMemberRole);
}
this.updateArticle(article); this.updateArticle(article);
} }
@@ -178,7 +192,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
preference.setPreference(preferenceValue); preference.setPreference(preferenceValue);
em.merge(preference); em.merge(preference);
} else { } else {
addArticlePreference(preference); addArticlePreference(article_id,userLogin,preferenceValue);
} }
} }