Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //The author of this program is Jonathan Rier, don't f around boy.
- package application;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- public class Account {
- String username, password;
- ArrayList<String> codes = new ArrayList<String>();
- public Account(String u, String pass, ArrayList<String> c) {
- username = u;
- password = pass;
- c.removeAll(Arrays.asList("", null));
- codes = c;
- }
- public List<Agenda> getAgendas() {
- List<Agenda> agendas = new ArrayList<Agenda>();
- for (String i : codes.toArray(new String[codes.size()])) {
- Agenda x = Agenda.getAgenda(i);
- if (x != null) {
- agendas.add(x);
- System.out.println(x.toString());
- }
- }
- return agendas;
- }
- public String getUsername() {
- return username;
- }
- public String getPassword() {
- return password;
- }
- public void changePassword(String s) {
- password = s;
- }
- public ArrayList<String> getAgendaCodes() {
- return codes;
- }
- public void addCode(String s) {
- if (codes.contains(s)) {
- System.out.println("Codes contains: " + s);
- return;
- } else {
- codes.add(s);
- }
- }
- public void removeCode(String s) {
- codes.remove(s);
- }
- public boolean exists() {
- return getAccount(username) != null;
- }
- public void update() {
- String sql = "UPDATE Accounts SET Password='" + password + "', Data='"
- + codeString() + "' WHERE Username='" + getUsername() + "'";
- Connection conn = null;
- Statement stmt = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection(Global.URL + Global.DATABASE,
- Global.USERNAME, Global.PASSWORD);
- if (!exists()) {
- return;
- }
- System.out.println(sql);
- stmt = conn.createStatement();
- stmt.executeUpdate(sql);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static Account getAccount(String Username) {
- String s = "select * from Accounts where Username= '" + Username + "'";
- Connection conn = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection(Global.URL + Global.DATABASE,
- Global.USERNAME, Global.PASSWORD);
- PreparedStatement ps = conn.prepareStatement(s);
- ResultSet x = ps.executeQuery();
- if (x.next()) {
- System.out.println(x.getString(1) + " selected");
- System.out.println(toListFromString(x.getString(3)));
- return new Account(Username, x.getString(2),
- toListFromString(x.getString(3)));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- private String codeString() {
- return codes.toString();
- }
- private static ArrayList<String> toListFromString(String s) {
- String value = s;
- if (value.startsWith("[,")) {
- value.replaceFirst(", ", "");
- }
- if (value.isEmpty()) {
- return new ArrayList<String>(0);
- }
- if (value.length() == 1) {
- return new ArrayList<String>(Arrays.asList(new String[] { s }));
- }
- value = value.substring(1, value.length() - 1).replaceAll(" ", "");
- String[] split = value.split(",");
- return new ArrayList<String>(Arrays.asList(split));
- }
- public void create() {
- String sqls = "INSERT INTO Accounts(Username, Password, Data) VALUES('"
- + username + "', '" + password + "', '" + codeString() + "');";
- String s = "select * from Accounts where Username = '" + username + "'";
- Connection conn = null;
- Statement stmt = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection(Global.URL + Global.DATABASE,
- Global.USERNAME, Global.PASSWORD);
- PreparedStatement ps = conn.prepareStatement(s);
- ResultSet x = ps.executeQuery();
- if (x.next()) {
- System.out.println("Account exists");
- return;
- }
- System.out.println(sqls);
- stmt = conn.createStatement();
- stmt.executeUpdate(sqls);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement