package org.yacos.web.PCmember.controller;

import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;

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 java.io.IOException;
import java.util.List;
import org.yacos.web.system.controller.NoConferenceSelectedException;
import org.yacos.web.system.session.SessionService;
import org.yacos.core.article.Article;
import org.yacos.core.article.IArticleManager;
import org.yacos.core.exceptions.ConferenceDoesntExistException;

public class ListEvaluationController extends SimpleFormController {

    protected final Log logger = LogFactory.getLog(getClass());
    
    private IArticleManager articleManager;

	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, NoConferenceSelectedException {
		
        logger.info("Returning listArticle view");
        
        List<Article> listArticle;
		try {
			listArticle = articleManager.getArticles(SessionService.getInstance().getCurrentConferenceId());
			getServletContext().setAttribute("listArticle", listArticle);
		} catch (ConferenceDoesntExistException e) {
			logger.error(e.getMessage());
		}

        return new ModelAndView("listEvaluation");
    }
	
	public IArticleManager getArticleManager() {
		return articleManager;
	}
	
	public void setArticleManager(IArticleManager articleManager) {
		this.articleManager = articleManager;
	}
}