Advertisement
Guest User

Account.java

a guest
Mar 19th, 2015
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. //The author of this program is Jonathan Rier, don't f around boy.
  2.  
  3. package application;
  4.  
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.PreparedStatement;
  8. import java.sql.ResultSet;
  9. import java.sql.Statement;
  10. import java.util.ArrayList;
  11. import java.util.Arrays;
  12. import java.util.Collections;
  13. import java.util.List;
  14.  
  15. public class Account {
  16. String username, password;
  17. ArrayList<String> codes = new ArrayList<String>();
  18.  
  19. public Account(String u, String pass, ArrayList<String> c) {
  20. username = u;
  21. password = pass;
  22. c.removeAll(Arrays.asList("", null));
  23. codes = c;
  24. }
  25.  
  26. public List<Agenda> getAgendas() {
  27. List<Agenda> agendas = new ArrayList<Agenda>();
  28. for (String i : codes.toArray(new String[codes.size()])) {
  29. Agenda x = Agenda.getAgenda(i);
  30. if (x != null) {
  31. agendas.add(x);
  32. System.out.println(x.toString());
  33. }
  34. }
  35. return agendas;
  36. }
  37.  
  38. public String getUsername() {
  39. return username;
  40. }
  41.  
  42. public String getPassword() {
  43. return password;
  44. }
  45.  
  46. public void changePassword(String s) {
  47. password = s;
  48. }
  49.  
  50. public ArrayList<String> getAgendaCodes() {
  51. return codes;
  52. }
  53.  
  54. public void addCode(String s) {
  55. if (codes.contains(s)) {
  56. System.out.println("Codes contains: " + s);
  57. return;
  58. } else {
  59. codes.add(s);
  60. }
  61. }
  62.  
  63. public void removeCode(String s) {
  64. codes.remove(s);
  65. }
  66.  
  67. public boolean exists() {
  68. return getAccount(username) != null;
  69. }
  70.  
  71. public void update() {
  72. String sql = "UPDATE Accounts SET Password='" + password + "', Data='"
  73. + codeString() + "' WHERE Username='" + getUsername() + "'";
  74. Connection conn = null;
  75. Statement stmt = null;
  76.  
  77. try {
  78. Class.forName("com.mysql.jdbc.Driver");
  79.  
  80. conn = DriverManager.getConnection(Global.URL + Global.DATABASE,
  81. Global.USERNAME, Global.PASSWORD);
  82. if (!exists()) {
  83. return;
  84. }
  85. System.out.println(sql);
  86. stmt = conn.createStatement();
  87. stmt.executeUpdate(sql);
  88.  
  89. } catch (Exception e) {
  90. e.printStackTrace();
  91. }
  92. }
  93.  
  94. public static Account getAccount(String Username) {
  95. String s = "select * from Accounts where Username= '" + Username + "'";
  96. Connection conn = null;
  97.  
  98. try {
  99. Class.forName("com.mysql.jdbc.Driver");
  100.  
  101. conn = DriverManager.getConnection(Global.URL + Global.DATABASE,
  102. Global.USERNAME, Global.PASSWORD);
  103. PreparedStatement ps = conn.prepareStatement(s);
  104. ResultSet x = ps.executeQuery();
  105. if (x.next()) {
  106. System.out.println(x.getString(1) + " selected");
  107. System.out.println(toListFromString(x.getString(3)));
  108. return new Account(Username, x.getString(2),
  109. toListFromString(x.getString(3)));
  110. }
  111.  
  112.  
  113. } catch (Exception e) {
  114. e.printStackTrace();
  115. }
  116.  
  117. return null;
  118. }
  119.  
  120. private String codeString() {
  121. return codes.toString();
  122. }
  123.  
  124. private static ArrayList<String> toListFromString(String s) {
  125. String value = s;
  126. if (value.startsWith("[,")) {
  127. value.replaceFirst(", ", "");
  128. }
  129. if (value.isEmpty()) {
  130. return new ArrayList<String>(0);
  131. }
  132. if (value.length() == 1) {
  133. return new ArrayList<String>(Arrays.asList(new String[] { s }));
  134. }
  135. value = value.substring(1, value.length() - 1).replaceAll(" ", "");
  136. String[] split = value.split(",");
  137.  
  138. return new ArrayList<String>(Arrays.asList(split));
  139. }
  140.  
  141. public void create() {
  142. String sqls = "INSERT INTO Accounts(Username, Password, Data) VALUES('"
  143. + username + "', '" + password + "', '" + codeString() + "');";
  144. String s = "select * from Accounts where Username = '" + username + "'";
  145. Connection conn = null;
  146. Statement stmt = null;
  147.  
  148. try {
  149. Class.forName("com.mysql.jdbc.Driver");
  150.  
  151. conn = DriverManager.getConnection(Global.URL + Global.DATABASE,
  152. Global.USERNAME, Global.PASSWORD);
  153. PreparedStatement ps = conn.prepareStatement(s);
  154. ResultSet x = ps.executeQuery();
  155. if (x.next()) {
  156. System.out.println("Account exists");
  157. return;
  158. }
  159. System.out.println(sqls);
  160. stmt = conn.createStatement();
  161. stmt.executeUpdate(sqls);
  162.  
  163. } catch (Exception e) {
  164. e.printStackTrace();
  165. }
  166.  
  167. }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement