diff --git a/src/main/java/cactusServer/entities/Account.java b/src/main/java/cactusServer/entities/Account.java index 4d24b8a..2e9b412 100644 --- a/src/main/java/cactusServer/entities/Account.java +++ b/src/main/java/cactusServer/entities/Account.java @@ -1,12 +1,11 @@ package cactusServer.entities; -import org.apache.commons.lang3.RandomStringUtils; - public class Account { private String id,name, pass, token; private boolean login = false; - public Account(String userName, String userPass) { + public Account(String userID,String userName, String userPass) { + setId(userID); setName(userName); setPass(userPass); } @@ -48,7 +47,7 @@ } public String formToken() { - token = RandomStringUtils.random(64, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); + token = RandomStringGenerator.createRandomString(64, RandomStringGenerator.ALPHA_NUMERIC); return token; } diff --git a/src/main/java/cactusServer/entities/RandomStringGenerator.java b/src/main/java/cactusServer/entities/RandomStringGenerator.java index 4d1caed..921c7c3 100644 --- a/src/main/java/cactusServer/entities/RandomStringGenerator.java +++ b/src/main/java/cactusServer/entities/RandomStringGenerator.java @@ -7,15 +7,15 @@ public class RandomStringGenerator { public static final String ALPHA_NUMERIC = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - public String createRandomString(int num, String seed) { + static public String createRandomString(int num, String seed) { return RandomStringUtils.random(num, seed); } - public boolean checkString(String str, Set set) { + static public boolean checkString(String str, Set set) { return set.contains(str); } - public String createUniqueString(int num, String seed, Set set) { + static public String createUniqueString(int num, String seed, Set set) { String str; do { str = createRandomString(num, seed); diff --git a/src/main/java/cactusServer/models/Accounts.java b/src/main/java/cactusServer/models/Accounts.java index 03b05a1..4b6b000 100644 --- a/src/main/java/cactusServer/models/Accounts.java +++ b/src/main/java/cactusServer/models/Accounts.java @@ -4,13 +4,14 @@ import cactusServer.entities.*; -import java.util.HashMap; +import java.net.URI; +import java.util.ArrayList; import java.util.HashSet; @Singleton public class Accounts { private static Accounts theInstance = null; - private HashMap accounts = new HashMap<>(); + private ArrayList accounts = new ArrayList<>(); private HashSet idSet = new HashSet(); private Session session; @@ -26,14 +27,13 @@ } public Session createAcount(String userID, String userName, String userPass) { - System.out.println(userName); if (!idSet.add(userID)) { return null; } - Account newAccount = new Account(userName, userPass); - accounts.put(userID, newAccount); + Account newAccount = new Account(userID,userName, userPass); + accounts.add(newAccount); newAccount.formToken(); - System.out.println(userID); + session = new Session(newAccount,URI.create(RandomStringGenerator.createUniqueString(64, RandomStringGenerator.ALPHA_NUMERIC, idSet))); return session; } @@ -48,13 +48,15 @@ } } - public Account getAccount(String userID) { - if (idSet.contains(userID)) { - Account editAccount = accounts.get(userID); - return editAccount; - } else { - return null; + public Account getAccount(String token) { + Account editAccount; + for(int i=0;i