Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Showing
with 1214 additions and 0 deletions
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.OrderBean;
import com.adaapa.bean.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class DriverHistoryServlet extends HttpServlet {
@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());
String access_token = cookie.getToken();
OjekOnline service = ServiceConnector.getServiceClass();
Gson gson = new Gson();
WebServiceBean wsResponse = gson.fromJson(service.getDriverHistory(access_token), WebServiceBean.class);
PrintWriter out = resp.getWriter();
if (wsResponse.getStatus().equals(WebServiceBean.STATUS_VALID)) {
if (wsResponse.getBody() != null) {
OrderBean[] orderBeans = gson.fromJson(wsResponse.getBody(), OrderBean[].class);
req.setAttribute("orderBeans", orderBeans);
}
req.getRequestDispatcher("WEB-INF/driver_history.jsp").forward(req, resp);
} else
resp.sendRedirect("logout");
}
}
}
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.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
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 EditPreferredLocationServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) {
OjekOnline service = ServiceConnector.getServiceClass();
ApplicationCookie cookie = CookieCheck.getCookie(req);
Integer position = Integer.parseInt(req.getParameter("position"));
String location = req.getParameter("location");
WebServiceBean wsBean = new Gson().fromJson(service.editPreferredLocation(cookie.getToken(), position, location), WebServiceBean.class);
if (wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) {
resp.sendRedirect("logout");
} else {
resp.sendRedirect("preferred_location");
}
}
}
}
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 javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Base64;
@MultipartConfig
public class EditProfileServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
OjekOnline service = ServiceConnector.getServiceClass();
ApplicationCookie cookie = CookieCheck.getCookie(req);
WebServiceBean wsBean = new Gson().fromJson(service.getProfile(cookie.getToken()), WebServiceBean.class);
if (wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) {
resp.sendRedirect("login");
} else {
UserBean ubean = new Gson().fromJson(wsBean.getBody(), UserBean.class);
req.setAttribute("userProfile", ubean);
req.getRequestDispatcher("WEB-INF/edit_profile.jsp").forward(req, resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
CookieCheck.redirectIfTokenNotFound(req, resp, "login");
PrintWriter out = resp.getWriter();
// out.println(req.getParameter("name"));
UserBean userBean = new UserBean();
userBean.name = req.getParameter("name");
userBean.phoneNumber = req.getParameter("phoneNumber");
String contentType = req.getPart("image").getContentType();
userBean.isDriver = req.getParameter("isDriver") != null;
if (contentType.equals("image/jpg") || contentType.equals("image/jpeg") || contentType.equals("image/png")) {
InputStream filecontent = req.getPart("image").getInputStream();
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = filecontent.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
userBean.image = Base64.getEncoder().encodeToString(output.toByteArray());
}
OjekOnline service = ServiceConnector.getServiceClass();
ApplicationCookie cookie = CookieCheck.getCookie(req);
Gson gson = new Gson();
service.editProfile(cookie.getToken(), gson.toJson(userBean));
resp.sendRedirect("profile");
}
}
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.DriverBean;
import com.adaapa.bean.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class FindDriverServlet extends HttpServlet {
@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();
PrintWriter out = resp.getWriter();
String token = CookieCheck.getCookie(req).getToken();
Gson gson = new Gson();
String pickup = req.getParameter("pickUp");
String destination = req.getParameter("destination");
req.setAttribute("pickup", pickup);
req.setAttribute("destination", destination);
String preferredDriver = req.getParameter("preferredDriver");
if (!preferredDriver.equals("")) {
WebServiceBean webServiceBean = gson
.fromJson(service.findDriver(token, preferredDriver), WebServiceBean.class);
if (webServiceBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) {
resp.sendRedirect("logout");
} else {
DriverBean[] driverBeans = gson.fromJson(webServiceBean.getBody(), DriverBean[].class);
req.setAttribute("preferredDrivers", driverBeans);
req.setAttribute("preferredDriversLength", driverBeans.length);
}
} else {
req.setAttribute("preferredDriversLength", 0);
}
WebServiceBean wsBean = gson.
fromJson(service.findDriverByPreferredLocation(cookie.getToken(), pickup, destination),
WebServiceBean.class);
if (wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) {
resp.sendRedirect("logout");
} else {
DriverBean[] driverBeans = gson.fromJson(wsBean.getBody(), DriverBean[].class);
req.setAttribute("foundDrivers", driverBeans);
req.setAttribute("foundDriversLength", driverBeans.length);
req.getRequestDispatcher("WEB-INF/find_driver.jsp").forward(req, resp);
}
}
}
}
package com.adaapa.adaojek.servlets;
/**
* Created by ireneedriadr on 11/5/17.
*/
import com.adaapa.adaojek.middlewares.CookieCheck;
import com.adaapa.adaojek.services.ServiceConnector;
import com.adaapa.adaojek.stub.ApplicationCookie;
import com.adaapa.bean.OrderBean;
import com.adaapa.bean.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HistoryServlet extends HttpServlet {
@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());
String access_token = cookie.getToken();
OjekOnline service = ServiceConnector.getServiceClass();
Gson gson = new Gson();
WebServiceBean wsResponse = gson.fromJson(service.getUserHistory(access_token), WebServiceBean.class);
PrintWriter out = resp.getWriter();
if (wsResponse.getStatus().equals(WebServiceBean.STATUS_VALID)) {
OrderBean[] orderBeans = gson.fromJson(wsResponse.getBody(), OrderBean[].class);
req.setAttribute("orderBeans", orderBeans);
req.getRequestDispatcher("WEB-INF/history.jsp").forward(req, resp);
} else
resp.sendRedirect("logout");
}
}
}
\ No newline at end of file
package com.adaapa.adaojek.servlets;
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 IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.sendRedirect("login");
}
}
package com.adaapa.adaojek.servlets;
import com.adaapa.adaojek.middlewares.CookieCheck;
import com.adaapa.adaojek.services.DomainConfig;
import com.adaapa.adaojek.services.RequestSender;
import com.adaapa.adaojek.stub.ApplicationCookie;
import com.adaapa.bean.LoginRequestBean;
import com.adaapa.bean.LoginResponseBean;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Base64;
public class LoginServlet extends HttpServlet {
private final String LOGIN_URL = "/login";
private final String STATUS_ACCEPTED = "accepted";
private final String STATUS_FAILED = "failed";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenFound(req, resp, "order")) {
req.getRequestDispatcher("WEB-INF/login.jsp").forward(req, resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
DomainConfig domain = DomainConfig.getInstance();
Gson gson = new Gson();
//Send request to identity services
PrintWriter out = resp.getWriter();
String username = req.getParameter("username");
String password = req.getParameter("password");
String userAgent = req.getHeader("User-Agent");
String ipAddress = req.getRemoteAddr();
LoginRequestBean loginBean = new LoginRequestBean(username, password, userAgent, ipAddress);
LoginResponseBean loginResponse = gson.fromJson(RequestSender.sendRequest(domain.getISDomain() + LOGIN_URL,
"POST", "application/x-www-form-urlencoded",
loginBean.getURLParameter()), LoginResponseBean.class);
if (loginResponse.getStatus().equals(STATUS_ACCEPTED)) {
Cookie cookie =
new Cookie("adaapa", Base64.getEncoder().encodeToString(gson.toJson(new ApplicationCookie(loginResponse.getAccessToken(), loginResponse.getUserBean().getUsername())).getBytes()));
cookie.setMaxAge(loginResponse.getAge());
resp.addCookie(cookie);
resp.sendRedirect("index");
} else {
req.setAttribute("errorMessage", "Login Gagal");
req.getRequestDispatcher("WEB-INF/login.jsp").forward(req, resp);
}
}
}
package com.adaapa.adaojek.servlets;
import com.adaapa.adaojek.middlewares.CookieCheck;
import com.adaapa.adaojek.services.DomainConfig;
import com.adaapa.adaojek.services.RequestSender;
import com.adaapa.bean.LogoutResponseBean;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
public class LogoutServlet extends HttpServlet {
private final String LOGOUT_URL = "/logout";
private final String STATUS_ACCEPTED = "accepted";
private final String STATUS_FAILED = "FAILED";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) {
DomainConfig domain = DomainConfig.getInstance();
Gson gson = new Gson();
String response = RequestSender.sendRequest(
domain.getISDomain() + LOGOUT_URL,
"POST",
"application/x-www-form-urlencoded",
String.format("access_token=%s", URLEncoder.encode(CookieCheck.getCookie(req).getToken(), "UTF-8"))
);
PrintWriter out = resp.getWriter();
LogoutResponseBean responseBean = gson.fromJson(response, LogoutResponseBean.class);
if (responseBean.getStatus().equals(STATUS_ACCEPTED)) {
Cookie cookie = new Cookie("adaapa", "");
cookie.setMaxAge(0);
resp.addCookie(cookie);
} else {
//Do nothing
}
resp.sendRedirect("login");
}
}
}
package com.adaapa.adaojek.servlets;
import com.adaapa.adaojek.middlewares.CookieCheck;
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 {
@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);
}
}
}
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.PreferredLocationBean;
import com.adaapa.bean.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
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 PreferredLocationServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) {
OjekOnline service = ServiceConnector.getServiceClass();
ApplicationCookie cookie = CookieCheck.getCookie(req);
Gson gson = new Gson();
WebServiceBean wsBean = gson.fromJson(service.getPreferredLocation(cookie.getToken()), WebServiceBean.class);
if (wsBean.getStatus().equals(WebServiceBean.STATUS_VALID)) {
PreferredLocationBean[] preferredLocationArray = gson.fromJson(wsBean.getBody(), PreferredLocationBean[].class);
req.setAttribute("preferredLocations", preferredLocationArray);
} else {
resp.sendRedirect("login");
}
req.getRequestDispatcher("WEB-INF/edit_preferences.jsp").forward(req, resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) {
OjekOnline service = ServiceConnector.getServiceClass();
ApplicationCookie cookie = CookieCheck.getCookie(req);
String location = req.getParameter("location");
Gson gson = new Gson();
WebServiceBean wsBean = gson.fromJson(service.addPreferredLocation(cookie.getToken(), location), WebServiceBean.class);
if (wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) {
resp.sendRedirect("logout");
} else {
resp.sendRedirect("preferred_location");
}
}
}
}
package com.adaapa.adaojek.servlets;
import com.adaapa.adaojek.middlewares.CookieCheck;
import com.adaapa.adaojek.services.ServiceConnector;
import com.adaapa.bean.DriverBean;
import com.adaapa.bean.PreferredLocationBean;
import com.adaapa.bean.UserBean;
import com.adaapa.bean.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class ProfileServlet extends HttpServlet {
Gson gson = new Gson();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) {
OjekOnline service = ServiceConnector.getServiceClass();
PrintWriter out = resp.getWriter();
String token = CookieCheck.getCookie(req).getToken();
// out.println(service.getProfile(CookieCheck.getCookie(req).getToken()));
WebServiceBean webServiceBean = gson
.fromJson(service.getProfile(token),
WebServiceBean.class);
if (webServiceBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) {
resp.sendRedirect("logout");
} else {
// out.println(webServiceBean.getBody());
UserBean ubean = gson.fromJson(webServiceBean.getBody(), UserBean.class);
if (ubean.getIsDriver()) {
WebServiceBean getDriverResponse = gson.fromJson(service.getDriverProfile(token), WebServiceBean.class);
if (getDriverResponse.getStatus().equals(WebServiceBean.STATUS_VALID)) {
DriverBean driverBean = gson.fromJson(getDriverResponse.getBody(), DriverBean.class);
req.setAttribute("driverProfile", driverBean);
} else {
throw new ServletException();
}
WebServiceBean getPreferredLocationResponse = gson.fromJson(service.getPreferredLocation(token), WebServiceBean.class);
if (getPreferredLocationResponse.getStatus().equals(WebServiceBean.STATUS_VALID)) {
PreferredLocationBean[] preferredLocationBeanArray = gson.fromJson(getPreferredLocationResponse.getBody(),
PreferredLocationBean[].class);
req.setAttribute("preferredLocations", preferredLocationBeanArray);
} else {
throw new ServletException();
}
}
req.setAttribute("user", CookieCheck.getCookie(req).getUsername());
req.setAttribute("userProfile", ubean);
req.getRequestDispatcher("WEB-INF/profile.jsp").forward(req, resp);
}
}
}
}
package com.adaapa.adaojek.servlets;
import com.adaapa.adaojek.middlewares.CookieCheck;
import com.adaapa.adaojek.services.DomainConfig;
import com.adaapa.adaojek.services.RequestSender;
import com.adaapa.adaojek.services.ServiceConnector;
import com.adaapa.adaojek.stub.ApplicationCookie;
import com.adaapa.bean.LoginResponseBean;
import com.adaapa.bean.UserBean;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.Base64;
public class RegisterServlet extends HttpServlet {
private final String REGISTER_URL = "/register";
private final String STATUS_ACCEPTED = "accepted";
private final String STATUS_FAILED = "failed";
DomainConfig domain = DomainConfig.getInstance();
Gson gson = new Gson();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenFound(req, resp, "order")) {
req.getRequestDispatcher("WEB-INF/signup.jsp").forward(req, resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
String name = req.getParameter("name");
String username = req.getParameter("username");
String email = req.getParameter("email");
String password = req.getParameter("password");
String confirmpassword = req.getParameter("confirm-password");
String phoneNumber = req.getParameter("phoneNumber");
Boolean isDriver = req.getParameter("isDriver") != null;
String userAgent = req.getHeader("User-Agent");
String ipAddress = req.getRemoteAddr();
UserBean wsUser = new UserBean();
wsUser.name = name;
wsUser.username = username;
wsUser.email = email;
wsUser.phoneNumber = phoneNumber;
wsUser.isDriver = isDriver;
String payload = String.format("name=%s&username=%s&email=%s&password=%s&confirmpassword=%s&phoneNumber=%s&isDriver=%b&user_agent=%s&ip_address=%s",
URLEncoder.encode(name, "UTF-8"), URLEncoder.encode(username, "UTF-8"), URLEncoder.encode(email, "UTF-8"),
URLEncoder.encode(password, "UTF-8"), URLEncoder.encode(confirmpassword, "UTF-8"),
URLEncoder.encode(phoneNumber, "UTF-8"), isDriver, URLEncoder.encode(userAgent, "UTF-8"), URLEncoder.encode(ipAddress, "UTF-8"));
LoginResponseBean loginResponse = gson.fromJson(RequestSender.sendRequest(
domain.getISDomain() + REGISTER_URL, "POST", "application/x-www-form-urlencoded",
payload
), LoginResponseBean.class);
if (loginResponse.getStatus().equals(STATUS_ACCEPTED)) {
Cookie cookie =
new Cookie("adaapa", Base64.getEncoder().encodeToString(gson.toJson(new ApplicationCookie(loginResponse.getAccessToken(), loginResponse.getUserBean().getUsername())).getBytes()));
cookie.setMaxAge(loginResponse.getAge());
ServiceConnector.getServiceClass().addUser(loginResponse.getAccessToken(), gson.toJson(wsUser));
resp.addCookie(cookie);
if (isDriver) {
resp.sendRedirect("profile");
} else {
resp.sendRedirect("index");
}
} else {
req.setAttribute("errorMessage", "Registrasi Gagal");
req.getRequestDispatcher("WEB-INF/signup.jsp").forward(req, resp);
}
}
}
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.WebServiceBean;
import com.adaapa.ojekservice.OjekOnline;
import com.google.gson.Gson;
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 UserHideHistoryServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) {
Integer orderId = Integer.parseInt(req.getParameter("orderId"));
ApplicationCookie cookie = CookieCheck.getCookie(req);
OjekOnline service = ServiceConnector.getServiceClass();
WebServiceBean webServiceBean = new Gson().fromJson(service.hideUserHistory(cookie.getToken(), orderId), WebServiceBean.class);
if (webServiceBean.getStatus().equals(WebServiceBean.STATUS_VALID)) {
resp.sendRedirect("history");
} else {
resp.sendRedirect("logout");
}
}
}
}
package com.adaapa.adaojek.stub;
public class ApplicationCookie {
private String access_token;
private String username;
public ApplicationCookie(String access_token, String username) {
this.access_token = access_token;
this.username = username;
}
public String getUsername() {
return username;
}
public String getToken() {
return access_token;
}
}
package com.adaapa.ojekservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.Action;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2.9-b130926.1035
* Generated source version: 2.2
*/
@WebService(name = "OjekOnline", targetNamespace = "http://ojekservice.adaapa.com/")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface OjekOnline {
/**
* @param accessToken
* @param user
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/addUserRequest", output = "http://ojekservice.adaapa.com/OjekOnline/addUserResponse")
public String addUser(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "user", partName = "user")
String user);
/**
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/getDriverProfileRequest", output = "http://ojekservice.adaapa.com/OjekOnline/getDriverProfileResponse")
public String getDriverProfile(
@WebParam(name = "access_token", partName = "access_token")
String accessToken);
/**
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/getProfileRequest", output = "http://ojekservice.adaapa.com/OjekOnline/getProfileResponse")
public String getProfile(
@WebParam(name = "access_token", partName = "access_token")
String accessToken);
/**
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/getPreferredLocationRequest", output = "http://ojekservice.adaapa.com/OjekOnline/getPreferredLocationResponse")
public String getPreferredLocation(
@WebParam(name = "access_token", partName = "access_token")
String accessToken);
/**
* @param location
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/addPreferredLocationRequest", output = "http://ojekservice.adaapa.com/OjekOnline/addPreferredLocationResponse")
public String addPreferredLocation(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "location", partName = "location")
String location);
/**
* @param accessToken
* @param user
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/editProfileRequest", output = "http://ojekservice.adaapa.com/OjekOnline/editProfileResponse")
public String editProfile(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "user", partName = "user")
String user);
/**
* @param driverName
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/findDriverRequest", output = "http://ojekservice.adaapa.com/OjekOnline/findDriverResponse")
public String findDriver(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "driver_name", partName = "driver_name")
String driverName);
/**
* @param destination
* @param pickup
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/findDriverByPreferredLocationRequest", output = "http://ojekservice.adaapa.com/OjekOnline/findDriverByPreferredLocationResponse")
public String findDriverByPreferredLocation(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "pickup", partName = "pickup")
String pickup,
@WebParam(name = "destination", partName = "destination")
String destination);
/**
* @param accessToken
* @param order
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/completeOrderRequest", output = "http://ojekservice.adaapa.com/OjekOnline/completeOrderResponse")
public String completeOrder(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "order", partName = "order")
String order);
/**
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/getUserHistoryRequest", output = "http://ojekservice.adaapa.com/OjekOnline/getUserHistoryResponse")
public String getUserHistory(
@WebParam(name = "access_token", partName = "access_token")
String accessToken);
/**
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/getDriverHistoryRequest", output = "http://ojekservice.adaapa.com/OjekOnline/getDriverHistoryResponse")
public String getDriverHistory(
@WebParam(name = "access_token", partName = "access_token")
String accessToken);
/**
* @param orderId
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/hideDriverHistoryRequest", output = "http://ojekservice.adaapa.com/OjekOnline/hideDriverHistoryResponse")
public String hideDriverHistory(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "order_id", partName = "order_id")
int orderId);
/**
* @param orderId
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/hideUserHistoryRequest", output = "http://ojekservice.adaapa.com/OjekOnline/hideUserHistoryResponse")
public String hideUserHistory(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "order_id", partName = "order_id")
int orderId);
/**
* @param position
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/deletePreferredLocationRequest", output = "http://ojekservice.adaapa.com/OjekOnline/deletePreferredLocationResponse")
public String deletePreferredLocation(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "position", partName = "position")
int position);
/**
* @param location
* @param position
* @param accessToken
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/editPreferredLocationRequest", output = "http://ojekservice.adaapa.com/OjekOnline/editPreferredLocationResponse")
public String editPreferredLocation(
@WebParam(name = "access_token", partName = "access_token")
String accessToken,
@WebParam(name = "position", partName = "position")
int position,
@WebParam(name = "location", partName = "location")
String location);
/**
* @param arg1
* @param arg0
* @return returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
@Action(input = "http://ojekservice.adaapa.com/OjekOnline/findDriverByUsernameRequest", output = "http://ojekservice.adaapa.com/OjekOnline/findDriverByUsernameResponse")
public String findDriverByUsername(
@WebParam(name = "arg0", partName = "arg0")
String arg0,
@WebParam(name = "arg1", partName = "arg1")
String arg1);
}
package com.adaapa.ojekservice;
import javax.xml.namespace.QName;
import javax.xml.ws.*;
import java.net.MalformedURLException;
import java.net.URL;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2.9-b130926.1035
* Generated source version: 2.2
*/
@WebServiceClient(name = "OjekOnlineService", targetNamespace = "http://ojekservice.adaapa.com/", wsdlLocation = "localhost:8080/WebService/ojekonline?wsdl")
public class OjekOnlineService
extends Service {
private final static URL OJEKONLINESERVICE_WSDL_LOCATION;
private final static WebServiceException OJEKONLINESERVICE_EXCEPTION;
private final static QName OJEKONLINESERVICE_QNAME = new QName("http://ojekservice.adaapa.com/", "OjekOnlineService");
static {
URL url = null;
WebServiceException e = null;
try {
url = new URL("http://localhost:8080/WebService/ojekonline?wsdl");
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
OJEKONLINESERVICE_WSDL_LOCATION = url;
OJEKONLINESERVICE_EXCEPTION = e;
}
public OjekOnlineService() {
super(__getWsdlLocation(), OJEKONLINESERVICE_QNAME);
}
public OjekOnlineService(WebServiceFeature... features) {
super(__getWsdlLocation(), OJEKONLINESERVICE_QNAME, features);
}
public OjekOnlineService(URL wsdlLocation) {
super(wsdlLocation, OJEKONLINESERVICE_QNAME);
}
public OjekOnlineService(URL wsdlLocation, WebServiceFeature... features) {
super(wsdlLocation, OJEKONLINESERVICE_QNAME, features);
}
public OjekOnlineService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public OjekOnlineService(URL wsdlLocation, QName serviceName, WebServiceFeature... features) {
super(wsdlLocation, serviceName, features);
}
private static URL __getWsdlLocation() {
if (OJEKONLINESERVICE_EXCEPTION != null) {
throw OJEKONLINESERVICE_EXCEPTION;
}
return OJEKONLINESERVICE_WSDL_LOCATION;
}
/**
* @return returns OjekOnline
*/
@WebEndpoint(name = "OjekOnlinePort")
public OjekOnline getOjekOnlinePort() {
return super.getPort(new QName("http://ojekservice.adaapa.com/", "OjekOnlinePort"), OjekOnline.class);
}
/**
* @param features A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return returns OjekOnline
*/
@WebEndpoint(name = "OjekOnlinePort")
public OjekOnline getOjekOnlinePort(WebServiceFeature... features) {
return super.getPort(new QName("http://ojekservice.adaapa.com/", "OjekOnlinePort"), OjekOnline.class, features);
}
}
IDSERVICE_DOMAIN = http://localhost:8080/IdentityService
WEBSERVICE_DOMAIN = http://localhost:8080/WebService
<%@ include file="/component/header.html" %>
<%@ include file="/component/nav.html" %>
<div class="container" ng-app="chatApp">
<div class="wrapper row">
<div>
<div class="page-title row txt-center height-fit float-container">
<div class="float-left">
<h1 class="inline-block">MAKE AN ORDER</h1>
</div>
</div>
</div>
<div class="order-menu">
<ul class="order-ul">
<li class="order-item">
<div class="order-number">1</div>
<div class="order-number-desc">Select Destination</div>
</li>
<li class="order-item">
<div class="order-number">2</div>
<div class="order-number-desc">Select a Driver</div>
</li>
<li class="order-item active">
<div class="order-number">3</div>
<div class="order-number-desc">Chat Driver</div>
</li>
<li class="order-item">
<div class="order-number">4</div>
<div class="order-number-desc">Complete your order</div>
</li>
</ul>
</div>
<div ng-controller="ChatController as chatController">
<div id="scrollArea">
<div ng-repeat="chat in chatList">
<p class="chat-bubble-left" ng-if="chat.from === 'them'">{{chat.text}}</p>
<p class="chat-bubble-right" ng-if="chat.from === 'me'">{{chat.text}}</p>
</div>
</div>
<div class="chat-box">
<form class="form-chat-box" ng-submit="addChat()">
<input class="text-input" ng-model="chatText"
placeholder="Enter a message">
<input class="send-button" type="submit" value="Kirim">
</form>
</div>
</div>
<div class="close-box">
<form action="complete_order" class="chat-input" method="get">
<input type="hidden" name="pickUp" value="${pickup}">
<input type="hidden" name="destination" value="${destination}">
<input type="hidden" name="driverId" value="${driverProfile.getUsername()}">
<input type="submit" class="close-button" value="CLOSE">
</form>
</div>
</div>
</div>
<%@ include file="/component/footer.html" %>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<script>
window.onload = toggleActive("nav-order");
</script>
<script>
angular.module('chatApp', [])
.controller('ChatController', function ($scope) {
$scope.chatList = [];
$scope.addChat = function () {
if ($scope.chatText.length !== 0) {
$scope.chatList.push({
from: 'me',
text: this.chatText
});
}
$scope.chatText = '';
};
});
</script>
<%@ include file="/component/header.html" %>
<%@ include file="/component/nav.html" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<div class="container">
<div class="wrapper row">
<div>
<div class="page-title row txt-center height-fit float-container">
<div class="float-left">
<h1 class="inline-block">MAKE AN ORDER</h1>
</div>
</div>
</div>
<div class="order-menu">
<ul class="order-ul">
<li class="order-item">
<div class="order-number">1</div>
<div class="order-number-desc">Select Destination</div>
</li>
<li class="order-item">
<div class="order-number">2</div>
<div class="order-number-desc">Select a Driver</div>
</li>
<li class="order-item">
<div class="order-number">3</div>
<div class="order-number-desc">Chat Driver</div>
</li>
<li class="order-item active">
<div class="order-number">4</div>
<div class="order-number-desc">Complete your order</div>
</li>
</ul>
</div>
<div class="order-panel no-border">
<div class="panel-heading">
<h3>HOW WAS IT?</h3>
</div>
<div class="panel-body txt-center">
<c:choose>
<c:when test="${driverProfile.getImage() != null}">
<img src='${driverProfile.getImage()}' class='profile-image' height='80' alt='profile-image'>
</c:when>
<c:otherwise>
<img src='img/default-profile.png' class='profile-image' height='80' alt='profile-image'>
</c:otherwise>
</c:choose>
<h3>@${driverProfile.getUsername()}</h3>
<h3>${driverProfile.getName()}</h3>
<form method="post" onsubmit="return validateForm(this)" action="complete_order">
<input type="hidden" value="${pickup}" name="pickUp">
<input type="hidden" value="${destination}" name="destination">
<input type="hidden" value="${driverProfile.getId()}" name="driverId">
<div id="rating-system">
<input type="number" id="rating-value" min="1" max="5" hidden name="rating">
<c:forEach var="iter" begin="1" end="5">
<span class='grey-star' onclick='renderStar(${iter})'>&nbsp;</span>
</c:forEach>
</div>
<textarea name="comment" placeholder="Comment" class="form-input" id="comment-area"
rows="5"></textarea>
<div class="txt-right">
<button type="submit" class="submit-button height-auto"> Complete Order</button>
</div>
</form>
</div>
</div>
<%@include file="/component/footer.html" %>
<script>
window.onload = toggleActive("nav-order");
</script>
<%--
Created by IntelliJ IDEA.
User: ireneedriadr
Date: 11/3/17
Time: 3:45 PM
To change this template use File | Settings | File Templates.
--%>
<%@ include file="/component/header.html" %>
<%@ include file="/component/nav.html" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<div class="container">
<div class="wrapper row">
<div>
<div class="page-title row txt-center height-fit float-container">
<div class="float-left">
<h1 class="inline-block">TRANSACTION HISTORY</h1>
</div>
</div>
<div class="row inline-flex history-menu">
<a href="history">
<div>
My Previous Order
</div>
</a>
<a href="driver_history">
<div class="active">
Driver History
</div>
</a>
</div>
<div class="row txt-center">
<div class="history-list-group">
<form action="driver_hide_history" method="post">
<c:forEach var="item" items="${orderBeans}">
<div class="history-list-item">
<c:choose>
<c:when test="${item.getImage() != null}">
<img src='${item.getImage()}' class='driver-profile' alt='profile-image'>
</c:when>
<c:otherwise>
<img src='img/default-profile.png' class='driver-profile' alt='profile-image'>
</c:otherwise>
</c:choose>
<span class="color-grey date">
<fmt:formatDate value="${item.getTimestamp()}" var="formattedDate" type="date"
pattern="EEEE, MMMM dd YYYY"/>
${formattedDate}
</span>
<button class="submit-button button-red" type="submit" name="orderId"
value="${item.getId()}">
HIDE
</button>
<span>${item.getName()}</span>
<span class="location">
<div>
${item.getPickup()}
<img src="img/right-arrow.svg" alt=">" height="1" class="arrow-icon">
${item.getDestination()}
</div>
</span>
<span class="rating">
gave &nbsp; <span>${item.getRating()}</span> &nbsp; stars for this order
</span>
<span class="comment">
and left comment: <br>
<span>${item.getComment()}</span>
</span>
</div>
</c:forEach>
</form>
</div>
</div>
</div>
</div>
<%@include file="/component/footer.html" %>
<script>
window.onload = toggleActive("nav-history");
</script>