From d037bb471da89775f7d1f1228d0d16a48f920ee0 Mon Sep 17 00:00:00 2001
From: Daniel <nieltansah@gmail.com>
Date: Thu, 23 Nov 2017 16:45:46 +0700
Subject: [PATCH] TugasBesar2: OrderServlet: Auto JSP redirection

---
 .../adaapa/adaojek/servlets/OrderServlet.java | 39 +++++++++++++++----
 1 file changed, 31 insertions(+), 8 deletions(-)

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 25362f2..dce9eba 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);
         }
+      }
     }
+  }
 }
-- 
GitLab