diff --git a/YACOSWeb/src/org/yacos/web/PCmember/controller/CreateReportController.java b/YACOSWeb/src/org/yacos/web/PCmember/controller/CreateReportController.java new file mode 100644 index 0000000..13529d3 --- /dev/null +++ b/YACOSWeb/src/org/yacos/web/PCmember/controller/CreateReportController.java @@ -0,0 +1,40 @@ +package org.yacos.web.PCmember.controller; + +import java.io.IOException; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.SimpleFormController; +import org.yacos.core.article.Article; +import org.yacos.core.article.IArticleManager; +import org.yacos.core.conferences.Conference; + +public class CreateReportController extends SimpleFormController { + + protected final Log logger = LogFactory.getLog(getClass()); + + private IArticleManager articleManager; + + public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + + + return new ModelAndView("creatReport"); + } + + public IArticleManager getArticleManager() { + return articleManager; + } + + public void setArticleManager(IArticleManager articleManager) { + this.articleManager = articleManager; + } + +} \ No newline at end of file diff --git a/YACOSWeb/src/org/yacos/web/PCmember/controller/EvaluationController.java b/YACOSWeb/src/org/yacos/web/PCmember/controller/EvaluationController.java new file mode 100644 index 0000000..9f99893 --- /dev/null +++ b/YACOSWeb/src/org/yacos/web/PCmember/controller/EvaluationController.java @@ -0,0 +1,143 @@ +package org.yacos.web.PCmember.controller; + + + +import java.util.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.validation.BindException; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.SimpleFormController; +import org.springframework.web.servlet.view.RedirectView; +import org.yacos.core.article.*; +import org.yacos.core.conferences.Conference; +import org.yacos.core.conferences.IConferenceManager; +import org.yacos.core.evaluation.Criterion; +import org.yacos.core.evaluation.Rating; +import org.yacos.core.evaluation.Report; +import org.yacos.core.users.IUserManager; +import org.yacos.core.users.User; + +//import org.yacos.web.author.form.*; +import org.yacos.web.PCmember.form.FormEvaluation; + +import org.yacos.web.PCmember.form.SimpleCriterion; + +public class EvaluationController extends SimpleFormController { + + /** Logger for this class and subclasses */ + protected final Log logger = LogFactory.getLog(getClass()); + + private IArticleManager articleManager; + private IUserManager userManager; + private IConferenceManager conferenceManager; + + @Override + protected Object formBackingObject(HttpServletRequest request) + throws Exception { + //mock object: criterionList en attendant criterionManager + conferenceManager.addConference("myTitre", "myDescirption", "myInfoComplementray", new Date(1/1/2008), new Date(1/1/2008), new Date(1/1/2008), new Date(1/1/2008), new Date(1/1/2008)); + Conference conf=conferenceManager.getConference(1); + ArrayList criterionList = new ArrayList(); + Criterion c1=new Criterion(); + c1.setName("respect du theme"); + c1.setConference(conf); + c1.setMax(new Integer(5)); + c1.setMin(new Integer(1)); + + Criterion c2=new Criterion(); + c2.setName("exactitude"); + c2.setConference(conf); + c2.setMax(new Integer(4)); + c2.setMin(new Integer(1)); + + criterionList.add(c1); + criterionList.add(c2); + + FormEvaluation evaluationForm=new FormEvaluation(); + + List liste=new ArrayList(); + for (Criterion c : criterionList) + + { + + SimpleCriterion sc=new SimpleCriterion(c.getName(),c.getMin(),c.getMax()); + + liste.add(sc); + + } + + evaluationForm.setSimpleRatings(liste); + evaluationForm.setCommentAuthor("no comment by author"); + evaluationForm.setCommentPCMember("no comment by pc member"); + return evaluationForm; + } + + @Override + protected ModelAndView onSubmit(HttpServletRequest request, + HttpServletResponse response, Object command, BindException errors) + throws Exception { + + FormEvaluation fe=(FormEvaluation)command; + + List liste=fe.getSimpleRatings(); + String commentAuthor=fe.getCommentAuthor(); + String commentPCMember=fe.getCommentPCMember(); + ArrayList listeRating=new ArrayList(); + + for(SimpleCriterion sc : liste){ + + Rating rt=new Rating(); + rt.setValue(sc.getValue()); + listeRating.add(rt); + } + + + + Map model = new HashMap(); + model.put("message", "preference.ok"); + Article article=articleManager.getArticle(1); + User toto = userManager.getUser("toto"); + if(toto == null){ + toto = userManager.addUser("toto", "toto", "Toto", "Toto", "Toto corp.", "toto@totocorp.com"); + } + Report rpt =new Report(); + rpt.setArticle(article); + rpt.setCommentAuthor(commentAuthor); + rpt.setCommentPCMember(commentPCMember); + rpt.setRatings(listeRating); + rpt.setReferee(toto); + + Map model1 = new HashMap(); + model1.put("report", rpt); + return new ModelAndView(new RedirectView("createReport.htm"),model1); + + } + + public IArticleManager getArticleManager() { + return articleManager; + } + + public void setArticleManager(IArticleManager articleManager) { + this.articleManager = articleManager; + } + + public IUserManager getUsersManager() { + return userManager; + } + + public void setUsersManager(IUserManager usersManager) { + this.userManager = usersManager; + } + + public IConferenceManager getConferenceManager() { + return conferenceManager; + } + + public void setConferenceManager(IConferenceManager conferenceManager) { + this.conferenceManager = conferenceManager; + } +} \ No newline at end of file