diff --git a/src/be/jeffcheasey88/peeratcode/Main.java b/src/be/jeffcheasey88/peeratcode/Main.java index e12a229..f411d35 100644 --- a/src/be/jeffcheasey88/peeratcode/Main.java +++ b/src/be/jeffcheasey88/peeratcode/Main.java @@ -65,15 +65,16 @@ public class Main{ "Access-Control-Allow-Methods: *", "Access-Control-Allow-Headers: *"); } }); + + initRoutes(router, config); // RouteExtracter extracter = new RouteExtracter(router); // extracter.extract(); - startWebServer(config, router, initRoutes(router, config)); + startWebServer(config, router); } - private static List> initRoutes(Router router, Configuration config){ - List> list = new ArrayList<>(); + private static void initRoutes(Router router, Configuration config){ router.register(new ChapterElement(router.getDataBase())); router.register(new ChapterList(router.getDataBase())); router.register(new PuzzleElement(router.getDataBase())); @@ -85,14 +86,12 @@ public class Main{ router.register(new BadgeDetails(router.getDataBase())); Locker groupLock = new Locker<>(); - list.add(groupLock); router.register(new GroupCreate(router.getDataBase(), groupLock, config.getGroupJoinMinutes())); DynamicLeaderboard dlb = new DynamicLeaderboard(router.getDataBase()); router.register(dlb); Locker leaderboard = dlb.getLocker(); - list.add(leaderboard); router.register(new PuzzleResponse(router.getDataBase(), config.getUsersFiles(), leaderboard)); router.register(new GroupList(router.getDataBase())); @@ -101,11 +100,9 @@ public class Main{ // Bot bot = new Bot(config, router.getDataBase(), groupLock); // bot.start(); - - return list; } - private static void startWebServer(Configuration config, Router router, List> lockers) throws IOException { + private static void startWebServer(Configuration config, Router router) throws IOException { if (config.useSsl()) { // Not needed with the use of a proxy SSLServerSocket server = null; try { @@ -117,7 +114,7 @@ public class Main{ while (!server.isClosed()) { Socket socket = server.accept(); - Client client = new Client(socket, router, lockers); + Client client = new Client(socket, router); client.start(); } } catch (Exception e) { @@ -131,7 +128,7 @@ public class Main{ try (ServerSocket server = new ServerSocket(config.getTcpPort())) { while (!server.isClosed()) { Socket socket = server.accept(); - Client client = new Client(socket, router, lockers); + Client client = new Client(socket, router); client.start(); } } catch (Exception e) { diff --git a/src/be/jeffcheasey88/peeratcode/framework/Client.java b/src/be/jeffcheasey88/peeratcode/framework/Client.java index 7a88f67..ab2bb18 100644 --- a/src/be/jeffcheasey88/peeratcode/framework/Client.java +++ b/src/be/jeffcheasey88/peeratcode/framework/Client.java @@ -2,7 +2,6 @@ package be.jeffcheasey88.peeratcode.framework; import java.net.Socket; import java.util.Arrays; -import java.util.List; import org.jose4j.jwa.AlgorithmConstraints.ConstraintType; import org.jose4j.jws.AlgorithmIdentifiers; @@ -15,13 +14,11 @@ public class Client extends Thread{ private HttpReader reader; private HttpWriter writer; private Router router; - private List> lockers; - public Client(Socket socket, Router router, List> lockers) throws Exception{ + public Client(Socket socket, Router router) throws Exception{ this.reader = new HttpReader(socket); this.writer = new HttpWriter(socket); this.router = router; - this.lockers = lockers; } @Override @@ -38,13 +35,6 @@ public class Client extends Thread{ }catch(Exception e){ e.printStackTrace(); } - if(user != null){ - if(user.getKey() != null){ - for(Locker locker : this.lockers){ - locker.remove(user.getKey()); - } - } - } } private User isLogin(HttpReader reader) throws Exception{ diff --git a/src/be/jeffcheasey88/peeratcode/routes/DynamicLeaderboard.java b/src/be/jeffcheasey88/peeratcode/routes/DynamicLeaderboard.java index 663feaa..c14f641 100644 --- a/src/be/jeffcheasey88/peeratcode/routes/DynamicLeaderboard.java +++ b/src/be/jeffcheasey88/peeratcode/routes/DynamicLeaderboard.java @@ -32,14 +32,18 @@ public class DynamicLeaderboard extends Leaderboard{ Key key = new Key(); locker.init(key); - while(!reader.isClosed()){ - locker.getValue(key); - if(matcher.group(1) != null){ - groupsLeaderboard(Integer.parseInt(matcher.group(1)), writer); - }else{ - playersLeaderboard(writer); + try { + while(!reader.isClosed()){ + locker.getValue(key); + if(matcher.group(1) != null){ + groupsLeaderboard(Integer.parseInt(matcher.group(1)), writer); + }else{ + playersLeaderboard(writer); + } + locker.lock(key); } - locker.lock(key); + }catch(Exception e){ + e.printStackTrace(); } locker.remove(key); }