diff --git a/IdentityService/.idea/dataSources.local.xml b/IdentityService/.idea/dataSources.local.xml new file mode 100644 index 0000000000000000000000000000000000000000..841072bc77725bd945b44cd23ac9d5d3432b3ff2 --- /dev/null +++ b/IdentityService/.idea/dataSources.local.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="dataSourceStorageLocal"> + <data-source name="db_ojek@localhost" uuid="73893ef9-edb6-4a40-b1cd-ff6a6138781a"> + <database-info product="MySQL" version="5.5.5-10.1.19-MariaDB" jdbc-version="4.0" driver-name="MySQL Connector Java" driver-version="mysql-connector-java-5.1.44 ( Revision: b3cda4f864902ffdde495b9df93937c3e20009be )"> + <extra-name-characters>#@</extra-name-characters> + <identifier-quote-string>`</identifier-quote-string> + </database-info> + <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" /> + <secret-storage>master_key</secret-storage> + <user-name>root</user-name> + <introspection-schemas>*:db_ojek</introspection-schemas> + </data-source> + </component> +</project> \ No newline at end of file diff --git a/IdentityService/.idea/dataSources.xml b/IdentityService/.idea/dataSources.xml new file mode 100644 index 0000000000000000000000000000000000000000..138566536dc3e0d78f07831fc3f40cf91a6509b2 --- /dev/null +++ b/IdentityService/.idea/dataSources.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> + <data-source source="LOCAL" name="db_ojek@localhost" uuid="73893ef9-edb6-4a40-b1cd-ff6a6138781a"> + <driver-ref>mysql</driver-ref> + <synchronize>true</synchronize> + <jdbc-driver>com.mysql.jdbc.Driver</jdbc-driver> + <jdbc-url>jdbc:mysql://localhost:3306/db_ojek</jdbc-url> + <driver-properties> + <property name="autoReconnect" value="true" /> + <property name="zeroDateTimeBehavior" value="convertToNull" /> + <property name="tinyInt1isBit" value="false" /> + <property name="characterEncoding" value="utf8" /> + <property name="characterSetResults" value="utf8" /> + <property name="yearIsDateType" value="false" /> + </driver-properties> + </data-source> + </component> +</project> \ No newline at end of file diff --git a/IdentityService/.idea/dataSources/73893ef9-edb6-4a40-b1cd-ff6a6138781a.xml b/IdentityService/.idea/dataSources/73893ef9-edb6-4a40-b1cd-ff6a6138781a.xml new file mode 100644 index 0000000000000000000000000000000000000000..fec27bcfbced37cec1ed886aa2ad53aec615a47c --- /dev/null +++ b/IdentityService/.idea/dataSources/73893ef9-edb6-4a40-b1cd-ff6a6138781a.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dataSource name="db_ojek@localhost"> + <database-model serializer="dbm" rdbms="MYSQL" format-version="4.4"> + <root id="1"/> + <schema id="2" parent="1" name="db_ojek"> + <Current>1</Current> + <Visible>1</Visible> + </schema> + <schema id="3" parent="1" name="information_schema"/> + <schema id="4" parent="1" name="laundry"/> + <schema id="5" parent="1" name="laundryx"/> + <schema id="6" parent="1" name="mysql"/> + <schema id="7" parent="1" name="performance_schema"/> + <schema id="8" parent="1" name="phpmyadmin"/> + <schema id="9" parent="1" name="test"/> + <schema id="10" parent="1" name="universitasx"/> + <schema id="11" parent="1" name="wbd_projek"/> + <table id="12" parent="2" name="pref_loc"/> + <table id="13" parent="2" name="rating_driver"/> + <table id="14" parent="2" name="transaction"/> + <column id="15" parent="12" name="IDDriver"> + <Position>1</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="16" parent="12" name="Location"> + <Position>2</Position> + <DataType>varchar(30)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="17" parent="13" name="IDDriver"> + <Position>1</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="18" parent="13" name="rating"> + <Position>2</Position> + <DataType>float|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="19" parent="13" name="totalvote"> + <Position>3</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <key id="20" parent="13" name="PRIMARY"> + <NameSurrogate>1</NameSurrogate> + <ColNames>IDDriver</ColNames> + <Primary>1</Primary> + </key> + <column id="21" parent="14" name="IDTransaksi"> + <Position>1</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="22" parent="14" name="IDDriver"> + <Position>2</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="23" parent="14" name="IDPenumpang"> + <Position>3</Position> + <DataType>int(10)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="24" parent="14" name="LokasiAwal"> + <Position>4</Position> + <DataType>varchar(30)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="25" parent="14" name="LokasiTujuan"> + <Position>5</Position> + <DataType>varchar(30)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="26" parent="14" name="Rating"> + <Position>6</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="27" parent="14" name="Comment"> + <Position>7</Position> + <DataType>varchar(120)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="28" parent="14" name="IsHide"> + <Position>8</Position> + <DataType>tinyint(1)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="29" parent="14" name="DatePosted"> + <Position>9</Position> + <DataType>date|0</DataType> + <NotNull>1</NotNull> + </column> + <key id="30" parent="14" name="PRIMARY"> + <NameSurrogate>1</NameSurrogate> + <ColNames>IDTransaksi</ColNames> + <Primary>1</Primary> + </key> + </database-model> +</dataSource> \ No newline at end of file diff --git a/WebService/.idea/dataSources.local.xml b/WebService/.idea/dataSources.local.xml new file mode 100644 index 0000000000000000000000000000000000000000..19385e8e8d2300acb0a28bcad4013213c7b4b0ef --- /dev/null +++ b/WebService/.idea/dataSources.local.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="dataSourceStorageLocal"> + <data-source name="db_ojek@localhost" uuid="78a7851e-3205-405c-a84e-7ecf54900fd9"> + <database-info product="MySQL" version="5.5.5-10.1.19-MariaDB" jdbc-version="4.0" driver-name="MySQL Connector Java" driver-version="mysql-connector-java-5.1.44 ( Revision: b3cda4f864902ffdde495b9df93937c3e20009be )"> + <extra-name-characters>#@</extra-name-characters> + <identifier-quote-string>`</identifier-quote-string> + </database-info> + <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" /> + <secret-storage>master_key</secret-storage> + <user-name>root</user-name> + <introspection-schemas>*:db_ojek</introspection-schemas> + </data-source> + </component> +</project> \ No newline at end of file diff --git a/WebService/.idea/dataSources.xml b/WebService/.idea/dataSources.xml new file mode 100644 index 0000000000000000000000000000000000000000..cae3869b42477af95b17b9746bc2d130599b912c --- /dev/null +++ b/WebService/.idea/dataSources.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> + <data-source source="LOCAL" name="db_ojek@localhost" uuid="78a7851e-3205-405c-a84e-7ecf54900fd9"> + <driver-ref>mysql</driver-ref> + <synchronize>true</synchronize> + <jdbc-driver>com.mysql.jdbc.Driver</jdbc-driver> + <jdbc-url>jdbc:mysql://localhost:3306/db_ojek</jdbc-url> + <driver-properties> + <property name="autoReconnect" value="true" /> + <property name="zeroDateTimeBehavior" value="convertToNull" /> + <property name="tinyInt1isBit" value="false" /> + <property name="characterEncoding" value="utf8" /> + <property name="characterSetResults" value="utf8" /> + <property name="yearIsDateType" value="false" /> + </driver-properties> + </data-source> + </component> +</project> \ No newline at end of file diff --git a/WebService/.idea/dataSources/78a7851e-3205-405c-a84e-7ecf54900fd9.xml b/WebService/.idea/dataSources/78a7851e-3205-405c-a84e-7ecf54900fd9.xml new file mode 100644 index 0000000000000000000000000000000000000000..fec27bcfbced37cec1ed886aa2ad53aec615a47c --- /dev/null +++ b/WebService/.idea/dataSources/78a7851e-3205-405c-a84e-7ecf54900fd9.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dataSource name="db_ojek@localhost"> + <database-model serializer="dbm" rdbms="MYSQL" format-version="4.4"> + <root id="1"/> + <schema id="2" parent="1" name="db_ojek"> + <Current>1</Current> + <Visible>1</Visible> + </schema> + <schema id="3" parent="1" name="information_schema"/> + <schema id="4" parent="1" name="laundry"/> + <schema id="5" parent="1" name="laundryx"/> + <schema id="6" parent="1" name="mysql"/> + <schema id="7" parent="1" name="performance_schema"/> + <schema id="8" parent="1" name="phpmyadmin"/> + <schema id="9" parent="1" name="test"/> + <schema id="10" parent="1" name="universitasx"/> + <schema id="11" parent="1" name="wbd_projek"/> + <table id="12" parent="2" name="pref_loc"/> + <table id="13" parent="2" name="rating_driver"/> + <table id="14" parent="2" name="transaction"/> + <column id="15" parent="12" name="IDDriver"> + <Position>1</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="16" parent="12" name="Location"> + <Position>2</Position> + <DataType>varchar(30)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="17" parent="13" name="IDDriver"> + <Position>1</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="18" parent="13" name="rating"> + <Position>2</Position> + <DataType>float|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="19" parent="13" name="totalvote"> + <Position>3</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <key id="20" parent="13" name="PRIMARY"> + <NameSurrogate>1</NameSurrogate> + <ColNames>IDDriver</ColNames> + <Primary>1</Primary> + </key> + <column id="21" parent="14" name="IDTransaksi"> + <Position>1</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="22" parent="14" name="IDDriver"> + <Position>2</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="23" parent="14" name="IDPenumpang"> + <Position>3</Position> + <DataType>int(10)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="24" parent="14" name="LokasiAwal"> + <Position>4</Position> + <DataType>varchar(30)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="25" parent="14" name="LokasiTujuan"> + <Position>5</Position> + <DataType>varchar(30)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="26" parent="14" name="Rating"> + <Position>6</Position> + <DataType>int(11)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="27" parent="14" name="Comment"> + <Position>7</Position> + <DataType>varchar(120)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="28" parent="14" name="IsHide"> + <Position>8</Position> + <DataType>tinyint(1)|0</DataType> + <NotNull>1</NotNull> + </column> + <column id="29" parent="14" name="DatePosted"> + <Position>9</Position> + <DataType>date|0</DataType> + <NotNull>1</NotNull> + </column> + <key id="30" parent="14" name="PRIMARY"> + <NameSurrogate>1</NameSurrogate> + <ColNames>IDTransaksi</ColNames> + <Primary>1</Primary> + </key> + </database-model> +</dataSource> \ No newline at end of file diff --git a/WebService/.idea/libraries/mysql_connector_java_5_1_44_bin.xml b/WebService/.idea/libraries/mysql_connector_java_5_1_44_bin.xml new file mode 100644 index 0000000000000000000000000000000000000000..83a280c8d2a77bc721077cf1146aaf6911a5a7c7 --- /dev/null +++ b/WebService/.idea/libraries/mysql_connector_java_5_1_44_bin.xml @@ -0,0 +1,9 @@ +<component name="libraryTable"> + <library name="mysql-connector-java-5.1.44-bin"> + <CLASSES> + <root url="jar://$USER_HOME$/Downloads/mysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> +</component> \ No newline at end of file diff --git a/WebService/.idea/misc.xml b/WebService/.idea/misc.xml index 6453144a3a94f18ab73702d40a1c3f54dbd4f9c2..428fdbd9967deca0f80b2869f37fbc59dd8a57f5 100644 --- a/WebService/.idea/misc.xml +++ b/WebService/.idea/misc.xml @@ -3,7 +3,7 @@ <component name="ProjectKey"> <option name="state" value="project://e2804f05-5315-4fc6-a121-c522a6c26470" /> </component> - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8 (1)" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> <component name="WebServicesPlugin" addRequiredLibraries="true" /> diff --git a/WebService/intellij.iml b/WebService/intellij.iml index d5c074327501eaec3fe451ed56ce5160f1e97e16..bac22cebc11e8e129e3453e33e4b579306288444 100644 --- a/WebService/intellij.iml +++ b/WebService/intellij.iml @@ -7,6 +7,6 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="mysql-connector-java-5.1.44-bin" level="project" /> </component> -</module> - +</module> \ No newline at end of file diff --git a/WebService/src/com/informatika/ojek/webservice/Main.java b/WebService/src/com/informatika/ojek/webservice/Main.java index b766ae062421cbf72787c2c647909fc2d8c4be32..6f18eb193d78b512731a318b0c69b3dba0fa434c 100644 --- a/WebService/src/com/informatika/ojek/webservice/Main.java +++ b/WebService/src/com/informatika/ojek/webservice/Main.java @@ -6,6 +6,8 @@ import javax.xml.ws.Endpoint; public class Main{ public static void main(String[] args) { + Order order = new Order(); + order.PuttransactionDetails("a", 2, "jakarta", "bandung", 4, "mantep gaans"); Endpoint.publish("http://localhost:9999/ws/profile", new Profile()); Endpoint.publish("http://localhost:9999/ws/order", new Order()); Endpoint.publish("http://localhost:9999/ws/history", new History()); diff --git a/WebService/src/com/informatika/ojek/webservice/Order.java b/WebService/src/com/informatika/ojek/webservice/Order.java index 1879564b45a66b3b56827b6e4f40c6cb575f51dc..51aee0bb2ab7de483d728c2cc7b91ce654fdc119 100644 --- a/WebService/src/com/informatika/ojek/webservice/Order.java +++ b/WebService/src/com/informatika/ojek/webservice/Order.java @@ -1,7 +1,14 @@ package com.informatika.ojek.webservice; +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; import java.sql.*; import javax.jws.WebService; - +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; //Service Implementation @WebService(endpointInterface = "com.informatika.ojek.webservice.IOrder") public class Order implements IOrder { @@ -21,8 +28,8 @@ public class Order implements IOrder { try { // create our mysql database connection - String myDriver = "org.gjt.mm.mysql.Driver"; - String myUrl = "jdbc:mysql://localhost/"; + String myDriver = "com.mysql.jdbc.Driver"; + String myUrl = "jdbc:mysql://localhost/db_ojek"; Class.forName(myDriver); Connection conn = DriverManager.getConnection(myUrl, "root", ""); @@ -35,18 +42,18 @@ public class Order implements IOrder { // execute the query, and get a java resultset ResultSet rs = st.executeQuery(query); - ResultSetMetaData rsmd = rs.getMetaData(); - - int columnsNumber = rsmd.getColumnCount(); + rs.last(); + int rowsNumber = rs.getRow(); int n= 0; + rs.beforeFirst(); // iterate through the java resultset - Account[] accounts = new Account[columnsNumber]; + Account[] accounts = new Account[rowsNumber]; while (rs.next()) { //dapetin detail akun dari user id String name = "aa"; - if(name == preffered_driver){ + if(name.equals(preffered_driver)){ Account baru = new Account(1, "aaa", "aaa", "aaa@", "sss", "0808" , "ssss",false); accounts[n] = baru; n++; @@ -79,8 +86,8 @@ public class Order implements IOrder { try { // create our mysql database connection - String myDriver = "org.gjt.mm.mysql.Driver"; - String myUrl = "jdbc:mysql://localhost/"; + String myDriver = "com.mysql.jdbc.Driver"; + String myUrl = "jdbc:mysql://localhost/db_ojek"; Class.forName(myDriver); Connection conn = DriverManager.getConnection(myUrl, "root", ""); @@ -93,18 +100,18 @@ public class Order implements IOrder { // execute the query, and get a java resultset ResultSet rs = st.executeQuery(query); - ResultSetMetaData rsmd = rs.getMetaData(); - - int columnsNumber = rsmd.getColumnCount(); + rs.last(); + int rowsNumber = rs.getRow(); int n= 0; + rs.beforeFirst(); // iterate through the java resultset - Account[] accounts = new Account[columnsNumber]; + Account[] accounts = new Account[rowsNumber]; while (rs.next()) { //dapetin detail akun dari user id String name = "aa"; - if(name != preffered_driver){ + if(!name.equals(preffered_driver)){ Account baru = new Account(1, "aaa", "aaa", "aaa@", "sss", "0808" , "ssss",false); accounts[n] = baru; n++; @@ -127,7 +134,34 @@ public class Order implements IOrder { @Override public boolean PuttransactionDetails(String access_token, int id_driver, String picking_point, String destination, int rating, String comment){ boolean valid = true; int id_active; - //cek akses token + + //RequestValidation + URL gwtServlet = null; + try { + gwtServlet = new URL("http://localhost:8083/validate"); + HttpURLConnection servletConnection = (HttpURLConnection) gwtServlet.openConnection(); + servletConnection.setRequestMethod("POST"); + servletConnection.setDoOutput(true); + NameValuePair[] data = { + new NameValuePair("user", "joe"), + new NameValuePair("password", "bloggs") + }; + post.setRequestBody(data); + ObjectOutputStream objOut = new ObjectOutputStream(servletConnection.getOutputStream()); + objOut.writeObject(p); + objOut.flush(); + objOut.close(); + + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + if(valid){ id_active = 1; } else { @@ -136,8 +170,8 @@ public class Order implements IOrder { try { // create our mysql database connection - String myDriver = "org.gjt.mm.mysql.Driver"; - String myUrl = "jdbc:mysql://localhost/"; + String myDriver = "com.mysql.jdbc.Driver"; + String myUrl = "jdbc:mysql://localhost/db_ojek"; Class.forName(myDriver); Connection conn = DriverManager.getConnection(myUrl, "root", ""); @@ -148,23 +182,28 @@ public class Order implements IOrder { Statement st = conn.createStatement(); String query1 = "SELECT * FROM transaction"; ResultSet rs = st.executeQuery(query1); - ResultSetMetaData rsmd = rs.getMetaData(); - int columnsNumber = rsmd.getColumnCount(); - int id_transaksi = columnsNumber +1; + rs.last(); + int rowsNumber = rs.getRow(); + System.out.write(rowsNumber); + int id_transaksi = rowsNumber +1; - String query2 = "INSERT INTO transaction (IDTransaksi, IDDriver,IDPenumpang,LokasiAwal,LokasiTujuan,Rating,Comment,IsHide, DatePosted) VALUES ('"+id_transaksi+"','"+id_driver+"','"+id_active+"','"+picking_point+"','"+destination+"','"+rating+"','"+comment+"',"+0+",'"+id_transaksi+"')"; - st.executeQuery(query2); + DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); + Date date = new Date(); + + String query2 = "INSERT INTO transaction (IDTransaksi, IDDriver,IDPenumpang,LokasiAwal,LokasiTujuan,Rating,Comment,IsHide, DatePosted) VALUES ('"+id_transaksi+"','"+id_driver+"','"+id_active+"','"+picking_point+"','"+destination+"','"+rating+"','"+comment+"',"+0+",'"+dateFormat.format(date)+"')"; + st.executeUpdate(query2); String query3 = "SELECT IDTransaksi from transaction where IDDriver = '"+id_driver+"'"; rs = st.executeQuery(query3); - rsmd = rs.getMetaData(); - int totalvote = rsmd.getColumnCount(); - String query4 = "SELECT sum(rating) from transaction where IDDriver = '"+id_driver+"' group by IDDriver"; + rs.last(); + int totalvote = rs.getRow(); + String query4 = "SELECT sum(rating) as a from transaction where IDDriver = '"+id_driver+"' group by IDDriver"; rs = st.executeQuery(query4); - int totalrating = rs.getInt("sum(rating)"); + rs.next(); + float totalrating = rs.getFloat("a"); float driverrating = totalrating/totalvote; String query5 = "UPDATE rating_driver SET rating='"+driverrating+"', totalvote='"+totalvote+"' WHERE IDDriver='"+id_driver+"'"; - + st.executeUpdate(query5); st.close(); return true; } @@ -172,6 +211,7 @@ public class Order implements IOrder { { System.err.println("Got an exception! "); System.err.println(e.getMessage()); + e.printStackTrace(); return false; }