Package br.com.mystudies.web.controller

Source Code of br.com.mystudies.web.controller.BacklogServlet

package br.com.mystudies.web.controller;

import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
import java.util.Set;

import javax.ejb.EJB;
import javax.persistence.EnumType;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.mystudies.domain.entity.BackLog;
import br.com.mystudies.domain.entity.Story;
import br.com.mystudies.domain.entity.Theme;
import br.com.mystudies.domain.enun.Priority;
import br.com.mystudies.domain.enun.StoryStatus;
import br.com.mystudies.service.BackLogService;

/**
* @author Robson
*/
@WebServlet("/backlog")
public class BacklogServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;


  @EJB
  private BackLogService backLogService;


    public BacklogServlet() {
        super();
    }



  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    sendToBackLogPage(request, response);
  }



  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String action =
        (String) request.getParameter("action");

    if( action != null){

      switch (action) {

        case "ADDTHEME":
          backLogService.addTheme(getBackLog(), getTheme(request));
          sendtoBackLogThemesFragment(request, response);
          break;

        default:
          sendtoBackLogThemesFragment(request, response);
          break;
      }
    }
  }


  private Theme getTheme(HttpServletRequest request) {
    return new Theme(
        request.getParameter("title"),
        Priority.valueOf(request.getParameter("priority")),
        new Date()
      );
  }


  // FIXME: only testing app. should getting the backlog of user logged.
  private BackLog getBackLog() {

    BackLog backLog =
        backLogService.getBackLog(1L);

    Set<Theme> themes =
        backLog.getThemes();

    for (Theme theme : themes) {

      Iterator<Story> iterator =
          theme.getStories().iterator();

      while (iterator.hasNext()) {
        if(iterator.next().getStatus() != StoryStatus.BACKLOG){
          iterator.remove();
        }

      }
    }
    return backLog;
  }



  private void sendToBackLogPage(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    request.setAttribute("backLog", getBackLog());
    request.setAttribute("includeThemesFragment", true);
    request.getRequestDispatcher("pages/backlog/backlog.jsp").forward(request, response);
  }


  private void sendtoBackLogThemesFragment(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
    request.setAttribute("backLog", getBackLog());
    request.getRequestDispatcher("pages/backlog/backlog-themes-fragment.jsp").forward(request, response);
  }


}
TOP

Related Classes of br.com.mystudies.web.controller.BacklogServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.