diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/userBoard.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/userBoard.jsp index a0e77ba..9f11cf8 100644 --- a/YACOSWeb/WebContent/WEB-INF/jsp/userBoard.jsp +++ b/YACOSWeb/WebContent/WEB-INF/jsp/userBoard.jsp @@ -183,6 +183,14 @@ function showArticleReferee() { ${article.title} + + + Delegated to:
+ + ${referee.firstName} ${referee.lastName}
+
+
+ To evaluate @@ -194,10 +202,13 @@ function showArticleReferee() { Accepted - + + +
+ - ${listConfForArticlePcMember[i.index].title} + ${article.conference.title} ">DownloadDownload @@ -267,7 +278,7 @@ function showArticleReferee() { - ${listConfForArticleReferee[i.index].title} + ${article.conference.title} ">DownloadDownload @@ -337,7 +348,7 @@ function showArticleReferee() { - ${listConfForArticle[i.index].title} + ${article.conference.title} ">DownloadDownload diff --git a/YACOSWeb/src/org/yacos/web/system/controller/UserBoardController.java b/YACOSWeb/src/org/yacos/web/system/controller/UserBoardController.java index dd5004d..bf89814 100644 --- a/YACOSWeb/src/org/yacos/web/system/controller/UserBoardController.java +++ b/YACOSWeb/src/org/yacos/web/system/controller/UserBoardController.java @@ -20,8 +20,10 @@ import org.yacos.core.conferences.IConferenceManager; import org.yacos.core.evaluation.IEvaluationManager; import org.yacos.core.users.IUserManager; import org.yacos.core.users.Role; +import org.yacos.core.users.User; import org.yacos.core.users.Role.RoleType; import org.yacos.web.system.controller.NoConferenceSelectedException; +import org.yacos.web.system.form.UserBoardArticleBean; import org.yacos.web.system.session.SessionService; public class UserBoardController extends SimpleFormController { @@ -101,15 +103,33 @@ public class UserBoardController extends SimpleFormController { List
listAllArticle = articleManager.getArticleOfAuthor(SessionService.getInstance().getCurrentUserLogin()); Integer numberArticle = listAllArticle.size(); + // create Article bean from Article object + List listAllArticleBean = new ArrayList(); + + for (Article a : listAllArticle) { + UserBoardArticleBean ab = new UserBoardArticleBean(); + ab.setAbstractText(a.getAbstractText()); + ab.setTitle(a.getTitle()); + ab.setTopic(a.getTopic()); + ab.setId(a.getId()); + ab.setState(a.getState()); + ab.setSecondaryAuthors(a.getSecondaryAuthors()); + ab.setURL_article(a.getURL_article()); + ab.setConference(articleManager.getConferenceForArticle(a.getId())); + listAllArticleBean.add(ab); + } + + + //Map listConfForArticle = new HashMap(); - List listConfForArticle = new ArrayList(); + /*List listConfForArticle = new ArrayList(); for (Article a : listAllArticle) { listConfForArticle.add(articleManager.getConferenceForArticle(a.getId())); } - model.put("listConfForArticle", listConfForArticle); + model.put("listConfForArticle", listConfForArticle);*/ model.put("numberArticle", numberArticle); - model.put("listAllArticle", listAllArticle); + model.put("listAllArticle", listAllArticleBean); logger.info("Get the list of conferences of an user"); List listConfForUser = conferenceManager.getConferences(SessionService.getInstance().getCurrentUser()); @@ -120,37 +140,55 @@ public class UserBoardController extends SimpleFormController { logger.info("Get the list of article of all the conference for the user in PCMember"); List
listArticlePCMember = new ArrayList
(); List
listArticleReferee; + List listArticlePCMemberBean = new ArrayList(); + List listArticleRefereeBean = new ArrayList(); List listConfPCMember = new ArrayList(); - List listConfReferee = new ArrayList(); for (Conference c : listConfForUser) { if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.PCMEMBER, c.getId())) listConfPCMember.add(c); - else if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.REFEREE, c.getId())) - listConfReferee.add(c); } for (Conference c : listConfPCMember) { listArticlePCMember.addAll(articleManager.getArticlesOfMember(c.getId(), SessionService.getInstance().getCurrentUserLogin())); } + for (Article a : listArticlePCMember) { + UserBoardArticleBean ab = new UserBoardArticleBean(); + ab.setAbstractText(a.getAbstractText()); + ab.setTitle(a.getTitle()); + ab.setTopic(a.getTopic()); + ab.setId(a.getId()); + ab.setState(a.getState()); + ab.setSecondaryAuthors(a.getSecondaryAuthors()); + ab.setURL_article(a.getURL_article()); + ab.setConference(articleManager.getConferenceForArticle(a.getId())); + List referee = userManager.getRefereesOfPcMemberForArticle(SessionService.getInstance().getCurrentUserLogin(), a.getId()); + if (referee != null) + ab.setReferee(referee); + else + ab.setReferee(null); + listArticlePCMemberBean.add(ab); + } + listArticleReferee = articleManager.getArticlesOfReferee(SessionService.getInstance().getCurrentUserLogin()); - List listConfForArticlePcMember = new ArrayList(); - for (Article a : listArticlePCMember) { - listConfForArticlePcMember.add(articleManager.getConferenceForArticle(a.getId())); - } - - List listConfForArticleReferee = new ArrayList(); for (Article a : listArticleReferee) { - listConfForArticleReferee.add(articleManager.getConferenceForArticle(a.getId())); - } + UserBoardArticleBean ab = new UserBoardArticleBean(); + ab.setAbstractText(a.getAbstractText()); + ab.setTitle(a.getTitle()); + ab.setTopic(a.getTopic()); + ab.setId(a.getId()); + ab.setState(a.getState()); + ab.setSecondaryAuthors(a.getSecondaryAuthors()); + ab.setURL_article(a.getURL_article()); + ab.setConference(articleManager.getConferenceForArticle(a.getId())); + listArticleRefereeBean.add(ab); + } - model.put("listConfForArticlePcMember", listConfForArticlePcMember); - model.put("listArticlePCMember", listArticlePCMember); + model.put("listArticlePCMember", listArticlePCMemberBean); model.put("numberArticlePCMember", listArticlePCMember.size()); - model.put("listConfForArticleReferee", listConfForArticleReferee); - model.put("listArticleReferee", listArticleReferee); + model.put("listArticleReferee", listArticleRefereeBean); model.put("numberArticleReferee", listArticleReferee.size()); logger.info("Get the number of conferences the user can create"); diff --git a/YACOSWeb/src/org/yacos/web/system/form/UserBoardArticleBean.java b/YACOSWeb/src/org/yacos/web/system/form/UserBoardArticleBean.java new file mode 100644 index 0000000..527db03 --- /dev/null +++ b/YACOSWeb/src/org/yacos/web/system/form/UserBoardArticleBean.java @@ -0,0 +1,106 @@ +package org.yacos.web.system.form; + +import java.util.ArrayList; +import java.util.List; +import org.yacos.core.article.Preference; +import org.yacos.core.article.Article.State; +import org.yacos.core.conferences.Conference; +import org.yacos.core.evaluation.Report; +import org.yacos.core.users.User; + +public class UserBoardArticleBean { + + private int id; + private String title; + private String topic; + private String abstractText; + private String URL_article; + private User mainAuthor; + private ArrayList secondaryAuthors; + private Conference conference; + private List pcMembers; + private List referee; + private List preferences; + private List report; + + private State state; + + public int getId() { + return id; + } + public void setId(int id) { + this.id = id; + } + public String getTitle() { + return title; + } + public void setTitle(String title) { + this.title = title; + } + public String getTopic() { + return topic; + } + public void setTopic(String topic) { + this.topic = topic; + } + public String getAbstractText() { + return abstractText; + } + public void setAbstractText(String abstractText) { + this.abstractText = abstractText; + } + public String getURL_article() { + return URL_article; + } + public void setURL_article(String url_article) { + URL_article = url_article; + } + public User getMainAuthor() { + return mainAuthor; + } + public void setMainAuthor(User mainAuthor) { + this.mainAuthor = mainAuthor; + } + public ArrayList getSecondaryAuthors() { + return secondaryAuthors; + } + public void setSecondaryAuthors(ArrayList secondaryAuthors) { + this.secondaryAuthors = secondaryAuthors; + } + public Conference getConference() { + return conference; + } + public void setConference(Conference conference) { + this.conference = conference; + } + public List getPcMembers() { + return pcMembers; + } + public void setPcMembers(List pcMembers) { + this.pcMembers = pcMembers; + } + public List getPreferences() { + return preferences; + } + public void setPreferences(List preferences) { + this.preferences = preferences; + } + public List getReport() { + return report; + } + public void setReport(List report) { + this.report = report; + } + public State getState() { + return state; + } + public void setState(State state) { + this.state = state; + } + public List getReferee() { + return referee; + } + public void setReferee(List referee) { + this.referee = referee; + } +}