diff --git a/TugasBesar2_2017/SharedLibrary/build.gradle b/TugasBesar2_2017/SharedLibrary/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..b58448d9561e44bcf4f4b7ae78804e26d56aaf0c --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'java' + id 'war' +} + +dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + + // https://mvnrepository.com/artifact/junit/junit + testCompile 'junit:junit:4.12' + // https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api + providedCompile 'javax.servlet:javax.servlet-api:4.0.0' +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..fc9bea91c8794733f830f06cf5a8bf1a795e3f49 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/DriverBean.java @@ -0,0 +1,61 @@ +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; + } + +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..a9f14ee5d8bffcc41b5d0a6b8c73c28bc58f5ea6 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginRequestBean.java @@ -0,0 +1,23 @@ +package com.adaapa.bean; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + +public class LoginRequestBean implements Serializable { + private String username; + private String 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") + ); + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..ca76bf60551a4ed4e67bdb6e8a9a3671ee2e0488 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LoginResponseBean.java @@ -0,0 +1,43 @@ +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; + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..96b38b10ada70bcba5c01fabc339390ed50ffb79 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/LogoutResponseBean.java @@ -0,0 +1,23 @@ +package com.adaapa.bean; + +import java.io.Serializable; + +public class LogoutResponseBean implements Serializable { + private String status; + + public LogoutResponseBean() { + this.status = status; + } + + public LogoutResponseBean(String status) { + this.status = status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return 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 new file mode 100644 index 0000000000000000000000000000000000000000..8de2a3554ba95375e745294948edf0497bf1f47a --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/OrderBean.java @@ -0,0 +1,93 @@ +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;} +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..4b7449f524e5e4a9be30e8b48dfcd3a496126049 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/PreferredLocationBean.java @@ -0,0 +1,24 @@ +package com.adaapa.bean; + +import java.io.Serializable; + +public class PreferredLocationBean implements Serializable { + Integer position; + String location; + + public Integer getPosition() { + return position; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public void setPosition(Integer position) { + this.position = position; + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..6a9f5de00cba1ab6db1b95362ad3eba0ae9844d1 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/TokenVerificationResponse.java @@ -0,0 +1,25 @@ +package com.adaapa.bean; + +public class TokenVerificationResponse { + public static final String TOKEN_VALID = "valid"; + public static final String TOKEN_INVALID = "invalid"; + + private String status; + private UserBean user; + + public String getStatus() { + return status; + } + + public UserBean getUser() { + return user; + } + + public void setStatus(String status) { + this.status = status; + } + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..d9a0b48b34d9355ff661734f2c823d999323eff1 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/UserBean.java @@ -0,0 +1,39 @@ +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; + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..c9eda1d3646f34c2b13043166de3e73a933b02d4 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/bean/WebServiceBean.java @@ -0,0 +1,34 @@ +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; + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..0af20899c9a665ced22ce9da7852e44ce4cbeaf0 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConfiguration.java @@ -0,0 +1,40 @@ +package com.adaapa.databases; + +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(); + } + } + + public String getHost() { + return db_host; + } + + public String getName() { + return db_name; + } + + public String getPass() { + return db_pass; + } + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..fb97b8b8505786d68ee0405e2aba287bb3b774a9 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/databases/DatabaseConnector.java @@ -0,0 +1,32 @@ +package com.adaapa.databases; + +import java.sql.Connection; +import java.sql.DriverManager; + +public class DatabaseConnector { + 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(); + } + + } + public static DatabaseConnector getInstance() { + if(_instance == null) { + _instance = new DatabaseConnector(); + } + return _instance; + } + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..310884a42b7fdd1b9b059685c846f873aa1755e2 --- /dev/null +++ b/TugasBesar2_2017/SharedLibrary/src/main/java/com/adaapa/models/BaseModel.java @@ -0,0 +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; + + 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 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)); + } +}