Package br.com.mystudies.web.controller

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

package br.com.mystudies.web.controller;

import java.io.IOException;
import java.util.Date;
import java.util.concurrent.Semaphore;

import javax.ejb.EJB;
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.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.SprintService;
import br.com.mystudies.service.StoryService;
import br.com.mystudies.service.ThemeService;

/**
* @author Robson
*/
@WebServlet("/theme")
public class ThemeServlet extends HttpServlet {


  private static final long serialVersionUID = 1L;

  @EJB
  private ThemeService themeService;

  @EJB
  private SprintService sprintService;

  @EJB
  private StoryService storyService;


    public ThemeServlet() {
        super();
    }


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


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

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


    if(action != null){

      switch (action) {

        case "ADDSTORY":{
          sendToThemeStoriesFragment(
              request,
              response,
              themeService.addStory(getTheme(request), getStory(request))
              );
          break;
        }

        case "ADDSTORYSPRINT":{
          sprintService.addStoryInSprint(
              storyService.getStory(
                  Long.parseLong(request.getParameter("storyId"))
                  )
              );


          sendToThemeStoriesFragment(
              request,
              response,
              getTheme(request)
              );
          break;
        }


        default:{
          sendToThemePage(request, response);
          break;
        }
      }
    }
  }


  private Theme getTheme(HttpServletRequest request) {
    return themeService.getTheme(Long.valueOf(request.getParameter("themeId")));
  }



  private Story getStory(HttpServletRequest request){
    Story story =
      new Story(
        request.getParameter("title"),
        Priority.valueOf(request.getParameter("priority")),
        StoryStatus.BACKLOG,
        new Date(),
        Integer.valueOf(request.getParameter("points"))
      );

    return story;
  }

  private void sendToThemePage(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
    request.setAttribute("theme", getTheme(request));
    request.setAttribute("includeThemesStoriesFragment", true);
    request.getRequestDispatcher("pages/theme/theme.jsp").forward(request, response);
  }


  private void sendToThemeStoriesFragment(HttpServletRequest request,HttpServletResponse response, Theme theme) throws ServletException, IOException {
    request.setAttribute("theme", theme);
    request.getRequestDispatcher("pages/theme/theme-stories-fragment.jsp").forward(request, response);
  }
}
TOP

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

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.