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;
}
public void assignToPCMember(User pcMember){
// TODO : Checking if the User is a pcMember for this conference (not implemented yet)
//if(pcMember.hasRoleForConference(RoleType.PCmember, this.conference)){
public void addPCMember(User 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) {

View File

@@ -18,7 +18,10 @@ import javax.persistence.Query;
import org.yacos.core.article.Article.State;
import org.yacos.core.conferences.Conference;
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.Role.RoleType;
@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
@@ -105,7 +108,18 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
public void assignArticleToPCMember(Integer articleId,String memberId){
Article article = this.getArticle(articleId);
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);
}
@@ -178,7 +192,7 @@ public class ArticleManagerBean implements IArticleManager, Serializable {
preference.setPreference(preferenceValue);
em.merge(preference);
} else {
addArticlePreference(preference);
addArticlePreference(article_id,userLogin,preferenceValue);
}
}