diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/OrderServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/OrderServlet.java index 25362f26bedc512e92d9234e68c278ce1023bc5a..dce9ebadf4f141983a32af8bd5611b3ba679c4d0 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/OrderServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/OrderServlet.java @@ -1,21 +1,44 @@ package com.adaapa.adaojek.servlets; import com.adaapa.adaojek.middlewares.CookieCheck; - +import com.adaapa.adaojek.services.ServiceConnector; +import com.adaapa.adaojek.stub.ApplicationCookie; +import com.adaapa.bean.UserBean; +import com.adaapa.bean.WebServiceBean; +import com.adaapa.ojekservice.OjekOnline; +import com.google.gson.Gson; +import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; public class OrderServlet extends HttpServlet { + Gson gson = new Gson(); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) { + ApplicationCookie cookie = CookieCheck.getCookie(req); + + req.setAttribute("user", cookie.getUsername()); + + OjekOnline service = ServiceConnector.getServiceClass(); + WebServiceBean webServiceBean = gson.fromJson(service.getProfile(cookie.getToken()), + WebServiceBean.class); + + if (webServiceBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) { + resp.sendRedirect("logout"); + } else { + UserBean ubean = gson.fromJson(webServiceBean.getBody(), UserBean.class); - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) { - req.setAttribute("user", CookieCheck.getCookie(req).getUsername()); - req.getRequestDispatcher("WEB-INF/order.jsp").forward(req, resp); + if (ubean.getIsDriver()) { + req.getRequestDispatcher("WEB-INF/order_driver.jsp").forward(req, resp); + } else { + req.getRequestDispatcher("WEB-INF/order.jsp").forward(req, resp); } + } } + } }