diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/models/UserModel.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/models/UserModel.java index 30cf9b8f4d8ba9309dc067b375afc5f1cb191f0e..90d2a5d118fec885cb203ed80e28d8215c3b633f 100644 --- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/models/UserModel.java +++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/models/UserModel.java @@ -2,188 +2,195 @@ package com.adaapa.identityservice.models; import com.adaapa.bean.UserBean; import com.adaapa.models.BaseModel; + import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; public class UserModel extends BaseModel { - Connection conn; - public UserModel(){ - super("users","id"); - } - - public UserBean parseResultSet(ResultSet rs) throws SQLException { - UserBean res = new UserBean(); - res.id = rs.getInt("id"); - res.name = rs.getString("name"); - res.email = rs.getString("email"); - res.username = rs.getString("username"); - res.phoneNumber = rs.getString("phone_number"); - return res; - } - - public UserBean findUser(Integer id) { - UserBean res = null; - - try { - ResultSet rs = find(id); - if (rs.next()) { - res = parseResultSet(rs); - } - } catch (Exception e) { - e.printStackTrace(); + Connection conn; + + public UserModel() { + super("users", "id"); + } + + public UserBean parseResultSet(ResultSet rs) throws SQLException { + UserBean res = new UserBean(); + res.id = rs.getInt("id"); + res.name = rs.getString("name"); + res.email = rs.getString("email"); + res.username = rs.getString("username"); + res.phoneNumber = rs.getString("phone_number"); + return res; } - return res; - } - public UserBean findUser(String username) { - UserBean res = null; - try { - ResultSet rs = query(String.format("SELECT * FROM %s WHERE username = '%s'", tableName, username ));; - if (rs.next()) { - res = parseResultSet(rs); - } - } catch (Exception e) { - e.printStackTrace(); + + public UserBean findUser(Integer id) { + UserBean res = null; + + try { + ResultSet rs = find(id); + if (rs.next()) { + res = parseResultSet(rs); + } + } catch (Exception e) { + e.printStackTrace(); + } + return res; + } + + public UserBean findUser(String username) { + UserBean res = null; + try { + ResultSet rs = query(String.format("SELECT * FROM %s WHERE username = '%s'", tableName, username)); + ; + if (rs.next()) { + res = parseResultSet(rs); + } + } catch (Exception e) { + e.printStackTrace(); + } + return res; + } + + public UserBean findUserByEmail(String email) { + UserBean res = null; + try { + ResultSet rs = query(String.format("SELECT * FROM %s WHERE email = '%s'", tableName, email)); + ; + if (rs.next()) { + res = parseResultSet(rs); + } + } catch (Exception e) { + e.printStackTrace(); + } + return res; } - return res; - } - public UserBean findUserByEmail(String email) { - UserBean res = null; - try { - ResultSet rs = query(String.format("SELECT * FROM %s WHERE email = '%s'", tableName, email)); - ; - if (rs.next()) { - res = parseResultSet(rs); - } - } catch (Exception e) { - e.printStackTrace(); + + /** + * @param username Username yang diterima oleh servlet + * @param password Password yang diterima oleh servlet + * @return UserBean object jika terautentikasi, null jika tidak + */ + public UserBean authenticate(String username, String password) { + UserBean ubean = null; + try { + ResultSet rs = query(String.format( + "SELECT * FROM %s WHERE username = '%s' and password = '%s'", + tableName, username, password)); + if (rs.next()) { + ubean = parseResultSet(rs); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + return ubean; + + } } - return res; - } - - /** - * - * @param username Username yang diterima oleh servlet - * @param password Password yang diterima oleh servlet - * @return UserBean object jika terautentikasi, null jika tidak - */ - public UserBean authenticate(String username, String password) { - UserBean ubean = null; - try { - ResultSet rs = query(String.format( - "SELECT * FROM %s WHERE username = '%s' and password = '%s'", - tableName, username, password)); - if(rs.next()) { - ubean = parseResultSet(rs); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - return ubean; + /** + * Menyimpan token yang telah digenerate + * + * @param token token yang sudah digenerate oleh generate token + * @return true jika token berhasil disimpan, false jika tidak berhasil + */ + public Boolean saveToken(Integer userId, String token) { + try { + ResultSet rs = queryUpdate(String.format( + "UPDATE %s SET last_token='%s',token_expire=DATE_ADD(now(), INTERVAL 7 DAY) where id=%d", this.tableName, token, userId + )); + } catch (SQLException e) { + e.printStackTrace(); + } + return true; } - } - - /** - * Menyimpan token yang telah digenerate - * @param token token yang sudah digenerate oleh generate token - * @return true jika token berhasil disimpan, false jika tidak berhasil - */ - public Boolean saveToken(Integer userId, String token) { - try { - ResultSet rs = queryUpdate(String.format( - "UPDATE %s SET last_token='%s',token_expire=DATE_ADD(now(), INTERVAL 7 DAY) where id=%d", this.tableName, token, userId - )); - } catch (SQLException e) { - e.printStackTrace(); + + public Boolean deleteToken(String token) { + try { + ResultSet rs = queryUpdate(String.format( + "UPDATE %s SET last_token=%s,token_expire=%s WHERE last_token='%s'", this.tableName, null, null, token + )); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return true; } - return true; - } - - public Boolean deleteToken(String token) { - try { - ResultSet rs = queryUpdate(String.format( - "UPDATE %s SET last_token=%s,token_expire=%s WHERE last_token='%s'",this.tableName,null,null,token - )); - } catch (SQLException e) { - e.printStackTrace(); - return false; + + + /** + * @return Userbean dimana token ditemukan, null validasi gagal + */ + public UserBean validateToken() { + return null; + } - return true; - } - - - /** - * - * @return Userbean dimana token ditemukan, null validasi gagal - */ - public UserBean validateToken() { - return null; - - } - - /** - * Fungsi untuk menyimpan data user yang akan diregister ke database - * @param user bean dari servlet - * @param password password yang diterima oleh servlet - * @return id yang didapatkan oleh user yang teregister, null jika register gagal - */ - public Integer register(UserBean user, String password) { - UserBean ubean = null; - Integer res = null; - UserBean ubeanuname = findUser(user.getUsername()); - UserBean ubeanemail = findUserByEmail(user.getEmail()); - if(ubeanuname == null && ubeanemail == null) { - ResultSet resultSet = null; - try { - resultSet = queryUpdate(String.format( - "INSERT INTO %s (name,email,username,password,phone_number)" - + "VALUES ('%s','%s','%s','%s','%s')", - tableName,user.name,user.email,user.username, password, user.phoneNumber - )); - } catch (Exception e) { - e.printStackTrace(); - } - - try { - ResultSet temp = query(String.format( - "SELECT * FROM %s WHERE username = '%s'", this.tableName, user.getUsername())); - if(temp.next()) { - ubean = parseResultSet(temp); + + /** + * Fungsi untuk menyimpan data user yang akan diregister ke database + * + * @param user bean dari servlet + * @param password password yang diterima oleh servlet + * @return id yang didapatkan oleh user yang teregister, null jika register gagal + */ + public Integer register(UserBean user, String password) { + UserBean ubean = null; + Integer res = null; + UserBean ubeanuname = findUser(user.getUsername()); + UserBean ubeanemail = findUserByEmail(user.getEmail()); + if (ubeanuname == null && ubeanemail == null) { + ResultSet resultSet = null; + try { + resultSet = queryUpdate(String.format( + "INSERT INTO %s (name,email,username,password,phone_number)" + + "VALUES ('%s','%s','%s','%s','%s')", + tableName, user.name, user.email, user.username, password, user.phoneNumber + )); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + ResultSet temp = query(String.format( + "SELECT * FROM %s WHERE username = '%s'", this.tableName, user.getUsername())); + if (temp.next()) { + ubean = parseResultSet(temp); + } + } catch (Exception e) { + e.printStackTrace(); + } + res = ubean.getId(); } - } catch (Exception e) { - e.printStackTrace(); - } - res = ubean.getId(); + + return res; } - return res; - } - - public UserBean findUserByToken(String token) { - UserBean res = null; - try { - ResultSet rs = query(String.format("SELECT * FROM %s WHERE last_token = '%s'", tableName, token ));; - if (rs.next()) { - Timestamp timestamp = rs.getTimestamp("token_expire"); - Timestamp currentTimestamp = new Timestamp(System.currentTimeMillis()); - if(timestamp.after(currentTimestamp)) { - res = parseResultSet(rs); + public UserBean findUserByToken(String token) { + UserBean res = null; + try { + ResultSet rs = query(String.format("SELECT * FROM %s WHERE last_token = '%s'", tableName, token)); + ; + if (rs.next()) { + Timestamp timestamp = rs.getTimestamp("token_expire"); + Timestamp currentTimestamp = new Timestamp(System.currentTimeMillis()); + if (timestamp.after(currentTimestamp)) { + res = parseResultSet(rs); + } + } + } catch (Exception e) { + e.printStackTrace(); } - } - } catch (Exception e) { - e.printStackTrace(); + return res; } - return res; - } - public void updateTokenLifetime(Integer userId) { - try { - ResultSet rs = queryUpdate(String.format( - "UPDATE %s SET token_expire=DATE_ADD(now(), INTERVAL 7 DAY) where id=%d", this.tableName, userId - )); - } catch (SQLException e) { - e.printStackTrace(); + + public void updateTokenLifetime(Integer userId) { + try { + ResultSet rs = queryUpdate(String.format( + "UPDATE %s SET token_expire=DATE_ADD(now(), INTERVAL 7 DAY) where id=%d", this.tableName, userId + )); + } catch (SQLException e) { + e.printStackTrace(); + } } - } } \ No newline at end of file diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/services/TokenService.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/services/TokenService.java index bfcede3ee40fec3750f2e9127b860ea907cf864c..0d44163a3e6a64775605612428a63ae490365270 100644 --- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/services/TokenService.java +++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/services/TokenService.java @@ -5,19 +5,20 @@ import java.util.Random; public class TokenService { - //TODO: generate Token + //TODO: generate Token - /** - * Generate token menghasilkan token string random - * @return token yang telah digenerate - */ - //TODO:Generate Token, validate token, regenerate token(bonus) - public String generateToken(){ - byte [] r = new byte[96]; - Random rand = new Random(); - rand.nextBytes(r); - String s = Base64.getEncoder().encodeToString(r); - return s; - } + /** + * Generate token menghasilkan token string random + * + * @return token yang telah digenerate + */ + //TODO:Generate Token, validate token, regenerate token(bonus) + public String generateToken() { + byte[] r = new byte[96]; + Random rand = new Random(); + rand.nextBytes(r); + String s = Base64.getEncoder().encodeToString(r); + return s; + } } diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LoginServlet.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LoginServlet.java index 2f96df8e973ce7b81e54bb9313301d9a67dc886c..d7344157451a0eebbcd8f2b6dd25059b81442db3 100644 --- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LoginServlet.java +++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LoginServlet.java @@ -5,43 +5,44 @@ import com.adaapa.bean.UserBean; import com.adaapa.identityservice.models.UserModel; import com.adaapa.identityservice.services.TokenService; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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; /** * Created by kennethhalim on 10/26/17. */ public class LoginServlet extends HttpServlet { - private String message; + private String message; - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - TokenService tokenService = new TokenService(); - String username = req.getParameter("username"); - String password = req.getParameter("password"); - PrintWriter out = resp.getWriter(); - Gson gson = new Gson(); - UserModel userModel = new UserModel(); - UserBean user= userModel.authenticate(username, password); - UserBean responseUser = new UserBean(); - if(user != null) { - //Call Generate token here, then save it to database via usermodel; - responseUser.username = user.username; - String access_token = tokenService.generateToken(); - userModel.saveToken(user.id, access_token); - out.println(gson.toJson(new LoginResponseBean("accepted",access_token, LoginResponseBean.TOKEN_AGE_DEFAULT, responseUser))); - } else { - out.println(gson.toJson(new LoginResponseBean("failed","",0,null))); + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + TokenService tokenService = new TokenService(); + String username = req.getParameter("username"); + String password = req.getParameter("password"); + PrintWriter out = resp.getWriter(); + Gson gson = new Gson(); + UserModel userModel = new UserModel(); + UserBean user = userModel.authenticate(username, password); + UserBean responseUser = new UserBean(); + if (user != null) { + //Call Generate token here, then save it to database via usermodel; + responseUser.username = user.username; + String access_token = tokenService.generateToken(); + userModel.saveToken(user.id, access_token); + out.println(gson.toJson(new LoginResponseBean("accepted", access_token, LoginResponseBean.TOKEN_AGE_DEFAULT, responseUser))); + } else { + out.println(gson.toJson(new LoginResponseBean("failed", "", 0, null))); + } } - } - public void destroy() { - // do nothing. - } + public void destroy() { + // do nothing. + } } diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LogoutServlet.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LogoutServlet.java index fbc633dc5bd836c24f8698a778f9e77dccae84fc..756018c8014ba361f71982418b3089beeb83af8e 100644 --- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LogoutServlet.java +++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/LogoutServlet.java @@ -3,28 +3,29 @@ package com.adaapa.identityservice.servlets; import com.adaapa.bean.LogoutResponseBean; import com.adaapa.identityservice.models.UserModel; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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 LogoutServlet extends HttpServlet { - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - String token = req.getParameter("access_token"); - UserModel userModel = new UserModel(); - PrintWriter out = resp.getWriter(); - LogoutResponseBean logoutResponse = new LogoutResponseBean(); - if(userModel.deleteToken(token)){ - logoutResponse.setStatus("accepted"); - } else { - logoutResponse.setStatus("failed"); + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + String token = req.getParameter("access_token"); + UserModel userModel = new UserModel(); + PrintWriter out = resp.getWriter(); + LogoutResponseBean logoutResponse = new LogoutResponseBean(); + if (userModel.deleteToken(token)) { + logoutResponse.setStatus("accepted"); + } else { + logoutResponse.setStatus("failed"); + } + Gson gson = new Gson(); + out.println(gson.toJson(logoutResponse)); } - Gson gson = new Gson(); - out.println(gson.toJson(logoutResponse)); - } } diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java index 39fe54b7c193057a6047e933f2d9879396a384bf..43223b3be3f0f4ae27c10ab014d534a624ac222b 100644 --- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java +++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java @@ -5,42 +5,43 @@ import com.adaapa.bean.UserBean; import com.adaapa.identityservice.models.UserModel; import com.adaapa.identityservice.services.TokenService; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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 RegisterServlet extends HttpServlet{ +public class RegisterServlet extends HttpServlet { - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - //Implement Register Here - UserBean user = new UserBean(); - UserModel userModel = new UserModel(); - UserModel usermodel = new UserModel(); - TokenService tokenService = new TokenService(); - //Parsing data - PrintWriter out = resp.getWriter(); - user.name = req.getParameter("name"); - user.username = req.getParameter("username"); - user.email = req.getParameter("email"); - user.phoneNumber = req.getParameter("phoneNumber"); - String password = req.getParameter("password"); - Gson gson = new Gson(); - user.id = userModel.register(user,password); - UserBean responseUser = new UserBean(); - if(user.id != null) { - //Register berhasil - //Generate token here, then save token - String token = tokenService.generateToken(); - userModel.saveToken(user.id, token); - responseUser.username = user.username; - out.println(gson.toJson(new LoginResponseBean("accepted",token, LoginResponseBean.TOKEN_AGE_DEFAULT, responseUser))); - } else { - out.println(gson.toJson(new LoginResponseBean("failed","",0,null))); + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + //Implement Register Here + UserBean user = new UserBean(); + UserModel userModel = new UserModel(); + UserModel usermodel = new UserModel(); + TokenService tokenService = new TokenService(); + //Parsing data + PrintWriter out = resp.getWriter(); + user.name = req.getParameter("name"); + user.username = req.getParameter("username"); + user.email = req.getParameter("email"); + user.phoneNumber = req.getParameter("phoneNumber"); + String password = req.getParameter("password"); + Gson gson = new Gson(); + user.id = userModel.register(user, password); + UserBean responseUser = new UserBean(); + if (user.id != null) { + //Register berhasil + //Generate token here, then save token + String token = tokenService.generateToken(); + userModel.saveToken(user.id, token); + responseUser.username = user.username; + out.println(gson.toJson(new LoginResponseBean("accepted", token, LoginResponseBean.TOKEN_AGE_DEFAULT, responseUser))); + } else { + out.println(gson.toJson(new LoginResponseBean("failed", "", 0, null))); + } } - } } \ No newline at end of file diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/TokenVerifier.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/TokenVerifier.java index b8227fd2ce9b609455d8d365a390598f936eff32..12d61aaa28c48e9e7e1fde0c68bd54c937946f53 100644 --- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/TokenVerifier.java +++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/TokenVerifier.java @@ -4,6 +4,7 @@ import com.adaapa.bean.TokenVerificationResponse; import com.adaapa.bean.UserBean; import com.adaapa.identityservice.models.UserModel; import com.google.gson.Gson; + import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; @@ -11,20 +12,20 @@ import javax.jws.WebService; @WebService(targetNamespace = "tokenverifier.adaapa.com") public class TokenVerifier { - @WebMethod(operationName = "verifyToken") - @WebResult(name = "userObjectInJSON") - public String verifyToken(@WebParam(name = "access_token") String access_token) { - UserModel userModel = new UserModel(); - UserBean userBean = userModel.findUserByToken(access_token); - TokenVerificationResponse response = new TokenVerificationResponse(); - if(userBean != null){ - userModel.updateTokenLifetime(userBean.getId()); - response.setStatus(TokenVerificationResponse.TOKEN_VALID); - response.setUser(userBean); - } else { - response.setStatus(TokenVerificationResponse.TOKEN_INVALID); + @WebMethod(operationName = "verifyToken") + @WebResult(name = "userObjectInJSON") + public String verifyToken(@WebParam(name = "access_token") String access_token) { + UserModel userModel = new UserModel(); + UserBean userBean = userModel.findUserByToken(access_token); + TokenVerificationResponse response = new TokenVerificationResponse(); + if (userBean != null) { + userModel.updateTokenLifetime(userBean.getId()); + response.setStatus(TokenVerificationResponse.TOKEN_VALID); + response.setUser(userBean); + } else { + response.setStatus(TokenVerificationResponse.TOKEN_INVALID); + } + return (new Gson().toJson(response)); } - return (new Gson().toJson(response)); - } } diff --git a/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/sun-jaxws.xml b/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/sun-jaxws.xml index eafa949fb970db8b9c56342bf40be916a0de604c..3d91e137f19cdffac2723b3fec009ca1273f3da7 100644 --- a/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/sun-jaxws.xml +++ b/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/sun-jaxws.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <endpoints - xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" - version="2.0"> + xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" + version="2.0"> - <endpoint - name="TokenVerifier" - implementation="com.adaapa.identityservice.servlets.TokenVerifier" - url-pattern="/verifytoken"/> + <endpoint + name="TokenVerifier" + implementation="com.adaapa.identityservice.servlets.TokenVerifier" + url-pattern="/verifytoken"/> </endpoints> diff --git a/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/web.xml b/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/web.xml index 5d45ac8b742bf506416357296c6f0d9211984286..5ed1f4bb89e6b07efc8f19135d4ba0c5ec9b81de 100644 --- a/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/web.xml +++ b/TugasBesar2_2017/IdentityService/src/main/webapp/WEB-INF/web.xml @@ -1,49 +1,49 @@ <?xml version="1.0" encoding="UTF-8"?> <web-app - xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://java.sun.com/xml/ns/j2ee" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" + version="4.0"> - <listener> - <listener-class> - com.sun.xml.ws.transport.http.servlet.WSServletContextListener - </listener-class> - </listener> + <listener> + <listener-class> + com.sun.xml.ws.transport.http.servlet.WSServletContextListener + </listener-class> + </listener> - <servlet> - <servlet-name>LoginServlet</servlet-name> - <servlet-class>com.adaapa.identityservice.servlets.LoginServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>LoginServlet</servlet-name> - <url-pattern>/login</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>LoginServlet</servlet-name> + <servlet-class>com.adaapa.identityservice.servlets.LoginServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>LoginServlet</servlet-name> + <url-pattern>/login</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>LogoutServlet</servlet-name> - <servlet-class>com.adaapa.identityservice.servlets.LogoutServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>LogoutServlet</servlet-name> - <url-pattern>/logout</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>LogoutServlet</servlet-name> + <servlet-class>com.adaapa.identityservice.servlets.LogoutServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>LogoutServlet</servlet-name> + <url-pattern>/logout</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>RegisterServlet</servlet-name> - <servlet-class>com.adaapa.identityservice.servlets.RegisterServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>RegisterServlet</servlet-name> - <url-pattern>/register</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>RegisterServlet</servlet-name> + <servlet-class>com.adaapa.identityservice.servlets.RegisterServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>RegisterServlet</servlet-name> + <url-pattern>/register</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>web-jaxws</servlet-name> - <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>web-jaxws</servlet-name> - <url-pattern>/</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>web-jaxws</servlet-name> + <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>web-jaxws</servlet-name> + <url-pattern>/</url-pattern> + </servlet-mapping> </web-app> diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/DriverBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/DriverBean.java index fc9bea91c8794733f830f06cf5a8bf1a795e3f49..0e8ee436184c446fd048b9c67d19003a33f84ceb 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/DriverBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/DriverBean.java @@ -2,60 +2,60 @@ package com.adaapa.bean; import java.io.Serializable; -public class DriverBean implements Serializable{ - private Integer id; - private String name; - private Double rating; - private Integer vote; - private String image; - private String username; - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getImage() { - return image; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public void setImage(String image) { - this.image = image; - } - - public String getName() { - return name; - } - - public Double getRating() { - return rating; - } - - public Integer getVote() { - return vote; - } - - public void setName(String name) { - this.name = name; - } - - public void setVote(Integer vote) { - this.vote = vote; - } - - public void setRating(Double rating) { - this.rating = rating; - } +public class DriverBean implements Serializable { + private Integer id; + private String name; + private Double rating; + private Integer vote; + private String image; + private String username; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getRating() { + return rating; + } + + public void setRating(Double rating) { + this.rating = rating; + } + + public Integer getVote() { + return vote; + } + + public void setVote(Integer vote) { + this.vote = vote; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginRequestBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginRequestBean.java index a9f14ee5d8bffcc41b5d0a6b8c73c28bc58f5ea6..7f56c222d83af460f4d88cb531fefc817cd59d1b 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginRequestBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginRequestBean.java @@ -5,19 +5,19 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; public class LoginRequestBean implements Serializable { - private String username; - private String password; + private String username; + private String password; - public LoginRequestBean (String username, String password) { - this.username = username; - this.password = password; - } + public LoginRequestBean(String username, String password) { + this.username = username; + this.password = password; + } - public String getURLParameter() throws UnsupportedEncodingException { - return String.format( - "username=%s&password=%s", - URLEncoder.encode(username, "UTF-8"), - URLEncoder.encode(password, "UTF-8") - ); - } + public String getURLParameter() throws UnsupportedEncodingException { + return String.format( + "username=%s&password=%s", + URLEncoder.encode(username, "UTF-8"), + URLEncoder.encode(password, "UTF-8") + ); + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginResponseBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginResponseBean.java index ca76bf60551a4ed4e67bdb6e8a9a3671ee2e0488..39c9c142e3c0cd3e361aea6345a80070558146e3 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginResponseBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginResponseBean.java @@ -3,41 +3,48 @@ package com.adaapa.bean; import java.io.Serializable; public class LoginResponseBean implements Serializable { - public static Integer TOKEN_AGE_DEFAULT = 60*60*24*365; - private String status; - private String access_token; - private UserBean user_bean; - private Integer age; - public LoginResponseBean(String status, String access_token,Integer age, UserBean userBean) { - setStatus(status); - setAge(age); - setAccessToken(access_token); - setUserBean(userBean); - } - - public Integer getAge() { - return age; - } - - public void setAge(Integer age) { - this.age = age; - } - public void setStatus(String status) { - this.status = status; - } - public void setAccessToken(String access_token) { - this.access_token = access_token; - } - public void setUserBean(UserBean userBean) { - this.user_bean = userBean; - } - public String getStatus() { - return status; - } - public String getAccessToken() { - return access_token; - } - public UserBean getUserBean() { - return user_bean; - } + public static Integer TOKEN_AGE_DEFAULT = 60 * 60 * 24 * 365; + private String status; + private String access_token; + private UserBean user_bean; + private Integer age; + + public LoginResponseBean(String status, String access_token, Integer age, UserBean userBean) { + setStatus(status); + setAge(age); + setAccessToken(access_token); + setUserBean(userBean); + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getAccessToken() { + return access_token; + } + + public void setAccessToken(String access_token) { + this.access_token = access_token; + } + + public UserBean getUserBean() { + return user_bean; + } + + public void setUserBean(UserBean userBean) { + this.user_bean = userBean; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LogoutResponseBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LogoutResponseBean.java index 96b38b10ada70bcba5c01fabc339390ed50ffb79..b2ed77a48d9d0af19b642a5eb70afa93db7ff6a9 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LogoutResponseBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LogoutResponseBean.java @@ -3,21 +3,21 @@ package com.adaapa.bean; import java.io.Serializable; public class LogoutResponseBean implements Serializable { - private String status; + private String status; - public LogoutResponseBean() { - this.status = status; - } + public LogoutResponseBean() { + this.status = status; + } - public LogoutResponseBean(String status) { - this.status = status; - } + public LogoutResponseBean(String status) { + this.status = status; + } - public void setStatus(String status) { - this.status = status; - } + public String getStatus() { + return status; + } - public String getStatus() { - return status; - } + public void setStatus(String status) { + this.status = status; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/OrderBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/OrderBean.java index 8de2a3554ba95375e745294948edf0497bf1f47a..dcb17bcda9a06df9c9085ea8d481fb36b1a3cd9b 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/OrderBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/OrderBean.java @@ -3,91 +3,103 @@ package com.adaapa.bean; import java.sql.Timestamp; public class OrderBean { - private Integer id; - private Integer userId; - private Integer driverId; - private Double rating; - private String pickup; - private String destination; - private String comment; - private String image; - private String name; - private String username; - private Timestamp timestamp; - - public Timestamp getTimestamp() { - return timestamp; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public void setTimestamp(Timestamp timestamp) { - this.timestamp = timestamp; - } - - public Double getRating() { - return rating; - } - - public Integer getDriverId() { - return driverId; - } - - public Integer getUserId() { - return userId; - } - - public String getComment() { - return comment; - } - - public String getDestination() { - return destination; - } - - public String getPickup() { - return pickup; - } - - public String getImage() { return image; } - - public String getName() { return name; } - - public String getUsername() { return username; } - - public void setRating(Double rating) { - this.rating = rating; - } - - public void setComment(String comment) { - this.comment = comment; - } - - public void setDestination(String destination) { - this.destination = destination; - } - - public void setDriverId(Integer driverId) { - this.driverId = driverId; - } - - public void setPickup(String pickup) { - this.pickup = pickup; - } - - public void setUserId(Integer userId) { - this.userId = userId; - } - - public void setImage(String image) { this.image = image;} - - public void setName(String name) { this.name = name;} - - public void setUsername(String name) { this.username = username;} + private Integer id; + private Integer userId; + private Integer driverId; + private Double rating; + private String pickup; + private String destination; + private String comment; + private String image; + private String name; + private String username; + private Timestamp timestamp; + + public Timestamp getTimestamp() { + return timestamp; + } + + public void setTimestamp(Timestamp timestamp) { + this.timestamp = timestamp; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Double getRating() { + return rating; + } + + public void setRating(Double rating) { + this.rating = rating; + } + + public Integer getDriverId() { + return driverId; + } + + public void setDriverId(Integer driverId) { + this.driverId = driverId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String destination) { + this.destination = destination; + } + + public String getPickup() { + return pickup; + } + + public void setPickup(String pickup) { + this.pickup = pickup; + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUsername() { + return username; + } + + public void setUsername(String name) { + this.username = username; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/PreferredLocationBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/PreferredLocationBean.java index 4b7449f524e5e4a9be30e8b48dfcd3a496126049..dcc4982bd55abb2af95827577e69ca1fddebe4e7 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/PreferredLocationBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/PreferredLocationBean.java @@ -3,22 +3,22 @@ package com.adaapa.bean; import java.io.Serializable; public class PreferredLocationBean implements Serializable { - Integer position; - String location; + Integer position; + String location; - public Integer getPosition() { - return position; - } + public Integer getPosition() { + return position; + } - public String getLocation() { - return location; - } + public void setPosition(Integer position) { + this.position = position; + } - public void setLocation(String location) { - this.location = location; - } + public String getLocation() { + return location; + } - public void setPosition(Integer position) { - this.position = position; - } + public void setLocation(String location) { + this.location = location; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/TokenVerificationResponse.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/TokenVerificationResponse.java index 6a9f5de00cba1ab6db1b95362ad3eba0ae9844d1..5661a58a20c15c3133fdb87577e763b34c29331f 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/TokenVerificationResponse.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/TokenVerificationResponse.java @@ -1,25 +1,25 @@ package com.adaapa.bean; public class TokenVerificationResponse { - public static final String TOKEN_VALID = "valid"; - public static final String TOKEN_INVALID = "invalid"; + public static final String TOKEN_VALID = "valid"; + public static final String TOKEN_INVALID = "invalid"; - private String status; - private UserBean user; + private String status; + private UserBean user; - public String getStatus() { - return status; - } + public String getStatus() { + return status; + } - public UserBean getUser() { - return user; - } + public void setStatus(String status) { + this.status = status; + } - public void setStatus(String status) { - this.status = status; - } + public UserBean getUser() { + return user; + } - public void setUser(UserBean user) { - this.user = user; - } + public void setUser(UserBean user) { + this.user = user; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/UserBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/UserBean.java index d9a0b48b34d9355ff661734f2c823d999323eff1..fbc74334494125cafc953385e054f6c733323c72 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/UserBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/UserBean.java @@ -2,38 +2,42 @@ package com.adaapa.bean; import java.io.Serializable; -public class UserBean implements Serializable{ - public Integer id; - public String name; - public String email; - public String username; - public String phoneNumber; - - public Boolean isDriver; - public String image; - - public String getName() { - return name; - } - public String getUsername(){ - return username; - } - public String getPhoneNumber(){ - return phoneNumber; - } - - public Boolean getIsDriver() { return isDriver; } - - public String getEmail() { - return email; - } - - - public String getImage() { - return image; - } - - public Integer getId() { - return id; - } +public class UserBean implements Serializable { + public Integer id; + public String name; + public String email; + public String username; + public String phoneNumber; + + public Boolean isDriver; + public String image; + + public String getName() { + return name; + } + + public String getUsername() { + return username; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public Boolean getIsDriver() { + return isDriver; + } + + public String getEmail() { + return email; + } + + + public String getImage() { + return image; + } + + public Integer getId() { + return id; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/WebServiceBean.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/WebServiceBean.java index c9eda1d3646f34c2b13043166de3e73a933b02d4..7d173a5d00d480a457afe870ed63c083f73c6031 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/WebServiceBean.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/WebServiceBean.java @@ -2,33 +2,35 @@ package com.adaapa.bean; import java.io.Serializable; -public class WebServiceBean implements Serializable{ - public static final String STATUS_VALID = "valid" ; - public static final String STATUS_INVALID = "invalid"; - private String status; - private String body; - - public WebServiceBean(String status, String body) { - setBody(body); - setStatus(status); - } - public WebServiceBean(){ - //do nothing - } - public void setStatus(String status) { - this.status = status; - } - - public void setBody(String body) { - this.body = body; - } - - public String getStatus() { - return status; - - } - - public String getBody() { - return body; - } +public class WebServiceBean implements Serializable { + public static final String STATUS_VALID = "valid"; + public static final String STATUS_INVALID = "invalid"; + private String status; + private String body; + + public WebServiceBean(String status, String body) { + setBody(body); + setStatus(status); + } + + public WebServiceBean() { + //do nothing + } + + public String getStatus() { + return status; + + } + + public void setStatus(String status) { + this.status = status; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConfiguration.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConfiguration.java index 0af20899c9a665ced22ce9da7852e44ce4cbeaf0..f215d3e60dac0ae4dd3365da0d42ef76cda8e3dd 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConfiguration.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConfiguration.java @@ -4,37 +4,38 @@ import java.io.InputStream; import java.util.Properties; public class DatabaseConfiguration { - private String db_name; - private String db_host; - private String db_user; - private String db_pass; - public DatabaseConfiguration() { - try { - Properties prop = new Properties(); - InputStream inp = this.getClass().getResourceAsStream("/config/db.properties"); - prop.load(inp); - db_name = prop.getProperty("DB_NAME"); - db_host = prop.getProperty("DB_HOST"); - db_pass = prop.getProperty("DB_PASS"); - db_user = prop.getProperty("DB_USER"); - } catch (Exception e) { - e.printStackTrace(); + private String db_name; + private String db_host; + private String db_user; + private String db_pass; + + public DatabaseConfiguration() { + try { + Properties prop = new Properties(); + InputStream inp = this.getClass().getResourceAsStream("/config/db.properties"); + prop.load(inp); + db_name = prop.getProperty("DB_NAME"); + db_host = prop.getProperty("DB_HOST"); + db_pass = prop.getProperty("DB_PASS"); + db_user = prop.getProperty("DB_USER"); + } catch (Exception e) { + e.printStackTrace(); + } } - } - public String getHost() { - return db_host; - } + public String getHost() { + return db_host; + } - public String getName() { - return db_name; - } + public String getName() { + return db_name; + } - public String getPass() { - return db_pass; - } + public String getPass() { + return db_pass; + } - public String getUser() { - return db_user; - } + public String getUser() { + return db_user; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConnector.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConnector.java index fb97b8b8505786d68ee0405e2aba287bb3b774a9..bd48d860cf490456927a16e1abed1c5a30355b52 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConnector.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConnector.java @@ -4,29 +4,30 @@ import java.sql.Connection; import java.sql.DriverManager; public class DatabaseConnector { - private static DatabaseConnector _instance; - private Connection conn =null; + private static DatabaseConnector _instance; + private Connection conn = null; + + private DatabaseConnector() { + DatabaseConfiguration config; + config = new DatabaseConfiguration(); + try { + Class.forName("com.mysql.jdbc.Driver").newInstance(); + conn = DriverManager.getConnection( + "jdbc:mysql://" + config.getHost() + "/" + config.getName(), config.getUser(), config.getPass()); + } catch (Exception e) { + e.printStackTrace(); + } - private DatabaseConnector() { - DatabaseConfiguration config; - config = new DatabaseConfiguration(); - try { - Class.forName("com.mysql.jdbc.Driver").newInstance(); - conn = DriverManager.getConnection( - "jdbc:mysql://"+config.getHost()+"/"+config.getName(),config.getUser(),config.getPass()); - } catch (Exception e) { - e.printStackTrace(); } - } - public static DatabaseConnector getInstance() { - if(_instance == null) { - _instance = new DatabaseConnector(); + public static DatabaseConnector getInstance() { + if (_instance == null) { + _instance = new DatabaseConnector(); + } + return _instance; } - return _instance; - } - public Connection getConn() { - return conn; - } + public Connection getConn() { + return conn; + } } diff --git a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/models/BaseModel.java b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/models/BaseModel.java index 310884a42b7fdd1b9b059685c846f873aa1755e2..5416b8322653148b21c9462daa233a7e503eeba1 100644 --- a/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/models/BaseModel.java +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/models/BaseModel.java @@ -1,36 +1,36 @@ package com.adaapa.models; import com.adaapa.databases.DatabaseConnector; + import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public abstract class BaseModel { - protected Connection db; - protected String tableName; - protected String primaryKey; + protected Connection db; + protected String tableName; + protected String primaryKey; + + public BaseModel(String tableName, String primaryKey) { + db = DatabaseConnector.getInstance().getConn(); + this.tableName = tableName; + this.primaryKey = primaryKey; + } - public - BaseModel(String tableName, String primaryKey) { - db = DatabaseConnector.getInstance().getConn(); - this.tableName = tableName; - this.primaryKey = primaryKey; - } + public ResultSet query(String query) throws SQLException { + Statement stm = db.createStatement(); + stm.executeQuery(query); + return stm.getResultSet(); + } - public ResultSet query(String query) throws SQLException { - Statement stm = db.createStatement(); - stm.executeQuery(query); - return stm.getResultSet(); - } - public ResultSet queryUpdate(String query) throws SQLException { - Statement stm = db.createStatement(); - stm.executeUpdate(query); - return stm.getResultSet(); - } + public ResultSet queryUpdate(String query) throws SQLException { + Statement stm = db.createStatement(); + stm.executeUpdate(query); + return stm.getResultSet(); + } - public ResultSet find(Integer id) throws SQLException - { - return query(String.format("SELECT * FROM %s WHERE %s = %d", tableName, primaryKey, id)); - } + public ResultSet find(Integer id) throws SQLException { + return query(String.format("SELECT * FROM %s WHERE %s = %d", tableName, primaryKey, id)); + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/middlewares/CookieCheck.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/middlewares/CookieCheck.java index 362415cc505a584c8920f51b9faec787813e8616..07c57938086d29b06960f438ea393f0419e6b159 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/middlewares/CookieCheck.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/middlewares/CookieCheck.java @@ -2,36 +2,39 @@ package com.adaapa.adaojek.middlewares; import com.adaapa.adaojek.stub.ApplicationCookie; import com.google.gson.Gson; -import java.io.IOException; -import java.util.Base64; + import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Base64; public class CookieCheck { - public static ApplicationCookie getCookie(HttpServletRequest req) { - ApplicationCookie cookie = null; - Gson gson = new Gson(); - for(Cookie item : req.getCookies()) { - if(item.getName().equals("adaapa")) { - cookie = gson.fromJson(new String(Base64.getDecoder().decode(item.getValue())),ApplicationCookie.class); - break; - } + public static ApplicationCookie getCookie(HttpServletRequest req) { + ApplicationCookie cookie = null; + Gson gson = new Gson(); + for (Cookie item : req.getCookies()) { + if (item.getName().equals("adaapa")) { + cookie = gson.fromJson(new String(Base64.getDecoder().decode(item.getValue())), ApplicationCookie.class); + break; + } + } + return cookie; } - return cookie; - } - public static Boolean redirectIfTokenNotFound(HttpServletRequest req, HttpServletResponse resp, String redirectTo) throws IOException { - if(getCookie(req) == null) { - resp.sendRedirect(redirectTo); - return true; + + public static Boolean redirectIfTokenNotFound(HttpServletRequest req, HttpServletResponse resp, String redirectTo) throws IOException { + if (getCookie(req) == null) { + resp.sendRedirect(redirectTo); + return true; + } + return false; } - return false; - } - public static Boolean redirectIfTokenFound(HttpServletRequest req, HttpServletResponse resp, String redirectTo) throws IOException{ - if(getCookie(req) != null) { - resp.sendRedirect(redirectTo); - return true; + + public static Boolean redirectIfTokenFound(HttpServletRequest req, HttpServletResponse resp, String redirectTo) throws IOException { + if (getCookie(req) != null) { + resp.sendRedirect(redirectTo); + return true; + } + return false; } - return false; - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/DomainConfig.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/DomainConfig.java index 2ef8aa9a11cbebee04726c267f62ad9bb776c72e..309243b9b614ed7ea6278793e35bc31ba2b03427 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/DomainConfig.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/DomainConfig.java @@ -4,35 +4,36 @@ import java.io.InputStream; import java.util.Properties; public class DomainConfig { - private static final String file_name = "/config/domain.properties"; - private static DomainConfig _instance = null; - private String is_domain; - private String ws_domain; + private static final String file_name = "/config/domain.properties"; + private static DomainConfig _instance = null; + private String is_domain; + private String ws_domain; - public DomainConfig () { - try { - Properties prop = new Properties(); - InputStream inp = this.getClass().getResourceAsStream(file_name); - prop.load(inp); - is_domain = prop.getProperty("IDSERVICE_DOMAIN"); - ws_domain = prop.getProperty("WEBSERVICE_DOMAIN"); - } catch (Exception e) { - e.printStackTrace(); + public DomainConfig() { + try { + Properties prop = new Properties(); + InputStream inp = this.getClass().getResourceAsStream(file_name); + prop.load(inp); + is_domain = prop.getProperty("IDSERVICE_DOMAIN"); + ws_domain = prop.getProperty("WEBSERVICE_DOMAIN"); + } catch (Exception e) { + e.printStackTrace(); + } } - } - public static DomainConfig getInstance() { - if(_instance == null) { - _instance = new DomainConfig(); + public static DomainConfig getInstance() { + if (_instance == null) { + _instance = new DomainConfig(); + } + return _instance; } - return _instance; - } - public String getISDomain() { - return is_domain; - } - public String getWSDomain() { - return ws_domain; - } + public String getISDomain() { + return is_domain; + } + + public String getWSDomain() { + return ws_domain; + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/RequestSender.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/RequestSender.java index 16b5969281272347c0ef38386b92176cb6aafb2f..90f7916133f741356494da8400f3ed6d03e548ba 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/RequestSender.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/RequestSender.java @@ -10,27 +10,27 @@ import java.net.URL; public class RequestSender { - public static String sendRequest(String url, String method, String contentType, String payload) - throws IOException, ProfileDataException { - URL obj = new URL(url); - HttpURLConnection con = (HttpURLConnection) obj.openConnection(); - con.setRequestProperty("User-Agent", "JavaServlet"); - con.setRequestProperty("Content-Type", contentType); - con.setDoOutput(true); - con.setRequestMethod(method); - DataOutputStream wr = new DataOutputStream( - con.getOutputStream()); - wr.writeBytes(payload); - wr.flush(); - wr.close(); - con.connect(); - StringBuffer response = new StringBuffer(); - BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); - String inputLine; - while ((inputLine = in.readLine()) != null) { - response.append(inputLine); + public static String sendRequest(String url, String method, String contentType, String payload) + throws IOException, ProfileDataException { + URL obj = new URL(url); + HttpURLConnection con = (HttpURLConnection) obj.openConnection(); + con.setRequestProperty("User-Agent", "JavaServlet"); + con.setRequestProperty("Content-Type", contentType); + con.setDoOutput(true); + con.setRequestMethod(method); + DataOutputStream wr = new DataOutputStream( + con.getOutputStream()); + wr.writeBytes(payload); + wr.flush(); + wr.close(); + con.connect(); + StringBuffer response = new StringBuffer(); + BufferedReader in = new BufferedReader( + new InputStreamReader(con.getInputStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + return response.toString(); } - return response.toString(); - } } \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/ServiceConnector.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/ServiceConnector.java index 175cd3f7eb6dc498046187a85bc4362e2da1a3e8..2f557bf52ec4864f71b4aa525a379d37c927bdcc 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/ServiceConnector.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/services/ServiceConnector.java @@ -2,24 +2,26 @@ package com.adaapa.adaojek.services; import com.adaapa.ojekservice.OjekOnline; import com.adaapa.ojekservice.OjekOnlineService; + import java.net.MalformedURLException; public class ServiceConnector { - private static ServiceConnector instance; - private static String CONTEXT_PATH = "/OjekOnline"; - private static String WSDL_PATH = "?wsdl"; - private static String SERVICE_NAMESPACE = "http://ojekservice.adaapa.com/"; - private static String LOCAL_PATH = "OjekOnlineService"; - private static OjekOnline serviceClass; - public ServiceConnector() throws MalformedURLException{ - OjekOnlineService service = new OjekOnlineService(); - serviceClass = service.getOjekOnlinePort(); - } + private static ServiceConnector instance; + private static String CONTEXT_PATH = "/OjekOnline"; + private static String WSDL_PATH = "?wsdl"; + private static String SERVICE_NAMESPACE = "http://ojekservice.adaapa.com/"; + private static String LOCAL_PATH = "OjekOnlineService"; + private static OjekOnline serviceClass; + + public ServiceConnector() throws MalformedURLException { + OjekOnlineService service = new OjekOnlineService(); + serviceClass = service.getOjekOnlinePort(); + } - public static OjekOnline getServiceClass() throws MalformedURLException { - if(serviceClass == null) { - instance = new ServiceConnector(); + public static OjekOnline getServiceClass() throws MalformedURLException { + if (serviceClass == null) { + instance = new ServiceConnector(); + } + return serviceClass; } - return serviceClass; - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ChatDriverServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ChatDriverServlet.java new file mode 100644 index 0000000000000000000000000000000000000000..e0f9792716c6f1df20b548d7e5959198be11f238 --- /dev/null +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ChatDriverServlet.java @@ -0,0 +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.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; + + +/** + * Created by ireneedriadr on 11/21/17. + */ +public class ChatDriverServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + if (!CookieCheck.redirectIfTokenNotFound(req, resp, "logout")) { + String pickup = req.getParameter("pickUp"); + String destination = req.getParameter("destination"); + req.setAttribute("pickup", pickup); + req.setAttribute("destination", destination); + ApplicationCookie cookie = CookieCheck.getCookie(req); + req.setAttribute("user", cookie.getUsername()); + Gson gson = new Gson(); + String response = ServiceConnector.getServiceClass(). + findDriverByUsername(cookie.getToken(), req.getParameter("driverId")); + WebServiceBean wsBean = gson.fromJson(response, WebServiceBean.class); + if (wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) { + resp.sendRedirect("logout"); + } else { + UserBean ubean = gson.fromJson(wsBean.getBody(), UserBean.class); + req.setAttribute("driverProfile", ubean); + req.getRequestDispatcher("WEB-INF/chat_driver.jsp").forward(req, resp); + } + } + } +} diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/CompleteOrderServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/CompleteOrderServlet.java index a68a1e7c0a803add2050e3d5f11c0992209ba3e8..e4c7532c9f007ca1c0b90407d1377bb209d5ecdd 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/CompleteOrderServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/CompleteOrderServlet.java @@ -8,57 +8,58 @@ 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 CompleteOrderServlet extends HttpServlet{ +public class CompleteOrderServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - if(!CookieCheck.redirectIfTokenNotFound(req,resp,"logout")) { - String pickup = req.getParameter("pickUp"); - String destination = req.getParameter("destination"); - req.setAttribute("pickup", pickup); - req.setAttribute("destination", destination); - ApplicationCookie cookie = CookieCheck.getCookie(req); - req.setAttribute("user", cookie.getUsername()); - Gson gson = new Gson(); - String response = ServiceConnector.getServiceClass(). - findDriverByUsername(cookie.getToken(),req.getParameter("driverId")); - WebServiceBean wsBean = gson.fromJson(response,WebServiceBean.class); - if(wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) { - resp.sendRedirect("logout"); - } else { - UserBean ubean = gson.fromJson(wsBean.getBody(),UserBean.class); - req.setAttribute("driverProfile", ubean); - req.getRequestDispatcher("WEB-INF/complete_order.jsp").forward(req, resp); - } + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + if (!CookieCheck.redirectIfTokenNotFound(req, resp, "logout")) { + String pickup = req.getParameter("pickUp"); + String destination = req.getParameter("destination"); + req.setAttribute("pickup", pickup); + req.setAttribute("destination", destination); + ApplicationCookie cookie = CookieCheck.getCookie(req); + req.setAttribute("user", cookie.getUsername()); + Gson gson = new Gson(); + String response = ServiceConnector.getServiceClass(). + findDriverByUsername(cookie.getToken(), req.getParameter("driverId")); + WebServiceBean wsBean = gson.fromJson(response, WebServiceBean.class); + if (wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) { + resp.sendRedirect("logout"); + } else { + UserBean ubean = gson.fromJson(wsBean.getBody(), UserBean.class); + req.setAttribute("driverProfile", ubean); + req.getRequestDispatcher("WEB-INF/complete_order.jsp").forward(req, resp); + } + } } - } - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - if(!CookieCheck.redirectIfTokenNotFound(req,resp,"login")) { - OrderBean orderBean = new OrderBean(); - orderBean.setDriverId(Integer.parseInt(req.getParameter("driverId"))); - orderBean.setPickup(req.getParameter("pickUp")); - orderBean.setComment(req.getParameter("comment")); - orderBean.setDestination(req.getParameter("destination")); - orderBean.setRating(Double.parseDouble(req.getParameter("rating"))); - Gson gson = new Gson(); - ApplicationCookie cookie = CookieCheck.getCookie(req); - OjekOnline service = ServiceConnector.getServiceClass(); - WebServiceBean wsBean = gson.fromJson(service.completeOrder(cookie.getToken(),gson.toJson(orderBean)), WebServiceBean.class); - if(wsBean.getStatus().equals(WebServiceBean.STATUS_VALID)) { - resp.sendRedirect("history"); - } else { - resp.sendRedirect("logout"); - } + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) { + OrderBean orderBean = new OrderBean(); + orderBean.setDriverId(Integer.parseInt(req.getParameter("driverId"))); + orderBean.setPickup(req.getParameter("pickUp")); + orderBean.setComment(req.getParameter("comment")); + orderBean.setDestination(req.getParameter("destination")); + orderBean.setRating(Double.parseDouble(req.getParameter("rating"))); + Gson gson = new Gson(); + ApplicationCookie cookie = CookieCheck.getCookie(req); + OjekOnline service = ServiceConnector.getServiceClass(); + WebServiceBean wsBean = gson.fromJson(service.completeOrder(cookie.getToken(), gson.toJson(orderBean)), WebServiceBean.class); + if (wsBean.getStatus().equals(WebServiceBean.STATUS_VALID)) { + resp.sendRedirect("history"); + } else { + resp.sendRedirect("logout"); + } + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DeletePreferredLocationServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DeletePreferredLocationServlet.java index 17a796f9b85363884456cdc189e910375e065b49..efcf19982b5b3cf83a93f9306f31c3a012db0f0c 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DeletePreferredLocationServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DeletePreferredLocationServlet.java @@ -6,28 +6,28 @@ import com.adaapa.adaojek.stub.ApplicationCookie; import com.adaapa.bean.WebServiceBean; import com.adaapa.ojekservice.OjekOnline; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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 DeletePreferredLocationServlet extends HttpServlet { - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - Integer position = Integer.parseInt(req.getParameter("position")); - if(!CookieCheck.redirectIfTokenNotFound(req,resp,"login")){ - OjekOnline service = ServiceConnector.getServiceClass(); - ApplicationCookie cookie = CookieCheck.getCookie(req); - WebServiceBean response = new Gson().fromJson(service.deletePreferredLocation(cookie.getToken(),position), WebServiceBean.class); - if(response.getStatus().equals(WebServiceBean.STATUS_INVALID)) { - resp.sendRedirect("logout"); - } else { - resp.sendRedirect("preferred_location"); - } + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Integer position = Integer.parseInt(req.getParameter("position")); + if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) { + OjekOnline service = ServiceConnector.getServiceClass(); + ApplicationCookie cookie = CookieCheck.getCookie(req); + WebServiceBean response = new Gson().fromJson(service.deletePreferredLocation(cookie.getToken(), position), WebServiceBean.class); + if (response.getStatus().equals(WebServiceBean.STATUS_INVALID)) { + resp.sendRedirect("logout"); + } else { + resp.sendRedirect("preferred_location"); + } + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHideHistoryServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHideHistoryServlet.java index 46d500c1ae0d5cca8585b6a3b31b2872da6513e3..3eaf1b52689c8bd4da458d03b6696074e1d7fbb8 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHideHistoryServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHideHistoryServlet.java @@ -6,28 +6,29 @@ import com.adaapa.adaojek.stub.ApplicationCookie; 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 DriverHideHistoryServlet 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.hideDriverHistory(cookie.getToken(),orderId),WebServiceBean.class); - if(webServiceBean.getStatus().equals(WebServiceBean.STATUS_VALID)) { - resp.sendRedirect("driver_history"); - } else { - resp.sendRedirect("logout"); - } + @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.hideDriverHistory(cookie.getToken(), orderId), WebServiceBean.class); + if (webServiceBean.getStatus().equals(WebServiceBean.STATUS_VALID)) { + resp.sendRedirect("driver_history"); + } else { + resp.sendRedirect("logout"); + } + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHistoryServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHistoryServlet.java index a7a34d44389c357faa84c2b834b6302b8450fe7c..bd6f86782de5006ef1594c403172003e885223a4 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHistoryServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/DriverHistoryServlet.java @@ -7,35 +7,36 @@ import com.adaapa.bean.OrderBean; import com.adaapa.bean.WebServiceBean; import com.adaapa.ojekservice.OjekOnline; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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 { + @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); - } + 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"); + req.getRequestDispatcher("WEB-INF/driver_history.jsp").forward(req, resp); + } else + resp.sendRedirect("logout"); + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditPreferredLocationServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditPreferredLocationServlet.java index 2ca5b6b8b799c174d3018261a73ff3079b884674..d0b47c56cd2f9549f2543e9945fbe335f02605ed 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditPreferredLocationServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditPreferredLocationServlet.java @@ -6,30 +6,31 @@ import com.adaapa.adaojek.stub.ApplicationCookie; 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 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"); + @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"); - } - } + } else { + resp.sendRedirect("preferred_location"); + } + } - } + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditProfileServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditProfileServlet.java index a9add1d90c883967284d7c8159b826aaeb43b156..501e9bed4e98d05fd5de74b57f16d7032aa02246 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditProfileServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/EditProfileServlet.java @@ -7,63 +7,63 @@ import com.adaapa.bean.UserBean; import com.adaapa.bean.WebServiceBean; import com.adaapa.ojekservice.OjekOnline; import com.google.gson.Gson; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.PrintWriter; -import java.util.Base64; + 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{ +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 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); + @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"); + Gson gson = new Gson(); + service.editProfile(cookie.getToken(), gson.toJson(userBean)); + resp.sendRedirect("profile"); - } + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/FindDriverServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/FindDriverServlet.java index ecb787bcd8668bc82440956594bbd4164cfb8d6f..19f615cc11ff8bfe20350ca40ee76f650fc78c94 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/FindDriverServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/FindDriverServlet.java @@ -7,19 +7,20 @@ import com.adaapa.bean.DriverBean; import com.adaapa.bean.WebServiceBean; import com.adaapa.ojekservice.OjekOnline; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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")) { + if (!CookieCheck.redirectIfTokenNotFound(req, resp, "login")) { ApplicationCookie cookie = CookieCheck.getCookie(req); req.setAttribute("user", cookie.getUsername()); OjekOnline service = ServiceConnector.getServiceClass(); @@ -28,16 +29,16 @@ public class FindDriverServlet extends HttpServlet { Gson gson = new Gson(); String pickup = req.getParameter("pickUp"); String destination = req.getParameter("destination"); - req.setAttribute("pickup",pickup); - req.setAttribute("destination",destination); + req.setAttribute("pickup", pickup); + req.setAttribute("destination", destination); String preferredDriver = req.getParameter("preferredDriver"); - if(!preferredDriver.equals("")) { + if (!preferredDriver.equals("")) { WebServiceBean webServiceBean = gson - .fromJson(service.findDriver(token, preferredDriver), WebServiceBean.class); + .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); + DriverBean[] driverBeans = gson.fromJson(webServiceBean.getBody(), DriverBean[].class); req.setAttribute("preferredDrivers", driverBeans); req.setAttribute("preferredDriversLength", driverBeans.length); @@ -46,15 +47,15 @@ public class FindDriverServlet extends HttpServlet { req.setAttribute("preferredDriversLength", 0); } WebServiceBean wsBean = gson. - fromJson(service.findDriverByPreferredLocation(cookie.getToken(),pickup,destination), - WebServiceBean.class); - if(wsBean.getStatus().equals(WebServiceBean.STATUS_INVALID)) { + 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); + 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); + req.getRequestDispatcher("WEB-INF/find_driver.jsp").forward(req, resp); } } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/HistoryServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/HistoryServlet.java index fc4958ebbd99a415ef493c256d8c5e1732c3d439..edbe5cf472463a5fce53b0f08098dbe45d3a4b3f 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/HistoryServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/HistoryServlet.java @@ -11,33 +11,34 @@ import com.adaapa.bean.OrderBean; import com.adaapa.bean.WebServiceBean; import com.adaapa.ojekservice.OjekOnline; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; + 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 { + @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"); + 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 diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/IndexServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/IndexServlet.java index 3beb45769d835784ec0f9993cd2fc83a041e96fd..53e2b3b5b617e8a2a14f7475637a86c5aa66558f 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/IndexServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/IndexServlet.java @@ -1,16 +1,16 @@ package com.adaapa.adaojek.servlets; -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 IndexServlet extends HttpServlet{ +public class IndexServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - resp.sendRedirect("login"); - } + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + resp.sendRedirect("login"); + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LoginServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LoginServlet.java index 416078e25c8126f1c595b072b433262981b1a6dd..2596b2437c09aa80e1148c7e08a7c473efee4b6b 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LoginServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LoginServlet.java @@ -8,51 +8,53 @@ import com.adaapa.adaojek.stub.ApplicationCookie; import com.adaapa.bean.LoginRequestBean; import com.adaapa.bean.LoginResponseBean; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Base64; + 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"; -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 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"); - LoginRequestBean loginBean = new LoginRequestBean(username, password); - 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); + + @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"); + LoginRequestBean loginBean = new LoginRequestBean(username, password); + 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); + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LogoutServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LogoutServlet.java index e6c64db2664a8b68c12b7b0fb77364c62f316331..d424263279f0247508aa9f535f70da37c0478db6 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LogoutServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/LogoutServlet.java @@ -5,42 +5,44 @@ import com.adaapa.adaojek.services.DomainConfig; import com.adaapa.adaojek.services.RequestSender; import com.adaapa.bean.LogoutResponseBean; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; -import java.net.URLEncoder; + 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"); + 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"); + } } - } } 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 462d550aa6b09a5324cd2f0ba5257f652b75f81c..25362f26bedc512e92d9234e68c278ce1023bc5a 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,20 +1,21 @@ package com.adaapa.adaojek.servlets; import com.adaapa.adaojek.middlewares.CookieCheck; -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 { - @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); + @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); + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/PreferredLocationServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/PreferredLocationServlet.java index a79a9327f0d59384e79a33dc391422c9df0af38c..5cb715a02c4161f7ed9d92b6bfadafd58a1dba1a 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/PreferredLocationServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/PreferredLocationServlet.java @@ -7,46 +7,47 @@ import com.adaapa.bean.PreferredLocationBean; 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 PreferredLocationServlet extends HttpServlet{ +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 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"); - } + @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"); + } + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ProfileServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ProfileServlet.java index aefdd7580e9700da3ee0e84ae60577ef138202c8..b663a6fed56de34e73c19f1e621ac1484f6fa45f 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ProfileServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/ProfileServlet.java @@ -8,55 +8,57 @@ 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 java.io.PrintWriter; + 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); + 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(); - } + 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); + } } - req.setAttribute("user", CookieCheck.getCookie(req).getUsername()); - req.setAttribute("userProfile", ubean); - req.getRequestDispatcher("WEB-INF/profile.jsp").forward(req, resp); - } - } - } + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java index a9c8f7e6237dbab3907a180580203d19c17efe53..04315e6272e3af737190f3c06f95f40a2598c09d 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java @@ -8,73 +8,73 @@ import com.adaapa.adaojek.stub.ApplicationCookie; import com.adaapa.bean.LoginResponseBean; import com.adaapa.bean.UserBean; import com.google.gson.Gson; -import java.io.IOException; -import java.io.PrintWriter; -import java.net.URLEncoder; -import java.util.Base64; + 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(); +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 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; - 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", - 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); - LoginResponseBean loginResponse = gson.fromJson(RequestSender.sendRequest( - domain.getISDomain()+REGISTER_URL, "POST","application/x-www-form-urlencoded", - payload - ),LoginResponseBean.class); + @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; + 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", + 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); + 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); - } + 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); + } - } + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/UserHideHistoryServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/UserHideHistoryServlet.java index e7d53327bab62b5d4e9ddf7d352655c5a40ab2ad..758692b8f3b0aca320c87d842705af9a27adc1c1 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/UserHideHistoryServlet.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/UserHideHistoryServlet.java @@ -6,27 +6,28 @@ import com.adaapa.adaojek.stub.ApplicationCookie; 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 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"); - } +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"); + } + } } - } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/stub/ApplicationCookie.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/stub/ApplicationCookie.java index 039d8c42951497e0bb2891bc4e7c32250493d57e..33b86c60f1d52c67abf541f992dbb43ccb9ac4d5 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/stub/ApplicationCookie.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/stub/ApplicationCookie.java @@ -2,20 +2,20 @@ package com.adaapa.adaojek.stub; public class ApplicationCookie { - private String access_token; - private String username; + private String access_token; + private String username; - public ApplicationCookie(String access_token, String username){ - this.access_token = access_token; - this.username = username; - } + public ApplicationCookie(String access_token, String username) { + this.access_token = access_token; + this.username = username; + } - public String getUsername() { - return username; - } + public String getUsername() { + return username; + } - public String getToken() { - return access_token; - } + public String getToken() { + return access_token; + } } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnline.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnline.java index 0b48186bba6f5384e0b05b1dbe5ce3c7c79fc8fd..248f917ba7a8823d378bd296a86e82e200dd7509 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnline.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnline.java @@ -1,4 +1,3 @@ - package com.adaapa.ojekservice; import javax.jws.WebMethod; @@ -13,7 +12,6 @@ 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) @@ -21,250 +19,218 @@ public interface OjekOnline { /** - * * @param accessToken * @param user - * @return - * returns java.lang.String + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken, + @WebParam(name = "user", partName = "user") + String user); /** - * * @param accessToken - * @return - * returns java.lang.String + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken); /** - * * @param accessToken - * @return - * returns java.lang.String + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken); /** - * * @param accessToken - * @return - * returns java.lang.String + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken); /** - * * @param location * @param accessToken - * @return - * returns java.lang.String + * @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); + @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 + * @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); + @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 + * @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); + @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 + * @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); + @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 + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken, + @WebParam(name = "order", partName = "order") + String order); /** - * * @param accessToken - * @return - * returns java.lang.String + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken); /** - * * @param accessToken - * @return - * returns java.lang.String + * @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); + @WebParam(name = "access_token", partName = "access_token") + String accessToken); /** - * * @param orderId * @param accessToken - * @return - * returns java.lang.String + * @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); + @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 + * @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); + @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 + * @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); + @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 + * @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); + @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 + * @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); + @WebParam(name = "arg0", partName = "arg0") + String arg0, + @WebParam(name = "arg1", partName = "arg1") + String arg1); } diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnlineService.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnlineService.java index c646ef7b90639cef8ca4209414bbac6d00b3568d..c45be2c1ac965c611a3cb09695a540fd2a461af9 100644 --- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnlineService.java +++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/ojekservice/OjekOnlineService.java @@ -1,26 +1,19 @@ - package com.adaapa.ojekservice; +import javax.xml.namespace.QName; +import javax.xml.ws.*; import java.net.MalformedURLException; import java.net.URL; -import javax.xml.namespace.QName; -import javax.xml.ws.Service; -import javax.xml.ws.WebEndpoint; -import javax.xml.ws.WebServiceClient; -import javax.xml.ws.WebServiceException; -import javax.xml.ws.WebServiceFeature; /** * 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 -{ + extends Service { private final static URL OJEKONLINESERVICE_WSDL_LOCATION; private final static WebServiceException OJEKONLINESERVICE_EXCEPTION; @@ -62,10 +55,15 @@ public class OjekOnlineService super(wsdlLocation, serviceName, features); } + private static URL __getWsdlLocation() { + if (OJEKONLINESERVICE_EXCEPTION != null) { + throw OJEKONLINESERVICE_EXCEPTION; + } + return OJEKONLINESERVICE_WSDL_LOCATION; + } + /** - * - * @return - * returns OjekOnline + * @return returns OjekOnline */ @WebEndpoint(name = "OjekOnlinePort") public OjekOnline getOjekOnlinePort() { @@ -73,22 +71,12 @@ public class OjekOnlineService } /** - * - * @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 + * @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); } - private static URL __getWsdlLocation() { - if (OJEKONLINESERVICE_EXCEPTION!= null) { - throw OJEKONLINESERVICE_EXCEPTION; - } - return OJEKONLINESERVICE_WSDL_LOCATION; - } - } diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/chat_driver.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/chat_driver.jsp index 29e3b866c1116bb109d64db6e7526f9734cccb36..f7449b184c55d876abd3a0da0221818ab1eacd64 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/chat_driver.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/chat_driver.jsp @@ -1,6 +1,7 @@ -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> -<div class="container"> +<%@ 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"> @@ -9,6 +10,7 @@ </div> </div> </div> + <div class="order-menu"> <ul class="order-ul"> <li class="order-item"> @@ -21,29 +23,62 @@ </li> <li class="order-item active"> <div class="order-number">3</div> - <div class="order-number-desc"><span>Chat Driver</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"><span>Complete your order</div> + <div class="order-number-desc">Complete your order</div> </li> </ul> </div> - <div class="chat-box"> - <div class="chat-box-control"> - <form action="#" class="chat-input" method="POST" onsubmit="#"> - <input type="text" class="text-input" name="location"> - <button type="submit" class="send-button"> Kirim </button> + + <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"> - <button type="submit" class="close-button"> CLOSE </button> + <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"%> +<%@ 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> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/complete_order.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/complete_order.jsp index 4adfc094366d5e8962b87bc3e40ff0fac4407731..3efcf8314815e0b9b8d75fd872010c0c527f8481 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/complete_order.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/complete_order.jsp @@ -1,6 +1,5 @@ - -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ 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" %> @@ -25,11 +24,11 @@ </li> <li class="order-item"> <div class="order-number">3</div> - <div class="order-number-desc"><span>Chat Driver</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"><span>Complete your order</div> + <div class="order-number-desc">Complete your order</div> </li> </ul> </div> @@ -56,11 +55,12 @@ <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" > + <c:forEach var="iter" begin="1" end="5"> <span class='grey-star' onclick='renderStar(${iter})'> </span> </c:forEach> </div> - <textarea name="comment" placeholder="Comment" class="form-input" id="comment-area" rows="5"></textarea> + <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> @@ -68,7 +68,7 @@ </div> </div> - <%@include file="/component/footer.html"%> + <%@include file="/component/footer.html" %> <script> - window.onload = toggleActive("nav-order"); - </script> \ No newline at end of file + window.onload = toggleActive("nav-order"); + </script> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/driver_history.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/driver_history.jsp index 0773fc8c94fdedf9aeb94f5e1328f9d1f4a870e7..84e147686663de38646c828dfbcd2edd548d199d 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/driver_history.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/driver_history.jsp @@ -5,8 +5,8 @@ Time: 3:45 PM To change this template use File | Settings | File Templates. --%> -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ 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" %> @@ -20,10 +20,8 @@ </div> <div class="row inline-flex history-menu"> <a href="history"> - <div> My Previous Order - </div> </a> <a href="driver_history"> @@ -35,49 +33,51 @@ <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"/> + <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"> + <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"> + <span class="rating"> gave <span>${item.getRating()}</span> stars for this order </span> - <span class="comment"> + <span class="comment"> and left comment: <br> <span>${item.getComment()}</span> </span> - </div> - </c:forEach> + </div> + </c:forEach> </form> </div> </div> </div> </div> -<%@include file="/component/footer.html" %> + <%@include file="/component/footer.html" %> -<script> - window.onload = toggleActive("nav-history"); -</script> + <script> + window.onload = toggleActive("nav-history"); + </script> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_preferences.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_preferences.jsp index 36187dd6b569e174444af38ca66f8e8f98127a34..899d8f5068b93b5c68e4c5fde4f407078dc06fc4 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_preferences.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_preferences.jsp @@ -7,7 +7,7 @@ --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@include file="/component/header.html"%> +<%@include file="/component/header.html" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <div class="container"> @@ -30,41 +30,45 @@ <% int i = 1; %> <c:forEach items="${preferredLocations}" var="item"> - <tr> - <td><%= i %></td> - <td> - <form action="edit_preferred_location" method="post" id="form-update-${item.getPosition()}"> - <input type="hidden" value="${item.getPosition()}" name="position"> - <input value="${item.getLocation()}" class="form-input" id="edit-input-${item.getPosition()}" disabled name="location"> - </form> - </td> - <td> - <span><button class="edit-button inline-block" type="button" onclick=toggleEdit(${item.getPosition()}) - id="edit-button-${item.getPosition()}"></button></span> - <form action="delete_location" class="display-inline-block" onsubmit="return confirm('Are You Sure')" method="post"> - <input type="hidden" value="${item.getPosition()}" name="position"> - <span><button class="delete-button inline-block" type="submit"></button></span> - </form> - </td> - </tr> - <% i++; %> + <tr> + <td><%= i %> + </td> + <td> + <form action="edit_preferred_location" method="post" id="form-update-${item.getPosition()}"> + <input type="hidden" value="${item.getPosition()}" name="position"> + <input value="${item.getLocation()}" class="form-input" + id="edit-input-${item.getPosition()}" disabled name="location"> + </form> + </td> + <td> + <span><button class="edit-button inline-block" type="button" + onclick=toggleEdit(${item.getPosition()}) + id="edit-button-${item.getPosition()}"></button></span> + <form action="delete_location" class="display-inline-block" + onsubmit="return confirm('Are You Sure')" method="post"> + <input type="hidden" value="${item.getPosition()}" name="position"> + <span><button class="delete-button inline-block" type="submit"></button></span> + </form> + </td> + </tr> + <% i++; %> </c:forEach> </tbody> </table> </div> -<div class="row"> + <div class="row"> <h2>ADD NEW LOCATION</h2> <div> <form action="add_location" class="location-input" method="POST" onsubmit="return validateForm(this)"> - <input type="text" class="form-input" name="location"> - <button type="submit" class="submit-button"> Submit </button> + <input type="text" class="form-input" name="location"> + <button type="submit" class="submit-button"> Submit</button> </form> </div> </div> - <a href="/profile"> - <button id="back-button" type="button" class="submit-button">Back</button> + <a href="profile"> + <button id="back-button" type="button" class="submit-button">Back</button> </a> </div> </div> -<%@include file="/component/footer.html"%> \ No newline at end of file +<%@include file="/component/footer.html" %> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_profile.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_profile.jsp index 4fecc39337554075edd6b649ac7237de3b32ee18..b19d293fa00c97297924478dc2bbc5e9d0d5e4a8 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_profile.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/edit_profile.jsp @@ -5,7 +5,7 @@ Time: 10:12 AM To change this template use File | Settings | File Templates. --%> -<%@ include file="/component/header.html"%> +<%@ include file="/component/header.html" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <div class="container"> @@ -14,74 +14,80 @@ <h1>EDIT PROFILE INFORMATION</h1> </div> <div id="editprofile-body"> - <form action="edit_profile" id="edit-form" method="post" enctype="multipart/form-data" onsubmit="return validateForm(this)"> - <table class="edit-table"> - <tr> - <td> - <c:choose> - <c:when test="${userProfile.getImage() != null}"> - <img src='${userProfile.getImage()}' class='square-image' height='80' alt='profile-image'> - </c:when> - <c:otherwise> - <img src='img/default-profile.png' class='square-image' height='80' alt='profile-image'> - </c:otherwise> - </c:choose> - </td> - <td> - <label for="upload-profpic" class="txt-right">Update profile picture</label> - <br> - <div class="uploader-container"> + <form action="edit_profile" id="edit-form" method="post" enctype="multipart/form-data" + onsubmit="return validateForm(this)"> + <table class="edit-table"> + <tr> + <td> + <c:choose> + <c:when test="${userProfile.getImage() != null}"> + <img src='${userProfile.getImage()}' class='square-image' height='80' + alt='profile-image'> + </c:when> + <c:otherwise> + <img src='img/default-profile.png' class='square-image' height='80' + alt='profile-image'> + </c:otherwise> + </c:choose> + </td> + <td> + <label for="upload-profpic" class="txt-right">Update profile picture</label> + <br> + <div class="uploader-container"> - </div> - <input type="file" name="image" id="upload-profpic" accept="image/jpg, image/png" placeholder="Image Path" optional> + </div> + <input type="file" name="image" id="upload-profpic" accept="image/jpg, image/png" + placeholder="Image Path" optional> - </td> - </tr> - <tr> - <td> - <label for="update-name" class="txt-right">Your Name</label> - </td> - <td> - <input type="text" name="name" id="update-name" placeholder="Edit Name" class="form-input" - value="${userProfile.getName()}"> - </td> - </tr> - <tr> - <td> - <label for="update-phone-number" class="txt-right">Phone</label> - </td> - <td> - <input type="text" name="phoneNumber" id="update-phone-number" placeholder="Edit Phone Number" class="form-input" - value="${userProfile.getPhoneNumber()}"> - </td> - </tr> - <tr> - <td> - <label for="update-driver-status" class="txt-right nowrap">Status Driver</label> - </td> - <td class="txt-right" id="slider-toggle"> - <label class="switch"> - <input type="checkbox" name="isDriver" value="1" id="update-driver-status" - <c:if test="${userProfile.getIsDriver()}"> checked </c:if> - > - <span class="slider round"></span> - </label> - </td> - </tr> - <tr> - <td> - <a href="profile"> - <button id="back-button" type="button" class="submit-button">Back</button> - </a> - </td> - <td class="txt-right"> - <button type="submit" class="form-input submit-button" id="save-changes-button">Save</button> - </td> - </tr> - </table> + </td> + </tr> + <tr> + <td> + <label for="update-name" class="txt-right">Your Name</label> + </td> + <td> + <input type="text" name="name" id="update-name" placeholder="Edit Name" class="form-input" + value="${userProfile.getName()}"> + </td> + </tr> + <tr> + <td> + <label for="update-phone-number" class="txt-right">Phone</label> + </td> + <td> + <input type="text" name="phoneNumber" id="update-phone-number" + placeholder="Edit Phone Number" class="form-input" + value="${userProfile.getPhoneNumber()}"> + </td> + </tr> + <tr> + <td> + <label for="update-driver-status" class="txt-right nowrap">Status Driver</label> + </td> + <td class="txt-right" id="slider-toggle"> + <label class="switch"> + <input type="checkbox" name="isDriver" value="1" id="update-driver-status" + <c:if test="${userProfile.getIsDriver()}"> checked </c:if> + > + <span class="slider round"></span> + </label> + </td> + </tr> + <tr> + <td> + <a href="profile"> + <button id="back-button" type="button" class="submit-button">Back</button> + </a> + </td> + <td class="txt-right"> + <button type="submit" class="form-input submit-button" id="save-changes-button">Save + </button> + </td> + </tr> + </table> </form> </div> </div> </div> </div> -<%@ include file="/component/footer.html"%> +<%@ include file="/component/footer.html" %> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/find_driver.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/find_driver.jsp index 3714def0bfff6f609c90394f0a8d837a0dce44a7..8c7e57443a3f67a204c5c86963487ba8b4d50724 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/find_driver.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/find_driver.jsp @@ -1,5 +1,5 @@ -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ 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" %> @@ -24,15 +24,15 @@ </li> <li class="order-item"> <div class="order-number">3</div> - <div class="order-number-desc"><span>Chat Driver</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"><span>Complete your order</div> + <div class="order-number-desc">Complete your order</div> </li> </ul> </div> - <form action="complete_order" method="get"> + <form action="chat_driver" method="get"> <input type="hidden" name="pickUp" value="${pickup}"> <input type="hidden" name="destination" value="${destination}"> <div class="order-panel"> @@ -41,38 +41,39 @@ </div> <div class="panel-body txt-center"> <c:forEach items="${preferredDrivers}" var="item"> - <div class="driver-list-item"> - <div class="first"> - <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> - </div> - <div class="second"> - <span class="name-text">${item.getName()}</span> - </div> - <div> + <div class="driver-list-item"> + <div class="first"> + <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> + </div> + <div class="second"> + <span class="name-text">${item.getName()}</span> + </div> + <div> <span class="rating-value"> <img src="img/gold-star.svg" alt=""> - <fmt:formatNumber type = "number" maxFractionDigits = "1" value = "${item.getRating()}" /> + <fmt:formatNumber type="number" maxFractionDigits="1" + value="${item.getRating()}"/> </span> - <span> + <span> (${item.getVote()} votes) </span> + </div> + <div> + <button name="driverId" value="${item.getUsername()}" class="submit-button"> + I Choose You + </button> + </div> </div> - <div> - <button name="driverId" value="${item.getUsername()}" class="submit-button"> - I Choose You - </button> - </div> - </div> </c:forEach> <c:if test="${preferredDriversLength == 0}"> - <span class="color-grey">NOTHING TO DISPLAY :(</span> + <span class="color-grey">NOTHING TO DISPLAY :(</span> </c:if> </div> </div> @@ -99,7 +100,8 @@ <div> <span class="rating-value"> <img src="img/gold-star.svg" alt=""> - <fmt:formatNumber type = "number" maxFractionDigits = "1" value = "${item.getRating()}" /> + <fmt:formatNumber type="number" maxFractionDigits="1" + value="${item.getRating()}"/> </span> <span> (${item.getVote()} votes) @@ -121,7 +123,7 @@ </div> </div> -<%@ include file="/component/footer.html"%> +<%@ include file="/component/footer.html" %> <script> - window.onload = toggleActive("nav-order"); + window.onload = toggleActive("nav-order"); </script> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/history.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/history.jsp index a3b0bb078570a110058bed9a0a6b2a149ea07bd9..36279fe6a22eebfb9dca59bc77ed0334933ddec3 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/history.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/history.jsp @@ -5,8 +5,8 @@ Time: 3:45 PM To change this template use File | Settings | File Templates. --%> -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ 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" %> @@ -21,58 +21,60 @@ <div class="row inline-flex history-menu"> <a href="history"> - <div class="active"> - My Previous Order + <div class="active"> + My Previous Order - </div> + </div> </a> <a href="driver_history"> - <div> - Driver History - </div> + <div> + Driver History + </div> </a> </div> <div class="row txt-center"> <div class="history-list-group"> <form action="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"/> + <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 type="submit" name="orderId" value="${item.getId()}" class="submit-button button-red"> - HIDE - </button> - <span>${item.getName()}</span> - <span class="location"> + <button type="submit" name="orderId" value="${item.getId()}" + class="submit-button button-red"> + 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"> + <span class="rating"> You rated: - <c:forEach begin="1" end="${item.getRating()}" > - <img src="img/gold-star.svg" alt="" class="gold-star"> + <c:forEach begin="1" end="${item.getRating()}"> + <img src="img/gold-star.svg" alt="" class="gold-star"> </c:forEach> </span> - <span class="comment"> + <span class="comment"> You commented: <br> <span>${item.getComment()}</span> </span> - </div> - </c:forEach> + </div> + </c:forEach> </form> </div> </div> @@ -83,5 +85,5 @@ <%@include file="/component/footer.html" %> <script> - window.onload = toggleActive("nav-history"); + window.onload = toggleActive("nav-history"); </script> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/index.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/index.jsp index 4a48ed08d9b387b8e2a391216beb3968589b0a9b..44ebf10dbf64c57f2e2b2c95b7784f4c97aa1967 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/index.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/index.jsp @@ -5,8 +5,8 @@ Time: 5:24 PM To change this template use File | Settings | File Templates. --%> -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ include file="/component/header.html" %> +<%@ include file="/component/nav.html" %> <% String site = new String("login.jsp"); response.setStatus(response.SC_MOVED_TEMPORARILY); diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/login.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/login.jsp index 5dad6ee94c957e4c79951deea82f5daf6a455bd6..8e96e6db974a25dcb8e709a18eafffc104b63026 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/login.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/login.jsp @@ -1,4 +1,4 @@ -<%@ include file="/component/header.html"%> +<%@ include file="/component/header.html" %> <div class="container"> <div id="login-box" class="form-box"> <div id="login-heading" class="form-box-heading"> @@ -18,7 +18,8 @@ <label for="username" class="txt-right color-darkgreen">Username</label> </td> <td> - <input type="text" name="username" id="username" placeholder="Username" class="form-input"> + <input type="text" name="username" id="username" placeholder="Username" + class="form-input"> </td> </tr> <tr> @@ -27,7 +28,8 @@ </td> <td> - <input type="password" name="password" id="password" placeholder="Password" class="form-input"> + <input type="password" name="password" id="password" placeholder="Password" + class="form-input"> </td> </tr> @@ -36,7 +38,9 @@ </table> <div class="form-box-body-footer"> <div> - <a href="register"><small>Don't have an account?</small></a> + <a href="register"> + <small>Don't have an account?</small> + </a> </div> <div class="txt-right button-container"> <button type="submit" class="submit-button">Go!</button> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order.jsp index 74ac9b154b819f150492acd3933ece1a919bfb6c..12e66d6e3eaf1e96b940c0f50aaa6c945e51ad9a 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order.jsp @@ -1,5 +1,5 @@ -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ include file="/component/header.html" %> +<%@ include file="/component/nav.html" %> <div class="container"> <div class="wrapper row"> <div> @@ -21,11 +21,11 @@ </li> <li class="order-item"> <div class="order-number">3</div> - <div class="order-number-desc"><span>Chat Driver</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"><span>Complete your order</div> + <div class="order-number-desc">Complete your order</div> </li> </ul> </div> @@ -42,7 +42,8 @@ </tr> <tr> <td>Preferred Driver</td> - <td><input type="text" name="preferredDriver" class="form-input" placeholder="Optional" optional></td> + <td><input type="text" name="preferredDriver" class="form-input" placeholder="Optional" + optional></td> </tr> </table> <div class="txt-center"> @@ -53,7 +54,7 @@ </div> </div> -<%@ include file="/component/footer.html"%> +<%@ include file="/component/footer.html" %> <script> - window.onload = toggleActive("nav-order"); + window.onload = toggleActive("nav-order"); </script> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order_driver.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order_driver.jsp new file mode 100644 index 0000000000000000000000000000000000000000..075b0497979c78ef8072f76031361b353b34231d --- /dev/null +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/order_driver.jsp @@ -0,0 +1,33 @@ +<%@ 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">LOOKING FOR AN ORDER</h1> + </div> + </div> + </div> + <div class="order-form"> + <form action="#" onsubmit="#" method="get"> + <div class="txt-center"> + <h2 class="inline-block">Finding Order....</h2> + </div> + <div class="txt-center"> + <button type="submit" class="form-input find-button">FIND ORDER</button> + </div> + </form> + </div> + </div> +</div> + +<%@include file="/component/footer.html" %> + +<script> + src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js" + window.onload = toggleActive("nav-order"); +</script> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/profile.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/profile.jsp index 7414e3ced983a69fc0cdfb21f0b0335f2c07d836..9ca8c4d74ecbca3b2c062184645cab60130b89c1 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/profile.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/profile.jsp @@ -6,10 +6,10 @@ To change this template use File | Settings | File Templates. --%> -<%@ include file="/component/header.html"%> -<%@ include file="/component/nav.html"%> +<%@ 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" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <div class="container"> <div class="wrapper row"> @@ -26,12 +26,12 @@ </div> <div id="profile-body" class="row txt-center"> <c:choose> - <c:when test="${userProfile.getImage() != null}"> - <img src='${userProfile.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:when test="${userProfile.getImage() != null}"> + <img src='${userProfile.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> <br> <h3>@${userProfile.getUsername()}</h3> @@ -42,7 +42,7 @@ <c:if test="${userProfile.getIsDriver()}"> Driver | <img src='img/gold-star.svg' height='15'> <span class="color-orange"> - <fmt:formatNumber type = "number" maxFractionDigits = "1" value = "${driverProfile.getRating()}" /> + <fmt:formatNumber type="number" maxFractionDigits="1" value="${driverProfile.getRating()}"/> </span> (${driverProfile.getVote()} votes) </c:if> @@ -51,7 +51,7 @@ </c:if> </span> <br> - <span> <img src="img/mail.svg" alt=" " >${userProfile.getEmail()}</span> + <span> <img src="img/mail.svg" alt=" ">${userProfile.getEmail()}</span> <br> <span> <img src="img/phone.svg" alt=" ">${userProfile.getPhoneNumber()}</span> </div> @@ -68,16 +68,16 @@ </div> </div> <ul class='preferred-list'> - <% int tab = 0; %> - <c:forEach items="${preferredLocations}" var="item"> - <li style="margin-left: <%= tab%>px">${item.getLocation()} - <% tab = tab + 20;%> - </c:forEach> - </c:if> + <% int tab = 0; %> + <c:forEach items="${preferredLocations}" var="item"> + <li style="margin-left: <%= tab%>px">${item.getLocation()} + <% tab = tab + 20;%> + </c:forEach> + </c:if> </div> </div> </div> -<%@ include file="/component/footer.html"%> +<%@ include file="/component/footer.html" %> <script> - window.onload = toggleActive("nav-profile"); + window.onload = toggleActive("nav-profile"); </script> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/signup.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/signup.jsp index f0a45838c304e26954803b0a441d099585c5c7d0..18035183c90d0c3c852cb148d734a45ebe766822 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/signup.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/signup.jsp @@ -1,4 +1,4 @@ -<%@ include file="/component/header.html"%> +<%@ include file="/component/header.html" %> <div class="container"> <div id="signup-box" class="form-box"> @@ -12,7 +12,7 @@ <div class="form-box-body" id="signup-box-body"> <span class="color-red">${errorMessage}</span> <% if (request.getParameter("status") != null) { - out.println("<span class='color-red'>SignUp Gagal</span>"); + out.println("<span class='color-red'>SignUp Gagal</span>"); } %> <form action="register" method="post" onsubmit="return validateForm(this)"> @@ -23,7 +23,7 @@ <label for="name" class="txt-right">Your Name</label> <td> - <input type="text" name="name" id="name" placeholder="Name" class="form-input"> </td> + <input type="text" name="name" id="name" placeholder="Name" class="form-input"></td> </td> <span class="error-text"> @@ -36,7 +36,8 @@ </td> <td> - <input type="text" name="username" id="username-form" class="form-input width-90" placeholder="Username" onblur="usernameAJAX()"> + <input type="text" name="username" id="username-form" class="form-input width-90" + placeholder="Username" onblur="usernameAJAX()"> <div id="username-check-status" class="ajax-status"> </div> </td> @@ -46,7 +47,8 @@ <label for="email-form" class="txt-right">E-mail</label> </td> <td> - <input type="text" name="email" class="form-input width-90" placeholder="E-Mail" id="email-form" onblur="emailAJAX()"> + <input type="text" name="email" class="form-input width-90" placeholder="E-Mail" + id="email-form" onblur="emailAJAX()"> <div id="email-check-status" class="ajax-status"> <span></span> </div> @@ -58,7 +60,8 @@ <label for="password-register" class="txt-right">Password</label> </td> <td> - <input type="password" name="password" class="form-input" id="password-register" placeholder="Password"> + <input type="password" name="password" class="form-input" id="password-register" + placeholder="Password"> </td> </tr> <tr> @@ -66,7 +69,8 @@ <label for="confirm-password" class="txt-right">Confirm Password</label> </td> <td> - <input type="password" name="confirm-password" id="confirm-password" placeholder="Re-type Password" class="form-input"> + <input type="password" name="confirm-password" id="confirm-password" + placeholder="Re-type Password" class="form-input"> </td> </tr> <tr> @@ -74,20 +78,27 @@ <label for="phone-number" class="txt-right">Phone Number</label> </td> <td> - <input type="text" name="phoneNumber" id="phone-number" placeholder="Phone Number" class="form-input"> + <input type="text" name="phoneNumber" id="phone-number" placeholder="Phone Number" + class="form-input"> </td> </tr> </table> <div class="form-box-body-footer"> <div class="row"> <input type="checkbox" name="isDriver" id="is-driver" value="1"> - <label for="is-driver"><small>Also sign me up as a driver!</small></label> + <label for="is-driver"> + <small>Also sign me up as a driver!</small> + </label> </div> <div> - <a href="login"><small>Already have an account?</small></a> + <a href="login"> + <small>Already have an account?</small> + </a> </div> <div class="txt-right button-container"> - <button type="submit" class="form-input submit-button" id="register-submit-button">Register</button> + <button type="submit" class="form-input submit-button" id="register-submit-button"> + Register + </button> </div> </div> </div> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/web.xml b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/web.xml index 25fd7702552bed217e6fcb37f5272611ab1ab5e2..8a7f2552e7de68bc151dab26c2ef29110821264c 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/web.xml +++ b/TugasBesar2_2017/WebApp/src/main/webapp/WEB-INF/web.xml @@ -1,152 +1,161 @@ <?xml version="1.0" encoding="UTF-8"?> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> - <servlet> - <servlet-name>Login</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.LoginServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>Login</servlet-name> - <url-pattern>/login</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>Login</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.LoginServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>Login</servlet-name> + <url-pattern>/login</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>Register</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.RegisterServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>Register</servlet-name> - <url-pattern>/register</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>Register</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.RegisterServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>Register</servlet-name> + <url-pattern>/register</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>Index</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.IndexServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>Index</servlet-name> - <url-pattern>/index</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>Index</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.IndexServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>Index</servlet-name> + <url-pattern>/index</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>Order</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.OrderServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>Order</servlet-name> - <url-pattern>/order</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>Logout</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.LogoutServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>Logout</servlet-name> - <url-pattern>/logout</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>Order</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.OrderServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>Order</servlet-name> + <url-pattern>/order</url-pattern> + </servlet-mapping> + <servlet> + <servlet-name>Logout</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.LogoutServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>Logout</servlet-name> + <url-pattern>/logout</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>Profile</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.ProfileServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>Profile</servlet-name> - <url-pattern>/profile</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>Profile</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.ProfileServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>Profile</servlet-name> + <url-pattern>/profile</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>History</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.HistoryServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>History</servlet-name> - <url-pattern>/history</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>History</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.HistoryServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>History</servlet-name> + <url-pattern>/history</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>EditProfile</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.EditProfileServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>EditProfile</servlet-name> - <url-pattern>/edit_profile</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>EditProfile</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.EditProfileServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>EditProfile</servlet-name> + <url-pattern>/edit_profile</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>PreferredLocation</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.PreferredLocationServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>PreferredLocation</servlet-name> - <url-pattern>/preferred_location</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>PreferredLocation</servlet-name> - <url-pattern>/add_location</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>DeletePreferredLocation</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.DeletePreferredLocationServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>DeletePreferredLocation</servlet-name> - <url-pattern>/delete_location</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>EditPreferredLocation</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.EditPreferredLocationServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>EditPreferredLocation</servlet-name> - <url-pattern>/edit_preferred_location</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>ChatDriver</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.ChatDriverServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>ChatDriver</servlet-name> + <url-pattern>/chat_driver</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>FindDriver</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.FindDriverServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>FindDriver</servlet-name> - <url-pattern>/find_driver</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>PreferredLocation</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.PreferredLocationServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>PreferredLocation</servlet-name> + <url-pattern>/preferred_location</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>PreferredLocation</servlet-name> + <url-pattern>/add_location</url-pattern> + </servlet-mapping> + <servlet> + <servlet-name>DeletePreferredLocation</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.DeletePreferredLocationServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>DeletePreferredLocation</servlet-name> + <url-pattern>/delete_location</url-pattern> + </servlet-mapping> + <servlet> + <servlet-name>EditPreferredLocation</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.EditPreferredLocationServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>EditPreferredLocation</servlet-name> + <url-pattern>/edit_preferred_location</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>DriverHistory</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.DriverHistoryServlet</servlet-class> - </servlet> - - <servlet-mapping> - <servlet-name>DriverHistory</servlet-name> - <url-pattern>/driver_history</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>FindDriver</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.FindDriverServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>FindDriver</servlet-name> + <url-pattern>/find_driver</url-pattern> + </servlet-mapping> - <servlet> - <servlet-name>CompleteOrder</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.CompleteOrderServlet</servlet-class> - </servlet> + <servlet> + <servlet-name>DriverHistory</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.DriverHistoryServlet</servlet-class> + </servlet> - <servlet-mapping> - <servlet-name>CompleteOrder</servlet-name> - <url-pattern>/complete_order</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>UserHideHistory</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.UserHideHistoryServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>UserHideHistory</servlet-name> - <url-pattern>/hide_history</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>DriverHideHistory</servlet-name> - <servlet-class>com.adaapa.adaojek.servlets.DriverHideHistoryServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>DriverHideHistory</servlet-name> - <url-pattern>/driver_hide_history</url-pattern> - </servlet-mapping> + <servlet-mapping> + <servlet-name>DriverHistory</servlet-name> + <url-pattern>/driver_history</url-pattern> + </servlet-mapping> + + <servlet> + <servlet-name>CompleteOrder</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.CompleteOrderServlet</servlet-class> + </servlet> + + <servlet-mapping> + <servlet-name>CompleteOrder</servlet-name> + <url-pattern>/complete_order</url-pattern> + </servlet-mapping> + <servlet> + <servlet-name>UserHideHistory</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.UserHideHistoryServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>UserHideHistory</servlet-name> + <url-pattern>/hide_history</url-pattern> + </servlet-mapping> + <servlet> + <servlet-name>DriverHideHistory</servlet-name> + <servlet-class>com.adaapa.adaojek.servlets.DriverHideHistoryServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>DriverHideHistory</servlet-name> + <url-pattern>/driver_hide_history</url-pattern> + </servlet-mapping> </web-app> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/component/header.html b/TugasBesar2_2017/WebApp/src/main/webapp/component/header.html index 210f69818235d63b42d4644972d640af1e50d7b5..f94693ceb3f5e26c4cb58c2a205fd0ca88926b5c 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/component/header.html +++ b/TugasBesar2_2017/WebApp/src/main/webapp/component/header.html @@ -1,11 +1,11 @@ <!DOCTYPE html> <html> - <head> - <title>AdaApa?</title> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="stylesheet" href="css/app.css"> - <link rel="icon" href="img/logo.png"> - </head> +<head> + <title>AdaApa?</title> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="stylesheet" href="css/app.css"> + <link rel="icon" href="img/logo.png"> +</head> <body> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/component/nav.html b/TugasBesar2_2017/WebApp/src/main/webapp/component/nav.html index 5bcc9d67b94d5a38b34953f5e1e985ece54b086a..e66b2fc1116d1b8a1e5ebd04015386d90afcb195 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/component/nav.html +++ b/TugasBesar2_2017/WebApp/src/main/webapp/component/nav.html @@ -18,15 +18,15 @@ <span>ORDER</span> </div> </a> - <a href="history"> - <div id="nav-history"> - <span>HISTORY</span> - </div> - </a> - <a href="profile"> - <div id="nav-profile"> - <span> MY PROFILE</span> - </div> - </a> + <a href="history"> + <div id="nav-history"> + <span>HISTORY</span> + </div> + </a> + <a href="profile"> + <div id="nav-profile"> + <span> MY PROFILE</span> + </div> + </a> </div> </nav> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/css/app.css b/TugasBesar2_2017/WebApp/src/main/webapp/css/app.css index 637531bf1db1265bd18422c074795fb46b627aee..48ce06d5688aef1b5944ed3f89bca0b98151db34 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/css/app.css +++ b/TugasBesar2_2017/WebApp/src/main/webapp/css/app.css @@ -1,819 +1,918 @@ body { - font-family: sans-serif; + font-family: sans-serif; } + .wrapper { - width: 100%; - height: 100%; + width: 100%; + height: 100%; } - .container { - display: flex; - justify-content: center; - align-content: center; + display: flex; + justify-content: center; + align-content: center; } .row { - width: 100% !important; + width: 100% !important; } .txt-center { - text-align: center; + text-align: center; } + .txt-right { - text-align: right; + text-align: right; } + .txt-left { - text-align: left; + text-align: left; } .color-darkgreen { - color: #00782d; + color: #00782d; } .color-red { - color: #ed2c31; + color: #ed2c31; } + .color-grey { - color: #777; + color: #777; } .inline-flex { - display: inline-flex; + display: inline-flex; } .form-input { - height: 26px; - border-radius: 3px; - border: 1px solid #00782d; - width: 100%; + height: 26px; + border-radius: 3px; + border: 1px solid #00782d; + width: 100%; } -.ajax-status { - display: inline-block; +.ajax-status { + display: inline-block; } -.ajax-status>*{ - content: ''; - height: 15px; - width: 15px; - transition: 1s; - background-size: cover; - background-repeat: no-repeat; + +.ajax-status > * { + content: ''; + height: 15px; + width: 15px; + transition: 1s; + background-size: cover; + background-repeat: no-repeat; } -.ajax-validator-ok { - background-image: url('../img/checked-green.svg'); +.ajax-validator-ok { + background-image: url('../img/checked-green.svg'); } .ajax-validator-not-ok { - background-image: url('../img/cancel-red.svg'); + background-image: url('../img/cancel-red.svg'); } .ajax-validator-loading { - background-image: url('../img/loading.svg'); - -webkit-animation: rotate 5s infinite; /* Safari 4.0 - 8.0 */ - animation: rotate 2s infinite; - animation-timing-function: linear; - -webkit-animation-timing-function: linear; - + background-image: url('../img/loading.svg'); + -webkit-animation: rotate 5s infinite; /* Safari 4.0 - 8.0 */ + animation: rotate 2s infinite; + animation-timing-function: linear; + -webkit-animation-timing-function: linear; } /* Safari 4.0 - 8.0 */ @-webkit-keyframes rotate { - from {transform: rotate(0deg);} - to {transform: rotate(360deg);} + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } } @keyframes rotate { - from {transform: rotate(0deg);} - to {transform: rotate(360deg);} + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } } .form-box { - display: block; - justify-content: center; - background: #8bbd3c; - border: 10px solid #00782d; - border-radius: 50px; - margin: auto; - width: 60vh; - height: 60vh; + display: block; + justify-content: center; + background: #8bbd3c; + border: 10px solid #00782d; + border-radius: 50px; + margin: auto; + width: 60vh; + height: 60vh; } .form-box .form-box-heading { - display: block; - align-content: center; - margin: auto; - width: 100%; - height: 20%; + display: block; + align-content: center; + margin: auto; + width: 100%; + height: 20%; } -.form-box .form-box-heading .form-box-heading-wrapper { - margin: 10px 0; - display: inline-flex; - width: 100%; - height: auto; - white-space: nowrap +.form-box .form-box-heading .form-box-heading-wrapper { + margin: 10px 0; + display: inline-flex; + width: 100%; + height: auto; + white-space: nowrap; } .form-box .form-box-heading hr { - width: 80%; - margin: auto 5%; - border: 1px solid #00782d; - height: 0px; + width: 80%; + margin: auto 5%; + border: 1px solid #00782d; + height: 0; } .form-box .form-box-heading h1 { - width: fit-content; - transform: scaleY(1.3); - color: #00782d; - word-break: keep-all; + width: fit-content; + transform: scaleY(1.3); + color: #00782d; + word-break: keep-all; } .form-box form { - width: 100%; + width: 100%; } + .form-box .form-box-body { - display: block; - width: 75%; - height: 80%; - justify-content: center; - margin: auto; + display: block; + width: 75%; + height: 80%; + justify-content: center; + margin: auto; } .form-box .form-box-table { - width: 100%; - margin: auto; + width: 100%; + margin: auto; } + .form-box .form-box-table td { - padding: 0 5px; + padding: 0 5px; } .form-box .form-box-table .table-label { - width: 100px; + width: 100px; } .form-box .form-box-body .form-box-body-footer { - width: 100%; - padding: 0 5px; + width: 100%; + padding: 0 5px; } -.form-box .form-box-body .form-box-body-footer div{ - width: 60%; - display: inline-block; - margin: 0px; - position: relative; +.form-box .form-box-body .form-box-body-footer div { + width: 60%; + display: inline-block; + margin: 0; + position: relative; } -.form-box .form-box-body .form-box-body-footer .button-container{ - width: 34%; - display: inline-block; - margin: 0px; - position: relative; + +.form-box .form-box-body .form-box-body-footer .button-container { + width: 34%; + display: inline-block; + margin: 0; + position: relative; } .submit-button { - width: 100px; - height: 40px; - border: 1px solid #00782d; - background: #57e500; - font-size: 1.25em; + width: 100px; + height: 40px; + border: 1px solid #00782d; + background: #57e500; + font-size: 1.25em; +} + +.find-button { + width: 200px; + height: 40px; + border: 1px solid #00782d; + background: #57e500; + font-size: 1.25em; } .submit-button:hover { - background: #75FF33; - font-size: 1.25em; + background: #75ff33; + font-size: 1.25em; } #login-box-body { - margin-top: 10vh; + margin-top: 10vh; } #signup-box .form-box-body { - width: 90%; + width: 90%; } + #signup-box .form-box-table .table-label { - width: 120px; - white-space: nowrap; + width: 120px; + white-space: nowrap; } #login-box .form-box-table .table-label label { - font-size: 16pt; + font-size: 16pt; } + #signup-box .form-box-table .table-label label { - font-size: 12pt; - color: #00782d; + font-size: 12pt; + color: #00782d; } .width-90 { - width: 88%; + width: 88%; } .error-text { - font-size: 0.7rem; - color: #CC0000; - display: block; + font-size: 0.7rem; + color: #c00; + display: block; } .page-title { - font-size: 10pt; + font-size: 10pt; } + .inline-block { - display: inline-block; + display: inline-block; } + .page-title .edit-icon { - margin-top: 18px; - height: 25px; + margin-top: 18px; + height: 25px; } .switch { - position: relative; - display: inline-block; - width: 60px; - height: 34px; + position: relative; + display: inline-block; + width: 60px; + height: 34px; } -.switch input {display:none;} +.switch input { + display: none; +} .slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #ccc; - -webkit-transition: .4s; - transition: .4s; + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.4s; + transition: 0.4s; } .slider:before { - position: absolute; - content: ""; - height: 26px; - width: 26px; - left: 4px; - bottom: 4px; - background-color: white; - -webkit-transition: .4s; - transition: .4s; + position: absolute; + content: ''; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; } input:checked + .slider { - background-color: #00782d; + background-color: #00782d; } input:focus + .slider { - box-shadow: 0 0 1px #2196F3; + box-shadow: 0 0 1px #2196f3; } input:checked + .slider:before { - -webkit-transform: translateX(26px); - -ms-transform: translateX(26px); - transform: translateX(26px); + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); } /* Rounded sliders */ .slider.round { - border-radius: 34px; + border-radius: 34px; } .slider.round:before { - border-radius: 50%; + border-radius: 50%; } .navbar { - margin: auto; - width: 80vh; + margin: auto; + width: 80vh; } -.container { - width: 80vh; - margin: auto; + +.container { + width: 80vh; + margin: auto; } + .float-left { - float: left; + float: left; } .float-right { - float: right; + float: right; } + .nav { - height: 14vh; + height: 14vh; } + .navbar-top { - height: 5vh; + height: 5vh; } + .margin-auto { - margin: auto; + margin: auto; } .height-fit { - height: fit-content; + height: fit-content; } + .height-100 { - height: 100%; + height: 100%; } -.navbar-top>* { - height: 100%; + +.navbar-top > * { + height: 100%; } + #navbar-menu { - justify-content: center; - display: flex; -} -#navbar-menu>a { - width: 33%; - text-decoration: none; - color: #000000; -} -#navbar-menu>a:hover { - width: 33%; - text-decoration: none; - background: #AAAAAA; - color: #00782d; -} -#navbar-menu>*>*{ - width: 100%; - height: 5vh; - border: 1px solid black; - display: flex; - justify-content: center; - align-content: center; -} -#navbar-menu>*>*>*{ - height: fit-content; - margin:auto; - font-size: 1.5rem; -} -#navbar-menu>*>*.active { - background: #00782d; - color: white; + justify-content: center; + display: flex; +} + +#navbar-menu > a { + width: 33%; + text-decoration: none; + color: #000; +} + +#navbar-menu > a:hover { + width: 33%; + text-decoration: none; + background: #aaa; + color: #00782d; } + +#navbar-menu > * > * { + width: 100%; + height: 5vh; + border: 1px solid black; + display: flex; + justify-content: center; + align-content: center; +} + +#navbar-menu > * > * > * { + height: fit-content; + margin: auto; + font-size: 1.5rem; +} + +#navbar-menu > * > *.active { + background: #00782d; + color: white; +} + .float-container { - overflow: auto; - clear: both; + overflow: auto; + clear: both; } + .profile-image { - height: 120px; - border-radius: 50%; - border: 3px solid #151515; - width: 120px; - overflow: hidden; - object-fit: cover; + height: 120px; + border-radius: 50%; + border: 3px solid #151515; + width: 120px; + overflow: hidden; + object-fit: cover; } + span img { - vertical-align: middle; - height: 1.2rem; + vertical-align: middle; + height: 1.2rem; } -h3{ - margin: 8px; + +h3 { + margin: 8px; } .preferred-list li { - position:relative; - width:20%; - list-style-type: none; - text-transform: uppercase; - font-family: Arial; - font-size: .875em; - line-height: 1.75em; -} - -.preferred-list li::before{ - position:absolute; - content:""; - top:50%; - -webkit-transform:translateY(-50%); - -moz-transform:translateY(-50%); - -o-transform:translateY(-50%); - -ms-transform:translateY(-50%); - transform:translateY(-50%); - margin-left:-10px; - width: 0; - height: 0; - border-top: 7px solid transparent; - border-bottom: 7px solid transparent; - border-left: 7px solid black; + position: relative; + width: 20%; + list-style-type: none; + text-transform: uppercase; + font-family: Arial; + font-size: 0.875em; + line-height: 1.75em; +} + +.preferred-list li::before { + position: absolute; + content: ''; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + margin-left: -10px; + width: 0; + height: 0; + border-top: 7px solid transparent; + border-bottom: 7px solid transparent; + border-left: 7px solid black; } + .order-menu { - width: 100%; + width: 100%; } .order-menu .order-item { - display: inline-block; - width: 22%; - margin: 5px; - border: 1px solid black; - height: 8vh; - position: relative; + display: inline-block; + width: 22%; + margin: 5px; + border: 1px solid black; + height: 8vh; + position: relative; } + .order-menu .order-item.active { - background: #fbff9a; + background: #fbff9a; } .order-menu .order-number { - display: inline-grid; - margin: 1vh 2px; - height: 6vh; - width: 6vh; - background: lightgrey; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border-radius: 50%; - justify-content: center; - align-content: center; + display: inline-grid; + margin: 1vh 2px; + height: 6vh; + width: 6vh; + background: lightgrey; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + justify-content: center; + align-content: center; } .order-menu .order-number-desc { - position: absolute; - width: 60%; - height: 100%; - height: auto; - display: inline-block; - font-size: 0.8em; - wrap-option: nowrap; - top: 50%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); + position: absolute; + width: 60%; + height: 100%; + height: auto; + display: inline-block; + font-size: 0.8em; + wrap-option: nowrap; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); } .order-form { - width: 80%; - margin: auto; + width: 80%; + margin: auto; } -.order-form table { - width: 100%; - font-size: 1.3rem; - border-spacing: 10px 20px; +.order-form table { + width: 100%; + font-size: 1.3rem; + border-spacing: 10px 20px; } + .order-form table tr td input { - height: 40px; - font-size: 1.2rem; - padding: 2px 5px; + height: 40px; + font-size: 1.2rem; + padding: 2px 5px; } + .order-form table tr td:nth-child(1) { - width: 35%; + width: 35%; } + .order-ul { - -webkit-padding-start: 20px; + -webkit-padding-start: 20px; } + .order-panel { - width: 100%; - border: 1px solid black; - min-height: 100px; - border-radius: 10px; - margin: 10px 0; + width: 100%; + border: 1px solid black; + min-height: 100px; + border-radius: 10px; + margin: 10px 0; } -.order-panel .panel-heading { -} -.order-panel .panel-body { - width: 100%; - margin: auto; + +.order-panel .panel-body { + width: 100%; + margin: auto; } + .no-border { - border: none; + border: none; } + .height-auto { - height: auto; + height: auto; } #rating-system span { - display: inline-block; - width: 40px; - height: 40px; - margin: 5px; - background-size: cover; - background-position: center center; - background-repeat: no-repeat; - cursor: hand; + display: inline-block; + width: 40px; + height: 40px; + margin: 5px; + background-size: cover; + background-position: center center; + background-repeat: no-repeat; + cursor: hand; } #rating-system .grey-star { - background-image: url('../img/grey-star.svg'); + background-image: url('../img/grey-star.svg'); } #rating-system .gold-star { - background-image: url('../img/gold-star.svg'); + background-image: url('../img/gold-star.svg'); } #comment-area { - height: 60px; - font-size: 1.2rem; - margin-bottom: 1vh; + height: 60px; + font-size: 1.2rem; + margin-bottom: 1vh; } .square-image { - width: 150px; - height: 150px; - border: 1px solid black; - object-fit: cover; + width: 150px; + height: 150px; + border: 1px solid black; + object-fit: cover; } #save-changes-button { - height: 30px; + height: 30px; } #back-button { - height: 30px; - color: #000; - background-color: #D50000; + height: 30px; + color: #000; + background-color: #d50000; } #back-button:hover { - height: 30px; - color: #000; - background-color: #FF2222; + height: 30px; + color: #000; + background-color: #f22; } .edit-table { - border-spacing: 10px 10px; + border-spacing: 10px 10px; } - .edit-table { - width: 60vh; + width: 60vh; } .edit-table tr td:nth-child(1) { - width: 10vh; + width: 10vh; } .nowrap { - white-space: nowrap; + white-space: nowrap; } .preferences-edit { - border-collapse: collapse; -} -.preferences-edit th, .preferences-edit td{ - border: 1px solid lightgrey; - padding: 5px; -} -.preferences-edit button{ - background-size: cover; - background-position: center; - background-repeat: no-repeat; - height: 18px; - width: 18px; - border: none; - margin: 2px 5px; - border-radius: 0; + border-collapse: collapse; } + +.preferences-edit th, .preferences-edit td { + border: 1px solid lightgrey; + padding: 5px; +} + +.preferences-edit button { + background-size: cover; + background-position: center; + background-repeat: no-repeat; + height: 18px; + width: 18px; + border: none; + margin: 2px 5px; + border-radius: 0; +} + .preferences-edit input { - border: 1px solid gray; - text-align: center; - font-size: 1rem; + border: 1px solid gray; + text-align: center; + font-size: 1rem; } + .preferences-edit input[disabled] { - border: 0; + border: 0; } - .edit-button { - background: url('../img/edit-orange.svg'); + background: url('../img/edit-orange.svg'); } + .save-button { - background: url('../img/save.svg'); + background: url('../img/save.svg'); } + .delete-button { - background: url('../img/delete.svg'); + background: url('../img/delete.svg'); } + .location-input { - width: 80%; - display: flex; - margin-bottom: 5px; + width: 80%; + display: flex; + margin-bottom: 5px; } + .location-input input[type='text'] { - width: 75%; - height: 32px; + width: 75%; + height: 32px; } + .location-input button { - height: 30px; - margin: auto; + height: 30px; + margin: auto; } .driver-list-item { - text-align: left; - margin: 20px auto; - width: 80%; - display: grid; - grid-template-columns: 1fr 2fr 1fr; - grid-template-rows: 1fr 1fr; + text-align: left; + margin: 20px auto; + width: 80%; + display: grid; + grid-template-columns: 1fr 2fr 1fr; + grid-template-rows: 1fr 1fr; } + .driver-list-item .first { - grid-row: 1/3; + grid-row: 1/3; } + .driver-list-item .second { - grid-column: 2/4; + grid-column: 2/4; } + .driver-profile { - border: 1px solid black; - width: 6rem; - height: 6rem; - object-fit: cover; - margin: 0 2rem; + border: 1px solid black; + width: 6rem; + height: 6rem; + object-fit: cover; + margin: 0 2rem; } .driver-list-item .rating-value { - color: orange; + color: orange; } .driver-list-item img { - vertical-align: top; + vertical-align: top; } + .driver-list-item .name-text { - font-size: 1.4rem; + font-size: 1.4rem; } .driver-list-item .submit-button { - font-size: 0.8rem; + font-size: 0.8rem; } .history-menu a { - width: 50%; - text-decoration: none; - color: black; + width: 50%; + text-decoration: none; + color: black; } .history-menu a:hover { - width: 50%; - text-decoration: none; - color: #34d56b; + width: 50%; + text-decoration: none; + color: #34d56b; } .history-menu div { - display: inline-flex; - width: 100%; - height: 40px; - border: 1px solid black; - justify-content: center; - flex-direction: column; - text-align: center; - border-collapse: inherit; + display: inline-flex; + width: 100%; + height: 40px; + border: 1px solid black; + justify-content: center; + flex-direction: column; + text-align: center; + border-collapse: inherit; } .history-menu *.active { - color: #000000; - background: #34d56b; - flex-direction: column; + color: #000; + background: #34d56b; + flex-direction: column; } .history-list-item { - margin: 15px 0; - display: grid; - grid-template-columns: 1fr 2fr 1fr; - grid-template-rows: repeat(5,minmax(1fr,200px)); + margin: 15px 0; + display: grid; + grid-template-columns: 1fr 2fr 1fr; + grid-template-rows: repeat(5, minmax(1fr, 200px)); } -.history-list-item>img { - grid-row: 1/6; - grid-column: 1/2; - margin:auto; +.history-list-item > img { + grid-row: 1/6; + grid-column: 1/2; + margin: auto; } .history-list-item { - align-content: center; - justify-content: center; + align-content: center; + justify-content: center; } .history-list-item .date { - font-size: 0.8rem; + font-size: 0.8rem; } -.history-list-item>* { - display: inline-flex; - align-items: center; - justify-content: left; - text-align: left; +.history-list-item > * { + display: inline-flex; + align-items: center; + justify-content: left; + text-align: left; } + .arrow-icon { - height: 10px; - width: 10px; + height: 10px; + width: 10px; } -.history-list-item .submit-button { - width: 60px; - height: 30px; - grid-column: 3; - grid-row: 1/3; +.history-list-item .submit-button { + width: 60px; + height: 30px; + grid-column: 3; + grid-row: 1/3; } + .history-list-item .location { - font-size: 0.8rem; + font-size: 0.8rem; } + .history-list-item .gold-star { - width: 10px; - height: 10px; + width: 10px; + height: 10px; } .button-red { - background: #BB0000; - border-color: #000; + background: #b00; + border-color: #000; } .history-list-item .location { - grid-row: 3; - grid-column: 2/4; + grid-row: 3; + grid-column: 2/4; } + .history-list-item .rating { - font-size: 0.7rem; - grid-row: 4; + font-size: 0.7rem; + grid-row: 4; } .history-list-item .rating span { - color: orange; + color: orange; } .history-list-item .comment { - display: inline-block; - grid-row: 5; - font-size: 0.7rem; + display: inline-block; + grid-row: 5; + font-size: 0.7rem; } + .history-list-item .comment span { - margin-left: 10px; - display: block; + margin-left: 10px; + display: block; } .profile-rating img { - height: 15px; - vertical-align: middle; + height: 15px; + vertical-align: middle; } .color-orange { - color: orange; + color: orange; } -.display-inline-block{ - display: inline-block !important; +.display-inline-block { + display: inline-block !important; } .chat-box { - display: flex; - width: 100%; - border: 1px solid black; - height: 50vh; - position: relative; - align-items: flex-end; + display: flex; + width: 100%; + border: 1px solid black; + height: 8vh; + position: relative; + align-items: flex-end; } -.chat-box-control { - display: flex; - width: 100%; - border-top: 1px solid black; - height: 8vh; - position: relative; - align-items: stretch; -} - -.chat-input { - flex-grow: 1; - display: flex; - margin-bottom: 5px; - justify-content: right; - align-items: center; +.form-chat-box { + display: flex; + width: 100%; + height: 8vh; + position: relative; + align-items: flex-end; } .text-input { - height: 7vh; - border: none; - border-color: transparent; - outline: none; - width: 100%; - flex-grow: 1; - margin-left: 5px; - margin-right: 5px; - font-size: 12px; + height: 7vh; + border: none; + border-color: transparent; + outline: none; + width: 100%; + flex-grow: 1; + margin-left: 5px; + margin-right: 5px; + font-size: 12px; } .send-button { - width: 100px; - height: 40px; - border: 1px solid #00782d; - border-radius: 8px; - background: #57e500; - font-size: 1.25em; - margin-left: 5px; - margin-right: 5px; - outline: none; + width: 100px; + height: 40px; + border: 1px solid #00782d; + border-radius: 8px; + background: #57e500; + font-size: 1.25em; + margin-left: 5px; + margin-right: 5px; + margin-bottom: 12px; + outline: none; } .close-box { - display: flex; - align-items: center; - flex-direction: column; + display: flex; + align-items: center; + flex-direction: column; } - .close-button { - width: 100px; - height: 40px; - border: 1px solid #00782d; - border-radius: 8px; - background: #BB0000; - font-size: 1.25em; - margin: 10px; - outline: none; + width: 100px; + height: 40px; + border: 1px solid #00782d; + border-radius: 8px; + background: #b00; + font-size: 1.25em; + margin: 10px; + outline: none; +} + +#scrollArea { + border: 1px solid black; + height: 280px; + overflow: auto; + width: 100%; +} + +#bottom { + display: block; + margin-top: 500px; +} + +.chat-bubble-left { + display: inline-block; + border: 1px solid #01173d; + border-radius: 8px; + background: #d3d3d3; + font-size: 1em; + margin: 10px; + outline: none; + padding: 5px; + word-break: break-all; + word-wrap: break-word; +} + +.chat-bubble-right { + display: inline-block; + border: 1px solid #01173d; + border-radius: 8px; + background: #93bcff; + font-size: 1em; + margin: 10px; + outline: none; + padding: 5px; + float: right; + clear: both; + word-break: break-all; + word-wrap: break-word; } diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/img/edit-orange.svg b/TugasBesar2_2017/WebApp/src/main/webapp/img/edit-orange.svg index 15fd48d6826cb8a5c107f4bc05866eb4c96f3750..7b1257001eaa9a42e38e472e3a939b067bfd11cf 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/img/edit-orange.svg +++ b/TugasBesar2_2017/WebApp/src/main/webapp/img/edit-orange.svg @@ -1 +1,12 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><style>.cls-1{fill:#ff7e00;}</style></defs><title>Asset 1</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M0,14.2V18H3.8l11-11.1L11,3.1ZM17.7,4a1,1,0,0,0,0-1.4L15.4.3A1,1,0,0,0,14,.3L12.2,2.1,16,5.9C15.9,5.9,17.7,4,17.7,4Z"/></g></g></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"> + <defs> + <style>.cls-1{fill:#ff7e00;}</style> + </defs> + <title>Asset 1</title> + <g id="Layer_2" data-name="Layer 2"> + <g id="Layer_1-2" data-name="Layer 1"> + <path class="cls-1" + d="M0,14.2V18H3.8l11-11.1L11,3.1ZM17.7,4a1,1,0,0,0,0-1.4L15.4.3A1,1,0,0,0,14,.3L12.2,2.1,16,5.9C15.9,5.9,17.7,4,17.7,4Z"/> + </g> + </g> +</svg> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/img/mail.svg b/TugasBesar2_2017/WebApp/src/main/webapp/img/mail.svg index 8728151cbe12f5453d89a257368bd7de5e301e3f..33fdd1be8f9eaca74cdfe0c33cc8a70fa617dcd5 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/img/mail.svg +++ b/TugasBesar2_2017/WebApp/src/main/webapp/img/mail.svg @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="114" height="114"> -<path stroke="#000" stroke-width="7" fill="none" d="m7,20h98v72H7zl44,44q5,4 10,0l44-44M7,92l36-36m26,0 36,36"/> + <path stroke="#000" stroke-width="7" fill="none" d="m7,20h98v72H7zl44,44q5,4 10,0l44-44M7,92l36-36m26,0 36,36"/> </svg> \ No newline at end of file diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/img/phone.svg b/TugasBesar2_2017/WebApp/src/main/webapp/img/phone.svg index 82f09da990790733c954a0045b7c2ea9960c4ecf..479dcf9060e5337d59b01d91e01132db31f6a766 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/img/phone.svg +++ b/TugasBesar2_2017/WebApp/src/main/webapp/img/phone.svg @@ -1,58 +1,58 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - viewBox="0 -256 1792 1792" - id="svg3013" - version="1.1" - inkscape:version="0.48.3.1 r9886" - width="100%" - height="100%" - sodipodi:docname="phone_font_awesome.svg"> - <metadata - id="metadata3023"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <defs - id="defs3021" /> - <sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="640" - inkscape:window-height="480" - id="namedview3019" - showgrid="false" - inkscape:zoom="0.13169643" - inkscape:cx="896" - inkscape:cy="896" - inkscape:window-x="0" - inkscape:window-y="25" - inkscape:window-maximized="0" - inkscape:current-layer="svg3013" /> - <g - transform="matrix(1,0,0,-1,159.45763,1293.0169)" - id="g3015"> - <path - d="m 1408,296 q 0,-27 -10,-70.5 Q 1388,182 1377,157 1356,107 1255,51 1161,0 1069,0 1042,0 1016.5,3.5 991,7 959,16 927,25 911.5,30.5 896,36 856,51 816,66 807,69 709,104 632,152 504,231 367.5,367.5 231,504 152,632 104,709 69,807 66,816 51,856 36,896 30.5,911.5 25,927 16,959 7,991 3.5,1016.5 0,1042 0,1069 q 0,92 51,186 56,101 106,122 25,11 68.5,21 43.5,10 70.5,10 14,0 21,-3 18,-6 53,-76 11,-19 30,-54 19,-35 35,-63.5 16,-28.5 31,-53.5 3,-4 17.5,-25 14.5,-21 21.5,-35.5 7,-14.5 7,-28.5 0,-20 -28.5,-50 -28.5,-30 -62,-55 -33.5,-25 -62,-53 -28.5,-28 -28.5,-46 0,-9 5,-22.5 5,-13.5 8.5,-20.5 3.5,-7 14,-24 10.5,-17 11.5,-19 76,-137 174,-235 98,-98 235,-174 2,-1 19,-11.5 17,-10.5 24,-14 7,-3.5 20.5,-8.5 13.5,-5 22.5,-5 18,0 46,28.5 28,28.5 53,62 25,33.5 55,62 30,28.5 50,28.5 14,0 28.5,-7 14.5,-7 35.5,-21.5 21,-14.5 25,-17.5 25,-15 53.5,-31 28.5,-16 63.5,-35 35,-19 54,-30 70,-35 76,-53 3,-7 3,-21 z" - id="path3017" - inkscape:connector-curvature="0" - style="fill:currentColor" /> - </g> + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 -256 1792 1792" + id="svg3013" + version="1.1" + inkscape:version="0.48.3.1 r9886" + width="100%" + height="100%" + sodipodi:docname="phone_font_awesome.svg"> + <metadata + id="metadata3023"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs3021"/> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="480" + id="namedview3019" + showgrid="false" + inkscape:zoom="0.13169643" + inkscape:cx="896" + inkscape:cy="896" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="0" + inkscape:current-layer="svg3013"/> + <g + transform="matrix(1,0,0,-1,159.45763,1293.0169)" + id="g3015"> + <path + d="m 1408,296 q 0,-27 -10,-70.5 Q 1388,182 1377,157 1356,107 1255,51 1161,0 1069,0 1042,0 1016.5,3.5 991,7 959,16 927,25 911.5,30.5 896,36 856,51 816,66 807,69 709,104 632,152 504,231 367.5,367.5 231,504 152,632 104,709 69,807 66,816 51,856 36,896 30.5,911.5 25,927 16,959 7,991 3.5,1016.5 0,1042 0,1069 q 0,92 51,186 56,101 106,122 25,11 68.5,21 43.5,10 70.5,10 14,0 21,-3 18,-6 53,-76 11,-19 30,-54 19,-35 35,-63.5 16,-28.5 31,-53.5 3,-4 17.5,-25 14.5,-21 21.5,-35.5 7,-14.5 7,-28.5 0,-20 -28.5,-50 -28.5,-30 -62,-55 -33.5,-25 -62,-53 -28.5,-28 -28.5,-46 0,-9 5,-22.5 5,-13.5 8.5,-20.5 3.5,-7 14,-24 10.5,-17 11.5,-19 76,-137 174,-235 98,-98 235,-174 2,-1 19,-11.5 17,-10.5 24,-14 7,-3.5 20.5,-8.5 13.5,-5 22.5,-5 18,0 46,28.5 28,28.5 53,62 25,33.5 55,62 30,28.5 50,28.5 14,0 28.5,-7 14.5,-7 35.5,-21.5 21,-14.5 25,-17.5 25,-15 53.5,-31 28.5,-16 63.5,-35 35,-19 54,-30 70,-35 76,-53 3,-7 3,-21 z" + id="path3017" + inkscape:connector-curvature="0" + style="fill:currentColor"/> + </g> </svg> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/index.jsp b/TugasBesar2_2017/WebApp/src/main/webapp/index.jsp index adca211ac673508e27694acd9539a1ebb1c5f98e..c29fb6e0378395c005f8a12a85d59443655b465d 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/index.jsp +++ b/TugasBesar2_2017/WebApp/src/main/webapp/index.jsp @@ -6,5 +6,5 @@ To change this template use File | Settings | File Templates. --%> <% - request.getRequestDispatcher("/index").forward(request,response); + request.getRequestDispatcher("/index").forward(request, response); %> diff --git a/TugasBesar2_2017/WebApp/src/main/webapp/js/app.js b/TugasBesar2_2017/WebApp/src/main/webapp/js/app.js index a4d70f89e35cf4896034d395db04747770cf88a8..ffee3f457c3ae4687a95ca803ea90de6e10651fc 100644 --- a/TugasBesar2_2017/WebApp/src/main/webapp/js/app.js +++ b/TugasBesar2_2017/WebApp/src/main/webapp/js/app.js @@ -1,11 +1,11 @@ -var ajaxFlag =false; +var ajaxFlag = false; function sendRequest(url, method, data, callbackFunction) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function () { - if(this.readyState == 4 && this.status == 200) { - callbackFunction; - } + if (this.readyState == 4 && this.status == 200) { + callbackFunction; + } }; xhttp.open(method, url, true); xhttp.send(data); @@ -17,51 +17,51 @@ function callBackReload() { } function usernameAJAX() { - var status = document.getElementById("username-check-status"); - status.innerHTML = "<div class='ajax-validator-loading'></div>"; - var username = document.getElementById('username-form').value; - var xhttp = new XMLHttpRequest(); - xhttp.onreadystatechange = function() { - if (this.readyState == 4 && this.status == 200) { - if(validateUsername() && (xhttp.responseText)) { - status.innerHTML = "<div class='ajax-validator-ok'></div>"; - ajaxFlag = true; - } else { - status.innerHTML = "<div class='ajax-validator-not-ok'></div>"; - ajaxFlag = false; - } - } else { + var status = document.getElementById("username-check-status"); + status.innerHTML = "<div class='ajax-validator-loading'></div>"; + var username = document.getElementById('username-form').value; + var xhttp = new XMLHttpRequest(); + xhttp.onreadystatechange = function () { + if (this.readyState == 4 && this.status == 200) { + if (validateUsername() && (xhttp.responseText)) { + status.innerHTML = "<div class='ajax-validator-ok'></div>"; + ajaxFlag = true; + } else { + status.innerHTML = "<div class='ajax-validator-not-ok'></div>"; + ajaxFlag = false; + } + } else { status.innerHTML = "<div class='ajax-validator-not-ok'></div>"; ajaxFlag = false; } - }; - xhttp.open("GET", "app/username_check.php?username="+username, true); - xhttp.send(); + }; + xhttp.open("GET", "app/username_check.php?username=" + username, true); + xhttp.send(); } function emailAJAX() { - var status = document.getElementById("email-check-status"); - status.innerHTML = "<div class='ajax-validator-loading'></div>" - var email = document.getElementById('email-form').value; - var xhttp = new XMLHttpRequest(); - xhttp.onreadystatechange = function() { - if (this.readyState == 4 && this.status == 200) { - if(validateEmail() && xhttp.responseText) { - status.innerHTML = "<div class='ajax-validator-ok'></div>"; - ajaxFlag = true; - } else { - status.innerHTML = "<div class='ajax-validator-not-ok'></div>"; - ajaxFlag = false; - } - } else { + var status = document.getElementById("email-check-status"); + status.innerHTML = "<div class='ajax-validator-loading'></div>" + var email = document.getElementById('email-form').value; + var xhttp = new XMLHttpRequest(); + xhttp.onreadystatechange = function () { + if (this.readyState == 4 && this.status == 200) { + if (validateEmail() && xhttp.responseText) { + status.innerHTML = "<div class='ajax-validator-ok'></div>"; + ajaxFlag = true; + } else { + status.innerHTML = "<div class='ajax-validator-not-ok'></div>"; + ajaxFlag = false; + } + } else { status.innerHTML = "<div class='ajax-validator-not-ok'></div>"; - ajaxFlag = false; + ajaxFlag = false; } - }; - xhttp.open("GET", "app/email_check.php?email="+email, true); - xhttp.send(); + }; + xhttp.open("GET", "app/email_check.php?email=" + email, true); + xhttp.send(); if (validateEmail() && (xhttp.responseText)) { return true; } else { @@ -70,34 +70,34 @@ function emailAJAX() { } function addErrorText(element, errorText) { - var childs= element.getElementsByClassName('error-text'); - if(!childs.length) { - element.innerHTML = element.innerHTML + "<span class=error-text>" + errorText + "</span>"; + var childs = element.getElementsByClassName('error-text'); + if (!childs.length) { + element.innerHTML = element.innerHTML + "<span class=error-text>" + errorText + "</span>"; } else { - childs[0].innerHTML= errorText; - } + childs[0].innerHTML = errorText; + } } function deleteErrorText(element) { - var childs= element.getElementsByClassName('error-text'); - if(childs.length) { - childs[0].innerHTML=""; + var childs = element.getElementsByClassName('error-text'); + if (childs.length) { + childs[0].innerHTML = ""; } } function validateName() { - var input = document.getElementsByName('name')[0]; - var str = input.value; + var input = document.getElementsByName('name')[0]; + var str = input.value; var parent = input.parentElement; input.style.border = "1px solid #CC0000"; - if(!str.length) { + if (!str.length) { addErrorText(parent, "Nama harus diisi"); - return false; - } else if(str.length >20) { + return false; + } else if (str.length > 20) { addErrorText(parent, "Nama tidak boleh lebih dari 20 karakter"); - return false; + return false; } input.style.border = "1px solid #00782d"; deleteErrorText(parent); @@ -110,7 +110,7 @@ function validateUsername() { var input = document.getElementsByName('username')[0]; var str = input.value; var parent = input.parentElement; - if(!str.length) { + if (!str.length) { input.style.border = "1px solid #CC0000"; addErrorText(parent, "Username harus diisi") return false; @@ -127,13 +127,13 @@ function validateEmail() { var parent = input.parentElement; input.style.border = "1px solid #CC0000"; var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; - if(!str.length ) { + if (!str.length) { addErrorText(parent, "Email harus diisi") return false; - } else if(!re.test(str)){ + } else if (!re.test(str)) { addErrorText(parent, "Email tidak sesuai format"); - return false; - } + return false; + } input.style.border = "1px solid #00782d"; deleteErrorText(parent); @@ -149,16 +149,16 @@ function validatePassword() { var cparent = confirm.parentElement; input.style.border = "1px solid #CC0000"; confirm.style.border = "1px solid #CC0000"; - if(!str1.length) { - addErrorText(parent, "Password harus diisi"); - return false; - } else if(!str2.length){ + if (!str1.length) { + addErrorText(parent, "Password harus diisi"); + return false; + } else if (!str2.length) { addErrorText(cparent, "Confirm Password harus diisi"); return false; - } else if(str1 != str2) { - addErrorText(cparent, "Confirm Password harus sama dengan Password"); - return false; - } + } else if (str1 != str2) { + addErrorText(cparent, "Confirm Password harus sama dengan Password"); + return false; + } input.style.border = "1px solid #00782d"; confirm.style.border = "1px solid #00782d"; deleteErrorText(parent); @@ -171,30 +171,30 @@ function validatePhone() { var str = input.value; var parent = input.parentElement; input.style.border = "1px solid #CC0000"; - if(!str.length) { + if (!str.length) { addErrorText(parent, "Phone Number harus diisi") return false; - } else if(str.length < 9 && str.length >12 ) { - addErrorText(parent, "Phone Number harus antara 9-12 digit"); - return false; - } + } else if (str.length < 9 && str.length > 12) { + addErrorText(parent, "Phone Number harus antara 9-12 digit"); + return false; + } input.style.border = "1px solid #00782d"; deleteErrorText(parent); return true; } function validateSignUpForm() { - var f=true; - f = !!validateEmail() && f; + var f = true; + f = !!validateEmail() && f; f = !!validateName() && f; f = !!validatePassword() && f; f = !!validatePhone() && f; f = !!validateUsername() && f; f = f && ajaxFlag; - if(f) - return true; - else - return false; + if (f) + return true; + else + return false; } function toggleActive(tagId) { @@ -205,20 +205,20 @@ function renderStar(rate) { document.getElementById('rating-value').value = rate; var parent = document.getElementById('rating-system'); var childs = parent.getElementsByTagName('span'); - for(var i = 0;i<rate;i++) { + for (var i = 0; i < rate; i++) { childs[i].className = 'gold-star'; } - for(var j = rate; j<5; j++) { + for (var j = rate; j < 5; j++) { childs[j].className = 'grey-star'; } } function toggleEdit(id) { - button = document.getElementById("edit-button-"+id); - input = document.getElementById("edit-input-"+id); + button = document.getElementById("edit-button-" + id); + input = document.getElementById("edit-input-" + id); newbutton = document.createElement("button"); - newbutton.setAttribute("type","submit"); - newbutton.setAttribute("form","form-update-"+id) + newbutton.setAttribute("type", "submit"); + newbutton.setAttribute("form", "form-update-" + id) newbutton.classList.add("save-button"); //newbutton.setAttribute("onclick", "savePreferences("+id+")"); input.removeAttribute("disabled"); @@ -227,72 +227,72 @@ function toggleEdit(id) { } function savePreferences(id) { - if(confirm("Are You Sure?")) { - input = document.getElementById("edit-input-"+id); - var data = {}; - data.position = id; - data.location = input.value; - var payload = "position="+id+"&"+"location="+input.value; - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function () { - if(this.status == 200 && this.readyState == 4) { - console.log(this.responseText) - //location.reload(); - } - } - xhr.open("PUT","/preferred_location",true); - xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhr.send(payload); - } else { + if (confirm("Are You Sure?")) { + input = document.getElementById("edit-input-" + id); + var data = {}; + data.position = id; + data.location = input.value; + var payload = "position=" + id + "&" + "location=" + input.value; + var xhr = new XMLHttpRequest(); + xhr.onreadystatechange = function () { + if (this.status == 200 && this.readyState == 4) { + console.log(this.responseText) + //location.reload(); + } + } + xhr.open("PUT", "/preferred_location", true); + xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + xhr.send(payload); + } else { - } + } } function deletePreferences(id) { - if(confirm("Are You Sure?")) { - input = document.getElementById("edit-input-"+id); + if (confirm("Are You Sure?")) { + input = document.getElementById("edit-input-" + id); var data = {}; data.position = id; - data.location = input.value; - var payload = "position="+id+"&"+"location="+input.value; + data.location = input.value; + var payload = "position=" + id + "&" + "location=" + input.value; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { - if(this.status == 200 && this.readyState == 4) { - console.log(this.responseText) - //location.reload(); - } + if (this.status == 200 && this.readyState == 4) { + console.log(this.responseText) + //location.reload(); + } } - xhr.open("DELETE","http://httpbin.org/put",true); - xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhr.send(payload); + xhr.open("DELETE", "http://httpbin.org/put", true); + xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + xhr.send(payload); } else { } } function userHide(id) { - orderId = id; + orderId = id; var json = JSON.stringify(orderId); sendRequest("app/user_hide_history.php", "PATCH", json, callBackReload()); } function driverHide(id) { - orderId = id; + orderId = id; var json = JSON.stringify(orderId); sendRequest("app/driver_hide_history.php", "PATCH", json, callBackReload()); } function validateForm(form) { inputs = form.querySelectorAll("input , textarea"); - f=true; - for(i=0;i<inputs.length;i++) { - if(inputs[i].getAttribute("optional") == null) { - if(!inputs[i].value) { - f= false; + f = true; + for (i = 0; i < inputs.length; i++) { + if (inputs[i].getAttribute("optional") == null) { + if (!inputs[i].value) { + f = false; inputs[i].style.border = "1px solid #CC0000"; - } else if(inputs[i].name == "phoneNumber") { + } else if (inputs[i].name == "phoneNumber") { inputs[i].style.border = "1px solid #CC0000"; - f= !isNaN(inputs[i].value) + f = !isNaN(inputs[i].value) } else { inputs[i].style.border = "1px solid #00782d"; diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/OjekOnline.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/OjekOnline.java index a8a3a6f7aba3270a7a11b609b43628fbe40f019c..3ed17e3873ba67b644636c16f4849370a12380d1 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/OjekOnline.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/OjekOnline.java @@ -4,6 +4,7 @@ import com.adaapa.ojekservice.handlers.DriverHandler; import com.adaapa.ojekservice.handlers.OrderHandler; import com.adaapa.ojekservice.handlers.ProfileHandler; import com.google.gson.Gson; + import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; @@ -12,118 +13,118 @@ import javax.jws.soap.SOAPBinding; @SOAPBinding(style = SOAPBinding.Style.RPC) @WebService() public class OjekOnline { - private Gson gson = new Gson(); - @WebMethod(operationName = "getProfile") - public String getProfile(@WebParam(name = "access_token") String access_token) - { - return ProfileHandler.doGetProfile(access_token); - } - - @WebMethod - public String addUser( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "user") String user) { - //Redone registering user here, without password but with isdriver status - return ProfileHandler.doAddUser(access_token, user); - } - - @WebMethod - public String getDriverProfile(@WebParam(name = "access_token") String access_token) { - return DriverHandler.doGetDriverProfile(access_token); - } - - @WebMethod(operationName = "getPreferredLocation") - public String getPreferredLocations( - @WebParam(name = "access_token") String access_token) { - return DriverHandler.doGetPreferredLocation(access_token); - } - - @WebMethod - public String addPreferredLocation( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "location") String location) { - return DriverHandler.doAddPreferredLocation(access_token, location); - } - - @WebMethod - public String editProfile( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "user") String user) { - return ProfileHandler.doEditProfile(access_token,user); - } - - @WebMethod - public String findDriver ( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "driver_name") String driver_name) { - return OrderHandler.doFindDriver(access_token, driver_name); - } - - @WebMethod - public String findDriverByPreferredLocation ( - @WebParam(name ="access_token") String access_token, - @WebParam(name = "pickup") String pickup, - @WebParam(name = "destination") String destination){ - return OrderHandler.doFindDriverByPreferredLocation(access_token, pickup, destination); - } - - @WebMethod - public String completeOrder( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "order") String order) { + private Gson gson = new Gson(); + + @WebMethod(operationName = "getProfile") + public String getProfile(@WebParam(name = "access_token") String access_token) { + return ProfileHandler.doGetProfile(access_token); + } + + @WebMethod + public String addUser( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "user") String user) { + //Redone registering user here, without password but with isdriver status + return ProfileHandler.doAddUser(access_token, user); + } + + @WebMethod + public String getDriverProfile(@WebParam(name = "access_token") String access_token) { + return DriverHandler.doGetDriverProfile(access_token); + } + + @WebMethod(operationName = "getPreferredLocation") + public String getPreferredLocations( + @WebParam(name = "access_token") String access_token) { + return DriverHandler.doGetPreferredLocation(access_token); + } + + @WebMethod + public String addPreferredLocation( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "location") String location) { + return DriverHandler.doAddPreferredLocation(access_token, location); + } + + @WebMethod + public String editProfile( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "user") String user) { + return ProfileHandler.doEditProfile(access_token, user); + } + + @WebMethod + public String findDriver( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "driver_name") String driver_name) { + return OrderHandler.doFindDriver(access_token, driver_name); + } + + @WebMethod + public String findDriverByPreferredLocation( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "pickup") String pickup, + @WebParam(name = "destination") String destination) { + return OrderHandler.doFindDriverByPreferredLocation(access_token, pickup, destination); + } + + @WebMethod + public String completeOrder( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "order") String order) { return OrderHandler.doCompleteOrder(access_token, order); - } + } - @WebMethod - public String getUserHistory( - @WebParam(name = "access_token") String access_token - ) { + @WebMethod + public String getUserHistory( + @WebParam(name = "access_token") String access_token + ) { return OrderHandler.doGetUserHistory(access_token); - } + } - @WebMethod - public String getDriverHistory( - @WebParam(name = "access_token") String access_token - ) { + @WebMethod + public String getDriverHistory( + @WebParam(name = "access_token") String access_token + ) { return OrderHandler.doGetDriverHistory(access_token); - } - - @WebMethod - public String hideDriverHistory( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "order_id") Integer order_id) { - return OrderHandler.doDriverHideHistory(access_token, order_id); - - } - - @WebMethod - public String hideUserHistory( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "order_id") Integer order_id) { - return OrderHandler.doUserHideHistory(access_token, order_id); - } - - @WebMethod - public String deletePreferredLocation( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "position") Integer position - ) { - return DriverHandler.doDeletePreferredLocation(access_token,position); - } - - @WebMethod - public String editPreferredLocation( - @WebParam(name = "access_token") String access_token, - @WebParam(name = "position") Integer position, - @WebParam(name = "location") String location - ) { + } + + @WebMethod + public String hideDriverHistory( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "order_id") Integer order_id) { + return OrderHandler.doDriverHideHistory(access_token, order_id); + + } + + @WebMethod + public String hideUserHistory( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "order_id") Integer order_id) { + return OrderHandler.doUserHideHistory(access_token, order_id); + } + + @WebMethod + public String deletePreferredLocation( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "position") Integer position + ) { + return DriverHandler.doDeletePreferredLocation(access_token, position); + } + + @WebMethod + public String editPreferredLocation( + @WebParam(name = "access_token") String access_token, + @WebParam(name = "position") Integer position, + @WebParam(name = "location") String location + ) { return DriverHandler.doUpdatePreferredLocation(access_token, position, location); - } + } - @WebMethod - public String findDriverByUsername(String access_token, String username) { + @WebMethod + public String findDriverByUsername(String access_token, String username) { return DriverHandler.doFindDriverByUsername(access_token, username); - } + } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/DriverHandler.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/DriverHandler.java index 13592f2fa8f40bf106bc8549d61018e7c1504a8b..7648e7da46e38ab701c44a327003dd377765a7ac 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/DriverHandler.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/DriverHandler.java @@ -8,138 +8,140 @@ import com.adaapa.ojekservice.models.DriverModel; import com.adaapa.ojekservice.models.UserModel; import com.adaapa.ojekservice.services.TokenVerificationService; import com.google.gson.Gson; + import java.sql.ResultSet; import java.util.ArrayList; public class DriverHandler { - public static String doGetPreferredLocation(String access_token) { - try { - WebServiceBean response = new WebServiceBean(); - UserModel userModel = new UserModel(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser != null) { - DriverModel driverModel = new DriverModel(); - ArrayList<PreferredLocationBean> preferredLocationArray = driverModel.findPreferredLocation(validUser.getUsername()); - response.setStatus(WebServiceBean.STATUS_VALID); - response.setBody(new Gson().toJson(preferredLocationArray)); - } else { - response.setStatus(WebServiceBean.STATUS_INVALID); - } - return new Gson().toJson(response); - }catch (Exception e) { - e.printStackTrace(); + public static String doGetPreferredLocation(String access_token) { + try { + WebServiceBean response = new WebServiceBean(); + UserModel userModel = new UserModel(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser != null) { + DriverModel driverModel = new DriverModel(); + ArrayList<PreferredLocationBean> preferredLocationArray = driverModel.findPreferredLocation(validUser.getUsername()); + response.setStatus(WebServiceBean.STATUS_VALID); + response.setBody(new Gson().toJson(preferredLocationArray)); + } else { + response.setStatus(WebServiceBean.STATUS_INVALID); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doGetDriverProfile(String access_token) { - try { - WebServiceBean response = new WebServiceBean(); - UserModel userModel = new UserModel(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser != null) { - DriverModel driverModel = new DriverModel(); - DriverBean driverBean = new DriverBean(); - driverBean.setVote(driverModel.countVote(validUser.username)); - driverBean.setName(validUser.getName()); - driverBean.setRating(driverModel.calculateRating(validUser.username)); - response.setStatus(WebServiceBean.STATUS_VALID); - response.setBody(new Gson().toJson(driverBean)); - } else { - response.setStatus(WebServiceBean.STATUS_INVALID); - } - return new Gson().toJson(response); - }catch (Exception e) { - e.printStackTrace(); + public static String doGetDriverProfile(String access_token) { + try { + WebServiceBean response = new WebServiceBean(); + UserModel userModel = new UserModel(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser != null) { + DriverModel driverModel = new DriverModel(); + DriverBean driverBean = new DriverBean(); + driverBean.setVote(driverModel.countVote(validUser.username)); + driverBean.setName(validUser.getName()); + driverBean.setRating(driverModel.calculateRating(validUser.username)); + response.setStatus(WebServiceBean.STATUS_VALID); + response.setBody(new Gson().toJson(driverBean)); + } else { + response.setStatus(WebServiceBean.STATUS_INVALID); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doAddPreferredLocation(String access_token, String location) { - try { - WebServiceBean response = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser == null) { - response.setStatus(WebServiceBean.STATUS_INVALID); - } else { - response.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - DriverModel driverModel = new DriverModel(); - UserBean wsUser = userModel.findUserByUsername(validUser.username); - ResultSet rs = driverModel.query(String.format("SELECT MAX(position) as max FROM preferred_locations WHERE id= %d",wsUser.getId())); - int curr = rs.next() ? rs.getInt("max") + 1 : 1; - driverModel.queryUpdate( - String.format("INSERT INTO preferred_locations VALUES (%d,%d,'%s')", - wsUser.getId(), curr,location)); - } - return new Gson().toJson(response); - } catch (Exception e) { - e.printStackTrace(); - return null; + public static String doAddPreferredLocation(String access_token, String location) { + try { + WebServiceBean response = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + response.setStatus(WebServiceBean.STATUS_INVALID); + } else { + response.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + DriverModel driverModel = new DriverModel(); + UserBean wsUser = userModel.findUserByUsername(validUser.username); + ResultSet rs = driverModel.query(String.format("SELECT MAX(position) as max FROM preferred_locations WHERE id= %d", wsUser.getId())); + int curr = rs.next() ? rs.getInt("max") + 1 : 1; + driverModel.queryUpdate( + String.format("INSERT INTO preferred_locations VALUES (%d,%d,'%s')", + wsUser.getId(), curr, location)); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + return null; + } } - } - public static String doDeletePreferredLocation(String access_token, Integer position) { - try { - WebServiceBean response = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser == null) { - response.setStatus(WebServiceBean.STATUS_INVALID); - } else { - response.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - DriverModel driverModel = new DriverModel(); - UserBean wsUser = userModel.findUserByUsername(validUser.getUsername()); - ResultSet rs = driverModel.queryUpdate(String.format( - "DELETE FROM preferred_locations WHERE id=%d and position=%d", - wsUser.getId(),position - )); - } - return new Gson().toJson(response); - } catch (Exception e) { - e.printStackTrace(); - return null; + public static String doDeletePreferredLocation(String access_token, Integer position) { + try { + WebServiceBean response = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + response.setStatus(WebServiceBean.STATUS_INVALID); + } else { + response.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + DriverModel driverModel = new DriverModel(); + UserBean wsUser = userModel.findUserByUsername(validUser.getUsername()); + ResultSet rs = driverModel.queryUpdate(String.format( + "DELETE FROM preferred_locations WHERE id=%d and position=%d", + wsUser.getId(), position + )); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + return null; + } } - } - public static String doUpdatePreferredLocation(String access_token, Integer position, String location) { - try { - WebServiceBean response = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser == null) { - response.setStatus(WebServiceBean.STATUS_INVALID); - } else { - response.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - DriverModel driverModel = new DriverModel(); - UserBean wsUser = userModel.findUserByUsername(validUser.getUsername()); - ResultSet rs = driverModel.queryUpdate(String.format( - "UPDATE preferred_locations SET location = '%s' WHERE id=%d AND position=%d", - location,wsUser.getId(),position - )); - } - return new Gson().toJson(response); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - public static String doFindDriverByUsername(String access_token, String username) { - try { - UserBean validUser = TokenVerificationService.verifyToken(access_token); - Gson gson = new Gson(); - WebServiceBean response = new WebServiceBean(); - if(validUser != null) { - response.setStatus(WebServiceBean.STATUS_VALID); - response.setBody(gson.toJson(new UserModel().findUserByUsername(username))); - } else { - response.setStatus(WebServiceBean.STATUS_INVALID); - } - return gson.toJson(response); - } catch (Exception e) { - e.printStackTrace(); - return null; + public static String doUpdatePreferredLocation(String access_token, Integer position, String location) { + try { + WebServiceBean response = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + response.setStatus(WebServiceBean.STATUS_INVALID); + } else { + response.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + DriverModel driverModel = new DriverModel(); + UserBean wsUser = userModel.findUserByUsername(validUser.getUsername()); + ResultSet rs = driverModel.queryUpdate(String.format( + "UPDATE preferred_locations SET location = '%s' WHERE id=%d AND position=%d", + location, wsUser.getId(), position + )); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + return null; + } } - } + public static String doFindDriverByUsername(String access_token, String username) { + try { + UserBean validUser = TokenVerificationService.verifyToken(access_token); + Gson gson = new Gson(); + WebServiceBean response = new WebServiceBean(); + if (validUser != null) { + response.setStatus(WebServiceBean.STATUS_VALID); + response.setBody(gson.toJson(new UserModel().findUserByUsername(username))); + } else { + response.setStatus(WebServiceBean.STATUS_INVALID); + } + return gson.toJson(response); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/OrderHandler.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/OrderHandler.java index 0de1e08bc3d3bb126bdda7097de50248eb2a7dd6..cf5f22740bb0bbfa6cfb232ee16e8b6fd639037d 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/OrderHandler.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/OrderHandler.java @@ -8,32 +8,33 @@ import com.adaapa.ojekservice.models.DriverModel; import com.adaapa.ojekservice.models.UserModel; import com.adaapa.ojekservice.services.TokenVerificationService; import com.google.gson.Gson; + import java.util.ArrayList; /** * Created by ireneedriadr on 11/5/17. */ public class OrderHandler { - public static String doGetUserHistory(String access_token) { - try { - WebServiceBean response = new WebServiceBean(); - UserModel userModel = new UserModel(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser != null) { - ArrayList<OrderBean> userHistoryArray = userModel.findPrevOrder(userModel.findOrderByUsername(validUser.getUsername())); - response.setStatus(WebServiceBean.STATUS_VALID); - response.setBody(new Gson().toJson(userHistoryArray)); - } else { - response.setStatus(WebServiceBean.STATUS_INVALID); - } - return new Gson().toJson(response); - }catch (Exception e) { - e.printStackTrace(); + public static String doGetUserHistory(String access_token) { + try { + WebServiceBean response = new WebServiceBean(); + UserModel userModel = new UserModel(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser != null) { + ArrayList<OrderBean> userHistoryArray = userModel.findPrevOrder(userModel.findUserByUsername(validUser.getUsername())); + response.setStatus(WebServiceBean.STATUS_VALID); + response.setBody(new Gson().toJson(userHistoryArray)); + } else { + response.setStatus(WebServiceBean.STATUS_INVALID); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doFindDriver(String access_token, String driver_name){ + public static String doFindDriver(String access_token, String driver_name) { try { Gson gson = new Gson(); WebServiceBean webServiceBean = new WebServiceBean(); @@ -45,7 +46,7 @@ public class OrderHandler { webServiceBean.setStatus(WebServiceBean.STATUS_VALID); UserModel userModel = new UserModel(); DriverModel driverModel = new DriverModel(); - ArrayList<DriverBean> driverBeans = driverModel.findDriverByName(validUser.getUsername(),driver_name); + ArrayList<DriverBean> driverBeans = driverModel.findDriverByName(validUser.getUsername(), driver_name); webServiceBean.setBody(gson.toJson(driverBeans)); return gson.toJson(webServiceBean); } @@ -54,108 +55,111 @@ public class OrderHandler { } return null; } - public static String doGetDriverHistory(String access_token) { - try { - WebServiceBean response = new WebServiceBean(); - UserModel userModel = new UserModel(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if(validUser != null) { - ArrayList<OrderBean> userHistoryArray = userModel.findPrevDriverOrder(userModel.findOrderByUsername(validUser.getUsername())); - response.setStatus(WebServiceBean.STATUS_VALID); - response.setBody(new Gson().toJson(userHistoryArray)); - } else { - response.setStatus(WebServiceBean.STATUS_INVALID); - } - return new Gson().toJson(response); - }catch (Exception e) { - e.printStackTrace(); + + public static String doGetDriverHistory(String access_token) { + try { + WebServiceBean response = new WebServiceBean(); + UserModel userModel = new UserModel(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser != null) { + ArrayList<OrderBean> userHistoryArray = userModel.findPrevDriverOrder(userModel.findUserByUsername(validUser.getUsername())); + response.setStatus(WebServiceBean.STATUS_VALID); + response.setBody(new Gson().toJson(userHistoryArray)); + } else { + response.setStatus(WebServiceBean.STATUS_INVALID); + } + return new Gson().toJson(response); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doFindDriverByPreferredLocation(String access_token, String pickup, String destination){ - try { - Gson gson = new Gson(); - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if (validUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - return gson.toJson(webServiceBean); - } else { - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - DriverModel driverModel = new DriverModel(); - ArrayList<DriverBean> driverBeans = driverModel.findDriverByPreferredLocation(validUser.getUsername(), pickup, destination); - webServiceBean.setBody(gson.toJson(driverBeans)); - return gson.toJson(webServiceBean); - } - } catch (Exception e) { - e.printStackTrace(); + public static String doFindDriverByPreferredLocation(String access_token, String pickup, String destination) { + try { + Gson gson = new Gson(); + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + return gson.toJson(webServiceBean); + } else { + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + DriverModel driverModel = new DriverModel(); + ArrayList<DriverBean> driverBeans = driverModel.findDriverByPreferredLocation(validUser.getUsername(), pickup, destination); + webServiceBean.setBody(gson.toJson(driverBeans)); + return gson.toJson(webServiceBean); + } + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doCompleteOrder(String access_token, String order) { - try{ - Gson gson = new Gson(); - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if (validUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - } else { - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - OrderBean orderBean = gson.fromJson(order, OrderBean.class); - DriverModel driverModel = new DriverModel(); - driverModel.queryUpdate(String.format( - "INSERT INTO orders (user_id,driver_id,pickup,destination,rating,comment) VALUES" - + "(%d,%d,'%s','%s','%d','%s')", - validUser.getId(),orderBean.getDriverId(),orderBean.getPickup(),orderBean.getDestination(), - orderBean.getRating().intValue(), orderBean.getComment() - )); - } - return gson.toJson(webServiceBean); - } catch (Exception e) { - e.printStackTrace(); + public static String doCompleteOrder(String access_token, String order) { + try { + Gson gson = new Gson(); + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + } else { + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + UserBean wsUser = userModel.findUserByUsername(validUser.getUsername()); + OrderBean orderBean = gson.fromJson(order, OrderBean.class); + DriverModel driverModel = new DriverModel(); + driverModel.queryUpdate(String.format( + "INSERT INTO orders (user_id,driver_id,pickup,destination,rating,comment) VALUES" + + "(%d,%d,'%s','%s','%d','%s')", + wsUser.getId(), orderBean.getDriverId(), orderBean.getPickup(), orderBean.getDestination(), + orderBean.getRating().intValue(), orderBean.getComment() + )); + } + return gson.toJson(webServiceBean); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doUserHideHistory(String access_token, Integer orderId) { - try{ - Gson gson = new Gson(); - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if (validUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - } else { - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - userModel.queryUpdate(String.format("UPDATE orders SET user_hidden=1 WHERE id=%d",orderId)); - } - return gson.toJson(webServiceBean); - } catch (Exception e) { - e.printStackTrace(); + public static String doUserHideHistory(String access_token, Integer orderId) { + try { + Gson gson = new Gson(); + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + } else { + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + userModel.queryUpdate(String.format("UPDATE orders SET user_hidden=1 WHERE id=%d", orderId)); + } + return gson.toJson(webServiceBean); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doDriverHideHistory(String access_token, Integer orderId) { - try{ - Gson gson = new Gson(); - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if (validUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - } else { - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - userModel.queryUpdate(String.format("UPDATE orders SET driver_hidden=1 WHERE id=%d",orderId)); - } - return gson.toJson(webServiceBean); - } catch (Exception e) { - e.printStackTrace(); + public static String doDriverHideHistory(String access_token, Integer orderId) { + try { + Gson gson = new Gson(); + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + } else { + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + userModel.queryUpdate(String.format("UPDATE orders SET driver_hidden=1 WHERE id=%d", orderId)); + } + return gson.toJson(webServiceBean); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/ProfileHandler.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/ProfileHandler.java index 9ecb290df990a3417f7db49b2a20fb7838fc113b..e809ce4069d5f7301d56fee8f39b7709608a7597 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/ProfileHandler.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/handlers/ProfileHandler.java @@ -7,68 +7,70 @@ import com.adaapa.ojekservice.services.TokenVerificationService; import com.google.gson.Gson; public class ProfileHandler { - static Gson gson = new Gson(); - public static String doGetProfile(String access_token){ - try { - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean resUser = TokenVerificationService.verifyToken(access_token); - if (resUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - return gson.toJson(webServiceBean); - } else { - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - UserModel userModel = new UserModel(); - UserBean user = userModel.findUserByUsername(resUser.getUsername()); - if (user == null) { - resUser.isDriver = false; - userModel.saveUser(resUser); - webServiceBean.setBody(gson.toJson(resUser)); - } else { - webServiceBean.setBody(gson.toJson(user)); + static Gson gson = new Gson(); + + public static String doGetProfile(String access_token) { + try { + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean resUser = TokenVerificationService.verifyToken(access_token); + if (resUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + return gson.toJson(webServiceBean); + } else { + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + UserModel userModel = new UserModel(); + UserBean user = userModel.findUserByUsername(resUser.getUsername()); + if (user == null) { + resUser.isDriver = false; + userModel.saveUser(resUser); + webServiceBean.setBody(gson.toJson(resUser)); + } else { + webServiceBean.setBody(gson.toJson(user)); + } + return gson.toJson(webServiceBean); + } + } catch (Exception e) { + e.printStackTrace(); } - return gson.toJson(webServiceBean); - } - } catch (Exception e) { - e.printStackTrace(); + return null; } - return null; - } - public static String doEditProfile(String access_token, String user) { - try { - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean resUser = TokenVerificationService.verifyToken(access_token); - if (resUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - } else { - UserBean userBean = gson.fromJson(user, UserBean.class); - userBean.username = resUser.username; - UserModel userModel = new UserModel(); - userModel.updateUser(userBean); - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - } - return gson.toJson(webServiceBean); - } catch (Exception e) { - e.printStackTrace(); + + public static String doEditProfile(String access_token, String user) { + try { + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean resUser = TokenVerificationService.verifyToken(access_token); + if (resUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + } else { + UserBean userBean = gson.fromJson(user, UserBean.class); + userBean.username = resUser.username; + UserModel userModel = new UserModel(); + userModel.updateUser(userBean); + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + } + return gson.toJson(webServiceBean); + } catch (Exception e) { + e.printStackTrace(); + } + return null; } - return null; - } - public static String doAddUser(String access_token, String user) { - try { - WebServiceBean webServiceBean = new WebServiceBean(); - UserBean validUser = TokenVerificationService.verifyToken(access_token); - if (validUser == null) { - webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); - } else { - UserBean userBean = gson.fromJson(user, UserBean.class); - UserModel userModel = new UserModel(); - userModel.saveUser(userBean); - webServiceBean.setStatus(WebServiceBean.STATUS_VALID); - } - return gson.toJson(webServiceBean); - } catch (Exception e) { - e.printStackTrace(); - return null; + public static String doAddUser(String access_token, String user) { + try { + WebServiceBean webServiceBean = new WebServiceBean(); + UserBean validUser = TokenVerificationService.verifyToken(access_token); + if (validUser == null) { + webServiceBean.setStatus(WebServiceBean.STATUS_INVALID); + } else { + UserBean userBean = gson.fromJson(user, UserBean.class); + UserModel userModel = new UserModel(); + userModel.saveUser(userBean); + webServiceBean.setStatus(WebServiceBean.STATUS_VALID); + } + return gson.toJson(webServiceBean); + } catch (Exception e) { + e.printStackTrace(); + return null; + } } - } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/DriverModel.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/DriverModel.java index 88ad284985facecb0ce626317f071168688e3d43..8e7a4641922d0ceb9f117159964add96ee973d5b 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/DriverModel.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/DriverModel.java @@ -3,119 +3,123 @@ package com.adaapa.ojekservice.models; import com.adaapa.bean.DriverBean; import com.adaapa.bean.PreferredLocationBean; import com.adaapa.models.BaseModel; + import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Base64; public class DriverModel extends BaseModel { - public static String ORDER_TABLE = "orders"; - public static String USER_TABLE = "users"; - public static String PREFERRED_TABLE = "preferred_locations"; - public DriverModel() { - super("users","id"); - } - public Integer countVote(String username) { - try { - ResultSet rs = query(String.format( - "SELECT COUNT(rating) as vote FROM %s inner join %s on (%s.driver_id = %s.id) where users.username = '%s'", - ORDER_TABLE, USER_TABLE, ORDER_TABLE, USER_TABLE, username)); - if(rs.next()) { - return rs.getInt("vote"); - } else { - return 0; - } + public static String ORDER_TABLE = "orders"; + public static String USER_TABLE = "users"; + public static String PREFERRED_TABLE = "preferred_locations"; - } catch (Exception e) { - e.printStackTrace(); - return 0; + public DriverModel() { + super("users", "id"); } - } - public DriverBean parseDriverBean(ResultSet resultSet) throws SQLException { - String username = resultSet.getString("username"); - DriverBean driverBean = new DriverBean(); - driverBean.setRating(calculateRating(username)); - driverBean.setName(resultSet.getString("name")); - driverBean.setVote(countVote(username)); - driverBean.setId(resultSet.getInt("id")); - driverBean.setUsername(username); - try { - driverBean.setImage("data:image/jpeg;charset=utf-8;base64,"+ Base64.getEncoder().encodeToString(resultSet.getBytes("image"))); - } catch (Exception e){ - System.out.println("User has no profile image"); + public Integer countVote(String username) { + try { + ResultSet rs = query(String.format( + "SELECT COUNT(rating) as vote FROM %s inner join %s on (%s.driver_id = %s.id) where users.username = '%s'", + ORDER_TABLE, USER_TABLE, ORDER_TABLE, USER_TABLE, username)); + if (rs.next()) { + return rs.getInt("vote"); + } else { + return 0; + } + + } catch (Exception e) { + e.printStackTrace(); + return 0; + } } - return driverBean; - } - public Double calculateRating (String username) { - try { - ResultSet rs = query(String.format( - "SELECT AVG(rating) as rating FROM %s inner join %s on (%s.driver_id = %s.id) where users.username = '%s'", - ORDER_TABLE, USER_TABLE, ORDER_TABLE, USER_TABLE, username)); - if(rs.next()) { - return rs.getDouble("rating"); - } else { - return 0.0; - } - } catch (Exception e) { - e.printStackTrace(); - return 0.0; + + public DriverBean parseDriverBean(ResultSet resultSet) throws SQLException { + String username = resultSet.getString("username"); + DriverBean driverBean = new DriverBean(); + driverBean.setRating(calculateRating(username)); + driverBean.setName(resultSet.getString("name")); + driverBean.setVote(countVote(username)); + driverBean.setId(resultSet.getInt("id")); + driverBean.setUsername(username); + try { + driverBean.setImage("data:image/jpeg;charset=utf-8;base64," + Base64.getEncoder().encodeToString(resultSet.getBytes("image"))); + } catch (Exception e) { + System.out.println("User has no profile image"); + } + return driverBean; + } + + public Double calculateRating(String username) { + try { + ResultSet rs = query(String.format( + "SELECT AVG(rating) as rating FROM %s inner join %s on (%s.driver_id = %s.id) where users.username = '%s'", + ORDER_TABLE, USER_TABLE, ORDER_TABLE, USER_TABLE, username)); + if (rs.next()) { + return rs.getDouble("rating"); + } else { + return 0.0; + } + } catch (Exception e) { + e.printStackTrace(); + return 0.0; + } } - } - public ArrayList<PreferredLocationBean> findPreferredLocation (String username ) { - ArrayList<PreferredLocationBean> preferredLocationBeanArray = new ArrayList<>(); - try { - ResultSet rs = query(String.format( - "SELECT position,location FROM %s NATURAL JOIN %s WHERE users.username = '%s'", - PREFERRED_TABLE,USER_TABLE, username - )); - while (rs.next()) { - PreferredLocationBean preferredLocationBean = new PreferredLocationBean(); - preferredLocationBean.setLocation(rs.getString("location")); - preferredLocationBean.setPosition(rs.getInt("position")); - preferredLocationBeanArray.add(preferredLocationBean); - } - return preferredLocationBeanArray; - } catch (Exception e) { - e.printStackTrace(); - return preferredLocationBeanArray; + public ArrayList<PreferredLocationBean> findPreferredLocation(String username) { + ArrayList<PreferredLocationBean> preferredLocationBeanArray = new ArrayList<>(); + try { + ResultSet rs = query(String.format( + "SELECT position,location FROM %s NATURAL JOIN %s WHERE users.username = '%s'", + PREFERRED_TABLE, USER_TABLE, username + )); + while (rs.next()) { + PreferredLocationBean preferredLocationBean = new PreferredLocationBean(); + preferredLocationBean.setLocation(rs.getString("location")); + preferredLocationBean.setPosition(rs.getInt("position")); + preferredLocationBeanArray.add(preferredLocationBean); + } + return preferredLocationBeanArray; + } catch (Exception e) { + e.printStackTrace(); + return preferredLocationBeanArray; + } } - } - public ArrayList<DriverBean> findDriverByName(String username, String name) { - ResultSet resultSet = null; - ArrayList<DriverBean> driverBeans = new ArrayList<>(); - int i = 0; - try { - resultSet = query("SELECT * FROM users WHERE username != '"+username+"' AND name LIKE '%"+name+"%' and is_driver=1"); - while (resultSet.next()) { - driverBeans.add(parseDriverBean(resultSet)); - } - } catch (Exception e) { - e.printStackTrace(); + public ArrayList<DriverBean> findDriverByName(String username, String name) { + ResultSet resultSet = null; + ArrayList<DriverBean> driverBeans = new ArrayList<>(); + int i = 0; + try { + resultSet = query("SELECT * FROM users WHERE username != '" + username + "' AND name LIKE '%" + name + "%' and is_driver=1"); + while (resultSet.next()) { + driverBeans.add(parseDriverBean(resultSet)); + } + } catch (Exception e) { + e.printStackTrace(); + } + return driverBeans; } - return driverBeans; - } - public ArrayList<DriverBean> findDriverByPreferredLocation(String username, String pickup, String destination) { - ResultSet resultSet = null; - ArrayList<DriverBean> driverBeans = new ArrayList<>(); - int i = 0; - try { - resultSet = query(String.format( - "SELECT DISTINCT users.name, users.username, users.id, users.image " - + "FROM users NATURAL JOIN preferred_locations WHERE username!= '%s' and (location='%s' or location='%s')", - username,pickup,destination - )); - while (resultSet.next()) { - driverBeans.add(parseDriverBean(resultSet)); - } - } catch (Exception e) { - e.printStackTrace(); + public ArrayList<DriverBean> findDriverByPreferredLocation(String username, String pickup, String destination) { + ResultSet resultSet = null; + ArrayList<DriverBean> driverBeans = new ArrayList<>(); + int i = 0; + try { + resultSet = query(String.format( + "SELECT DISTINCT users.name, users.username, users.id, users.image " + + "FROM users NATURAL JOIN preferred_locations WHERE username!= '%s' and (location='%s' or location='%s')", + username, pickup, destination + )); + while (resultSet.next()) { + driverBeans.add(parseDriverBean(resultSet)); + } + } catch (Exception e) { + e.printStackTrace(); + } + return driverBeans; } - return driverBeans; - } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/UserModel.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/UserModel.java index d90d8cfcef0c2256e10648e813480e46731e18e3..b5886100fed4ea81216b7ee52b50c92736242c35 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/UserModel.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/models/UserModel.java @@ -3,147 +3,150 @@ package com.adaapa.ojekservice.models; import com.adaapa.bean.OrderBean; import com.adaapa.bean.UserBean; import com.adaapa.models.BaseModel; + import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Base64; -public class UserModel extends BaseModel{ - public UserModel(){ - super("users","id"); - } - - public UserBean parseUserBean(ResultSet resultSet)throws SQLException { - UserBean ubean = new UserBean(); - ubean.id = resultSet.getInt("id"); - ubean.email = resultSet.getString("email"); - ubean.phoneNumber = resultSet.getString("phone"); - ubean.name = resultSet.getString("name"); - ubean.isDriver = resultSet.getBoolean("is_driver"); - ubean.username = resultSet.getString("username"); - try { - ubean.image = "data:image/jpeg;charset=utf-8;base64,"+Base64.getEncoder().encodeToString(resultSet.getBytes("image")); - } catch (Exception e) { - System.out.println("User has no image"); +public class UserModel extends BaseModel { + public UserModel() { + super("users", "id"); } - return ubean; - } - - public OrderBean parseUserOrder(ResultSet resultSet)throws SQLException { - OrderBean obean = new OrderBean(); - obean.setId(resultSet.getInt("id")); - obean.setUserId(resultSet.getInt("user_id")); - obean.setDriverId(resultSet.getInt("driver_id")); - obean.setPickup(resultSet.getString("pickup")); - obean.setDestination(resultSet.getString("destination")); - obean.setRating(resultSet.getDouble("rating")); - obean.setComment(resultSet.getString("comment")); - obean.setName(resultSet.getString("name")); - obean.setTimestamp(resultSet.getTimestamp("timestamp")); - try { - obean.setImage("data:image/jpeg;charset=utf-8;base64,"+Base64.getEncoder().encodeToString(resultSet.getBytes("image"))); - } catch (Exception e) { - System.out.println("User has no image"); + + public UserBean parseUserBean(ResultSet resultSet) throws SQLException { + UserBean ubean = new UserBean(); + ubean.id = resultSet.getInt("id"); + ubean.email = resultSet.getString("email"); + ubean.phoneNumber = resultSet.getString("phone"); + ubean.name = resultSet.getString("name"); + ubean.isDriver = resultSet.getBoolean("is_driver"); + ubean.username = resultSet.getString("username"); + try { + ubean.image = "data:image/jpeg;charset=utf-8;base64," + Base64.getEncoder().encodeToString(resultSet.getBytes("image")); + } catch (Exception e) { + System.out.println("User has no image"); + } + return ubean; } - return obean; - } - - public UserBean findUserByUsername(String username) { - UserBean userBean = null; - ResultSet resultSet = null; - try { - resultSet = query(String.format("SELECT * FROM %s WHERE username='%s'", tableName, username)); - if(resultSet.next()) { - userBean = parseUserBean(resultSet); - } - } catch (Exception e) { - e.printStackTrace(); + + public OrderBean parseUserOrder(ResultSet resultSet) throws SQLException { + OrderBean obean = new OrderBean(); + obean.setId(resultSet.getInt("id")); + obean.setUserId(resultSet.getInt("user_id")); + obean.setDriverId(resultSet.getInt("driver_id")); + obean.setPickup(resultSet.getString("pickup")); + obean.setDestination(resultSet.getString("destination")); + obean.setRating(resultSet.getDouble("rating")); + obean.setComment(resultSet.getString("comment")); + obean.setName(resultSet.getString("name")); + obean.setTimestamp(resultSet.getTimestamp("timestamp")); + try { + obean.setImage("data:image/jpeg;charset=utf-8;base64," + Base64.getEncoder().encodeToString(resultSet.getBytes("image"))); + } catch (Exception e) { + System.out.println("User has no image"); + } + return obean; } - return userBean; - } - - public OrderBean findOrderByUsername(String username) { - OrderBean orderBean = null; - ResultSet resultSet = null; - try { - resultSet = query(String.format( - "SELECT * FROM orders JOIN users ON users.id = orders.driver_id WHERE username='%s'", - username)); - if (resultSet.next()) { - orderBean = parseUserOrder(resultSet); - } - } catch (Exception e) { - e.printStackTrace(); + + public UserBean findUserByUsername(String username) { + UserBean userBean = null; + ResultSet resultSet = null; + try { + resultSet = query(String.format("SELECT * FROM %s WHERE username='%s'", tableName, username)); + if (resultSet.next()) { + userBean = parseUserBean(resultSet); + } + } catch (Exception e) { + e.printStackTrace(); + } + return userBean; } - return orderBean; - } - - public Boolean saveUser(UserBean userBean) { - ResultSet resultSet = null; - try { - resultSet = queryUpdate(String.format( - "INSERT INTO %s (name,email,phone,username,is_driver)" - + "VALUES ('%s','%s','%s','%s','%d')", - tableName,userBean.name,userBean.email,userBean.phoneNumber,userBean.username,userBean.isDriver ? 1 : 0 - - )); - return true; - } catch (Exception e) { - e.printStackTrace(); - return false; + + public OrderBean findOrderByUsername(String username) { + OrderBean orderBean = null; + ResultSet resultSet = null; + try { + resultSet = query(String.format( + "SELECT * FROM orders JOIN users ON users.id = orders.driver_id WHERE username='%s'", + username)); + if (resultSet.next()) { + orderBean = parseUserOrder(resultSet); + } + } catch (Exception e) { + e.printStackTrace(); + } + return orderBean; } - } - public void updateImage(String username, String image) throws SQLException { - PreparedStatement statement = db - .prepareStatement("UPDATE users SET image=? WHERE username = ?"); - statement.setBytes(1, Base64.getDecoder().decode(image)); - statement.setString(2,username); - statement.executeUpdate(); - } - public void updateUser(UserBean updatedUser) { - try { - PreparedStatement statement = db - .prepareStatement("UPDATE users SET name=?, phone=?,is_driver=? WHERE username = ?"); - statement.setString(1, updatedUser.getName()); - statement.setString(2, updatedUser.phoneNumber); - statement.setBoolean(3,updatedUser.isDriver); - statement.setString(4, updatedUser.getUsername()); - statement.executeUpdate(); - if(updatedUser.getImage() != null) { - updateImage(updatedUser.username, updatedUser.image); - } - } catch (Exception e) { - e.printStackTrace(); + public Boolean saveUser(UserBean userBean) { + ResultSet resultSet = null; + try { + resultSet = queryUpdate(String.format( + "INSERT INTO %s (name,email,phone,username,is_driver)" + + "VALUES ('%s','%s','%s','%s','%d')", + tableName, userBean.name, userBean.email, userBean.phoneNumber, userBean.username, userBean.isDriver ? 1 : 0 + + )); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } - } - - public ArrayList<OrderBean> findPrevOrder(OrderBean driver) { - ArrayList<OrderBean> res = new ArrayList<>(); - - try { - ResultSet rs = query(String.format("SELECT * FROM orders JOIN users ON users.id = orders.driver_id WHERE user_id = '%s' and not user_hidden ORDER BY timestamp desc",driver.getDriverId())); - while (rs.next()) { - res.add(parseUserOrder(rs)); - } - } catch (Exception e) { - e.printStackTrace(); + + public void updateImage(String username, String image) throws SQLException { + PreparedStatement statement = db + .prepareStatement("UPDATE users SET image=? WHERE username = ?"); + statement.setBytes(1, Base64.getDecoder().decode(image)); + statement.setString(2, username); + statement.executeUpdate(); } - return res; - } - - public ArrayList<OrderBean> findPrevDriverOrder(OrderBean driver) { - ArrayList<OrderBean> res = new ArrayList<>(); - - try { - ResultSet rs = query(String.format("SELECT * FROM orders JOIN users ON users.id = orders.user_id WHERE driver_id = '%s' and not driver_hidden ORDER BY timestamp desc",driver.getDriverId())); - while (rs.next()) { - res.add(parseUserOrder(rs)); - } - } catch (Exception e) { - e.printStackTrace(); + + public void updateUser(UserBean updatedUser) { + try { + PreparedStatement statement = db + .prepareStatement("UPDATE users SET name=?, phone=?,is_driver=? WHERE username = ?"); + statement.setString(1, updatedUser.getName()); + statement.setString(2, updatedUser.phoneNumber); + statement.setBoolean(3, updatedUser.isDriver); + statement.setString(4, updatedUser.getUsername()); + statement.executeUpdate(); + if (updatedUser.getImage() != null) { + updateImage(updatedUser.username, updatedUser.image); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public ArrayList<OrderBean> findPrevOrder(UserBean driver) { + ArrayList<OrderBean> res = new ArrayList<>(); + + try { + ResultSet rs = query(String.format("SELECT * FROM orders JOIN users ON users.id = orders.driver_id WHERE user_id = '%s' and not user_hidden ORDER BY timestamp desc", driver.getId())); + while (rs.next()) { + res.add(parseUserOrder(rs)); + } + } catch (Exception e) { + e.printStackTrace(); + } + return res; + } + + public ArrayList<OrderBean> findPrevDriverOrder(UserBean driver) { + ArrayList<OrderBean> res = new ArrayList<>(); + + try { + ResultSet rs = query(String.format("SELECT * FROM orders JOIN users ON users.id = orders.user_id WHERE driver_id = '%s' and not driver_hidden ORDER BY timestamp desc", driver.getId())); + while (rs.next()) { + res.add(parseUserOrder(rs)); + } + } catch (Exception e) { + e.printStackTrace(); + } + return res; } - return res; - } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/DomainConfig.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/DomainConfig.java index 69367b53cd7a2cb8849cf17a27107dceebea9e81..d20c9e4641cc32cb2dacc40a23e21be54aa02b4f 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/DomainConfig.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/DomainConfig.java @@ -4,23 +4,24 @@ import java.io.InputStream; import java.util.Properties; public class DomainConfig { - public static String IS_DOMAIN; - private final String file_name = "/config/domain.properties"; + public static String IS_DOMAIN; + private final String file_name = "/config/domain.properties"; - public DomainConfig() { - try { - Properties prop = new Properties(); - InputStream inp = this.getClass().getResourceAsStream(file_name); - prop.load(inp); - IS_DOMAIN = prop.getProperty("IDSERVICE_DOMAIN"); - } catch (Exception e) { - e.printStackTrace(); + public DomainConfig() { + try { + Properties prop = new Properties(); + InputStream inp = this.getClass().getResourceAsStream(file_name); + prop.load(inp); + IS_DOMAIN = prop.getProperty("IDSERVICE_DOMAIN"); + } catch (Exception e) { + e.printStackTrace(); + } } - } - public static String getISDomain() { - if(IS_DOMAIN == null) { - new DomainConfig(); + + public static String getISDomain() { + if (IS_DOMAIN == null) { + new DomainConfig(); + } + return IS_DOMAIN; } - return IS_DOMAIN; - } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/TokenVerificationService.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/TokenVerificationService.java index cca774d906928ee8c0dbb1f4505ddb1efc8dfdf7..c34b3f18110d2423f70c80468a7d146d9db0cd90 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/TokenVerificationService.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/ojekservice/services/TokenVerificationService.java @@ -5,32 +5,35 @@ import com.adaapa.bean.UserBean; import com.adaapa.bean.WebServiceBean; import com.adaapa.tokenverifier.TokenVerifier; import com.google.gson.Gson; -import java.net.MalformedURLException; -import java.net.URL; + import javax.xml.namespace.QName; import javax.xml.ws.Service; +import java.net.MalformedURLException; +import java.net.URL; public class TokenVerificationService { - private final String TOKEN_VERIFIER_PATH = "/verifytoken"; - private final String WSDL_PATH = "?wsdl"; - private static TokenVerifier serviceClass; - TokenVerificationService() throws MalformedURLException { - URL url = new URL(DomainConfig.getISDomain()+TOKEN_VERIFIER_PATH+WSDL_PATH); - QName qname = new QName("tokenverifier.adaapa.com", "TokenVerifierService"); - Service service = Service.create(url, qname); - serviceClass = service.getPort(TokenVerifier.class); - } - public static UserBean verifyToken(String access_token) throws MalformedURLException { - if(serviceClass == null) { - new TokenVerificationService(); + private static TokenVerifier serviceClass; + private final String TOKEN_VERIFIER_PATH = "/verifytoken"; + private final String WSDL_PATH = "?wsdl"; + + TokenVerificationService() throws MalformedURLException { + URL url = new URL(DomainConfig.getISDomain() + TOKEN_VERIFIER_PATH + WSDL_PATH); + QName qname = new QName("tokenverifier.adaapa.com", "TokenVerifierService"); + Service service = Service.create(url, qname); + serviceClass = service.getPort(TokenVerifier.class); } - String result = serviceClass.verifyToken(access_token); - TokenVerificationResponse resultObj = new Gson().fromJson(result,TokenVerificationResponse.class); - WebServiceBean response = new WebServiceBean(); - if(resultObj.getStatus().equals(TokenVerificationResponse.TOKEN_VALID)) { - return resultObj.getUser(); - } else { - return null; + + public static UserBean verifyToken(String access_token) throws MalformedURLException { + if (serviceClass == null) { + new TokenVerificationService(); + } + String result = serviceClass.verifyToken(access_token); + TokenVerificationResponse resultObj = new Gson().fromJson(result, TokenVerificationResponse.class); + WebServiceBean response = new WebServiceBean(); + if (resultObj.getStatus().equals(TokenVerificationResponse.TOKEN_VALID)) { + return resultObj.getUser(); + } else { + return null; + } } - } } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/ObjectFactory.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/ObjectFactory.java index c9f1faa1b3689a182aedf5eba5050f6805d9577e..9ed5241c49f6c86f717a5b5bd970b40db502bc1e 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/ObjectFactory.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/ObjectFactory.java @@ -1,4 +1,3 @@ - package com.adaapa.tokenverifier; import javax.xml.bind.JAXBElement; @@ -8,18 +7,17 @@ import javax.xml.namespace.QName; /** - * This object contains factory methods for each - * Java content interface and Java element interface - * generated in the com.adaapa.tokenverifier package. - * <p>An ObjectFactory allows you to programatically - * construct new instances of the Java representation - * for XML content. The Java representation of XML - * content can consist of schema derived interfaces - * and classes representing the binding of schema - * type definitions, element declarations and model - * groups. Factory methods for each of these are + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the com.adaapa.tokenverifier package. + * <p>An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are * provided in this class. - * */ @XmlRegistry public class ObjectFactory { @@ -29,14 +27,12 @@ public class ObjectFactory { /** * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.adaapa.tokenverifier - * */ public ObjectFactory() { } /** * Create an instance of {@link VerifyToken } - * */ public VerifyToken createVerifyToken() { return new VerifyToken(); @@ -44,7 +40,6 @@ public class ObjectFactory { /** * Create an instance of {@link VerifyTokenResponse } - * */ public VerifyTokenResponse createVerifyTokenResponse() { return new VerifyTokenResponse(); @@ -52,7 +47,6 @@ public class ObjectFactory { /** * Create an instance of {@link JAXBElement }{@code <}{@link VerifyToken }{@code >}} - * */ @XmlElementDecl(namespace = "tokenverifier.adaapa.com", name = "verifyToken") public JAXBElement<VerifyToken> createVerifyToken(VerifyToken value) { @@ -61,7 +55,6 @@ public class ObjectFactory { /** * Create an instance of {@link JAXBElement }{@code <}{@link VerifyTokenResponse }{@code >}} - * */ @XmlElementDecl(namespace = "tokenverifier.adaapa.com", name = "verifyTokenResponse") public JAXBElement<VerifyTokenResponse> createVerifyTokenResponse(VerifyTokenResponse value) { diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifier.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifier.java index dbfe06ba3c4bbe66c3ea41db89853ceda1cb024f..8999747b4282b878aaf6bbbc14f060cdc468ac67 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifier.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifier.java @@ -1,4 +1,3 @@ - package com.adaapa.tokenverifier; import javax.jws.WebMethod; @@ -15,20 +14,17 @@ import javax.xml.ws.ResponseWrapper; * This class was generated by the JAX-WS RI. * JAX-WS RI 2.2.9-b130926.1035 * Generated source version: 2.2 - * */ @WebService(name = "TokenVerifier", targetNamespace = "tokenverifier.adaapa.com") @XmlSeeAlso({ - ObjectFactory.class + ObjectFactory.class }) public interface TokenVerifier { /** - * * @param accessToken - * @return - * returns java.lang.String + * @return returns java.lang.String */ @WebMethod @WebResult(name = "userObjectInJSON", targetNamespace = "") @@ -36,7 +32,7 @@ public interface TokenVerifier { @ResponseWrapper(localName = "verifyTokenResponse", targetNamespace = "tokenverifier.adaapa.com", className = "com.adaapa.tokenverifier.VerifyTokenResponse") @Action(input = "tokenverifier.adaapa.com/TokenVerifier/verifyTokenRequest", output = "tokenverifier.adaapa.com/TokenVerifier/verifyTokenResponse") public String verifyToken( - @WebParam(name = "access_token", targetNamespace = "") - String accessToken); + @WebParam(name = "access_token", targetNamespace = "") + String accessToken); } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifierService.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifierService.java index 78b39f9ad7a40449456fef44c219f6ecb369ff23..7d22d26cdcf08c24658bc3514094c5976ac01c5f 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifierService.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/TokenVerifierService.java @@ -1,26 +1,19 @@ - package com.adaapa.tokenverifier; +import javax.xml.namespace.QName; +import javax.xml.ws.*; import java.net.MalformedURLException; import java.net.URL; -import javax.xml.namespace.QName; -import javax.xml.ws.Service; -import javax.xml.ws.WebEndpoint; -import javax.xml.ws.WebServiceClient; -import javax.xml.ws.WebServiceException; -import javax.xml.ws.WebServiceFeature; /** * This class was generated by the JAX-WS RI. * JAX-WS RI 2.2.9-b130926.1035 * Generated source version: 2.2 - * */ @WebServiceClient(name = "TokenVerifierService", targetNamespace = "tokenverifier.adaapa.com", wsdlLocation = "http://localhost:8001/verifytoken?wsdl") public class TokenVerifierService - extends Service -{ + extends Service { private final static URL TOKENVERIFIERSERVICE_WSDL_LOCATION; private final static WebServiceException TOKENVERIFIERSERVICE_EXCEPTION; @@ -62,10 +55,15 @@ public class TokenVerifierService super(wsdlLocation, serviceName, features); } + private static URL __getWsdlLocation() { + if (TOKENVERIFIERSERVICE_EXCEPTION != null) { + throw TOKENVERIFIERSERVICE_EXCEPTION; + } + return TOKENVERIFIERSERVICE_WSDL_LOCATION; + } + /** - * - * @return - * returns TokenVerifier + * @return returns TokenVerifier */ @WebEndpoint(name = "TokenVerifierPort") public TokenVerifier getTokenVerifierPort() { @@ -73,22 +71,12 @@ public class TokenVerifierService } /** - * - * @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 TokenVerifier + * @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 TokenVerifier */ @WebEndpoint(name = "TokenVerifierPort") public TokenVerifier getTokenVerifierPort(WebServiceFeature... features) { return super.getPort(new QName("tokenverifier.adaapa.com", "TokenVerifierPort"), TokenVerifier.class, features); } - private static URL __getWsdlLocation() { - if (TOKENVERIFIERSERVICE_EXCEPTION!= null) { - throw TOKENVERIFIERSERVICE_EXCEPTION; - } - return TOKENVERIFIERSERVICE_WSDL_LOCATION; - } - } diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyToken.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyToken.java index 230c4a2a89fc3f17c385671eb26cd164409529ae..8782fce8470d2748b939de15785ae83a861be244 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyToken.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyToken.java @@ -1,4 +1,3 @@ - package com.adaapa.tokenverifier; import javax.xml.bind.annotation.XmlAccessType; @@ -9,9 +8,9 @@ import javax.xml.bind.annotation.XmlType; /** * <p>Java class for verifyToken complex type. - * + * <p> * <p>The following schema fragment specifies the expected content contained within this class. - * + * <p> * <pre> * <complexType name="verifyToken"> * <complexContent> @@ -23,12 +22,10 @@ import javax.xml.bind.annotation.XmlType; * </complexContent> * </complexType> * </pre> - * - * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "verifyToken", propOrder = { - "accessToken" + "accessToken" }) public class VerifyToken { @@ -37,11 +34,9 @@ public class VerifyToken { /** * Gets the value of the accessToken property. - * - * @return - * possible object is - * {@link String } - * + * + * @return possible object is + * {@link String } */ public String getAccessToken() { return accessToken; @@ -49,11 +44,9 @@ public class VerifyToken { /** * Sets the value of the accessToken property. - * - * @param value - * allowed object is - * {@link String } - * + * + * @param value allowed object is + * {@link String } */ public void setAccessToken(String value) { this.accessToken = value; diff --git a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyTokenResponse.java b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyTokenResponse.java index 553c4c5c8ce4a8b8c8603ef2e589c3f221fd1180..cde87c3e85e0f2c616a6e17ca527888bb38568ad 100644 --- a/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyTokenResponse.java +++ b/TugasBesar2_2017/WebService/src/main/java/com/adaapa/tokenverifier/VerifyTokenResponse.java @@ -1,4 +1,3 @@ - package com.adaapa.tokenverifier; import javax.xml.bind.annotation.XmlAccessType; @@ -8,9 +7,9 @@ import javax.xml.bind.annotation.XmlType; /** * <p>Java class for verifyTokenResponse complex type. - * + * <p> * <p>The following schema fragment specifies the expected content contained within this class. - * + * <p> * <pre> * <complexType name="verifyTokenResponse"> * <complexContent> @@ -22,12 +21,10 @@ import javax.xml.bind.annotation.XmlType; * </complexContent> * </complexType> * </pre> - * - * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "verifyTokenResponse", propOrder = { - "userObjectInJSON" + "userObjectInJSON" }) public class VerifyTokenResponse { @@ -35,11 +32,9 @@ public class VerifyTokenResponse { /** * Gets the value of the userObjectInJSON property. - * - * @return - * possible object is - * {@link String } - * + * + * @return possible object is + * {@link String } */ public String getUserObjectInJSON() { return userObjectInJSON; @@ -47,11 +42,9 @@ public class VerifyTokenResponse { /** * Sets the value of the userObjectInJSON property. - * - * @param value - * allowed object is - * {@link String } - * + * + * @param value allowed object is + * {@link String } */ public void setUserObjectInJSON(String value) { this.userObjectInJSON = value; diff --git a/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/sun-jaxws.xml b/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/sun-jaxws.xml index 8e026514c7b55dcb9f613bea25b5bf5cc17382e4..b40636d85054277bdaad3c00bcba3cb083d212df 100644 --- a/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/sun-jaxws.xml +++ b/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/sun-jaxws.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <endpoints - xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" - version="2.0"> + xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" + version="2.0"> - <endpoint - name="OjekOnline" - implementation="com.adaapa.ojekservice.OjekOnline" - url-pattern="/ojekonline"/> + <endpoint + name="OjekOnline" + implementation="com.adaapa.ojekservice.OjekOnline" + url-pattern="/ojekonline"/> </endpoints> diff --git a/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/web.xml b/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/web.xml index 4aca77651ac2b35026be9ae3fb8886235b002a89..0633bacc9292014ae9faf4ca5286b1b13c423b6b 100644 --- a/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/web.xml +++ b/TugasBesar2_2017/WebService/src/main/webapp/WEB-INF/web.xml @@ -1,22 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> <web-app - xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://java.sun.com/xml/ns/j2ee" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" + version="4.0"> - <listener> - <listener-class> - com.sun.xml.ws.transport.http.servlet.WSServletContextListener - </listener-class> - </listener> + <listener> + <listener-class> + com.sun.xml.ws.transport.http.servlet.WSServletContextListener + </listener-class> + </listener> - <servlet> - <servlet-name>web-jaxws</servlet-name> - <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>web-jaxws</servlet-name> - <url-pattern>/</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>web-jaxws</servlet-name> + <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>web-jaxws</servlet-name> + <url-pattern>/</url-pattern> + </servlet-mapping> </web-app>