+ SecurityHandler now caches data
This commit is contained in:
parent
f3f0a116b9
commit
ae41aed490
|
@ -23,7 +23,7 @@
|
|||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: joda-time:joda-time:2.9.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.theholywaffle:teamspeak3-api:1.0.14-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.theholywaffle:teamspeak3-api:1.0.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.gpedro.integrations.slack:slack-webhook:1.2.1" level="project" />
|
||||
|
|
8
pom.xml
8
pom.xml
|
@ -70,13 +70,17 @@
|
|||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<!--<repository>
|
||||
<id>TeamSpeak-3-Java-API-mvn-repo</id>
|
||||
<url>https://raw.githubusercontent.com/TheHolyWaffle/TeamSpeak-3-Java-API/mvn-repo/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>-->
|
||||
<repository>
|
||||
<id>univentoEU</id>
|
||||
<url>http://dev.joethei.de:8081/repository/public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
|
@ -135,7 +139,7 @@
|
|||
<dependency>
|
||||
<groupId>com.github.theholywaffle</groupId>
|
||||
<artifactId>teamspeak3-api</artifactId>
|
||||
<version>[1.0.0,2.0.0)</version>
|
||||
<version>1.0.13</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
|
|
|
@ -2,7 +2,9 @@ package eu.univento.commons.security;
|
|||
|
||||
import eu.univento.commons.Commons;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
|
@ -13,18 +15,27 @@ public class SecurityHandler {
|
|||
|
||||
private Commons commons;
|
||||
|
||||
private ArrayList<String> cache = new ArrayList<>();
|
||||
|
||||
public SecurityHandler(Commons commons) {
|
||||
this.commons = commons;
|
||||
}
|
||||
|
||||
public void isValidServer(String ip, Consumer<Boolean> consumer) {
|
||||
commons.getDatabaseManager().getAsyncMySQL().query("SELECT * FROM Servers WHERE ip='" + ip + "';", resultSet -> {
|
||||
load(resultSet -> {
|
||||
try {
|
||||
consumer.accept(resultSet.next());
|
||||
while (resultSet.next()) {
|
||||
cache.add(resultSet.getString("ip"));
|
||||
}
|
||||
resultSet.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
consumer.accept(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public boolean isValidServer(String ip) {
|
||||
return cache.contains(ip);
|
||||
}
|
||||
|
||||
private void load(Consumer<ResultSet> consumer) {
|
||||
commons.getDatabaseManager().getAsyncMySQL().query("SELECT * FROM Servers;", consumer);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue