SteamWar/SpigotCore
Archiviert
13
0

Merge branch 'master' into schematic-node
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
Chaoscaot 2021-11-11 21:42:49 +01:00
Commit 32a9e2f619
3 geänderte Dateien mit 36 neuen und 25 gelöschten Zeilen

Datei anzeigen

@ -51,8 +51,9 @@ public abstract class SWCommand {
if (!initialized) { if (!initialized) {
createMapping(); createMapping();
} }
if (commandList.stream().anyMatch(s -> s.invoke(sender, args))) return false; if (!commandList.stream().anyMatch(s -> s.invoke(sender, args))) {
commandHelpList.stream().anyMatch(s -> s.invoke(sender, args)); commandHelpList.stream().anyMatch(s -> s.invoke(sender, args));
}
return false; return false;
} }
@ -87,13 +88,13 @@ public abstract class SWCommand {
add(Register.class, method, i -> i > 0, true, null, (anno, parameters) -> { add(Register.class, method, i -> i > 0, true, null, (anno, parameters) -> {
if (!anno.help()) return; if (!anno.help()) return;
if (parameters.length != 2) { if (parameters.length != 2) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking parameters or has too many"); Bukkit.getLogger().log(Level.WARNING, () -> "The method '" + method.toString() + "' is lacking parameters or has too many");
} }
if (!parameters[parameters.length - 1].isVarArgs()) { if (!parameters[parameters.length - 1].isVarArgs()) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking the varArgs parameters as last Argument"); Bukkit.getLogger().log(Level.WARNING, () -> "The method '" + method.toString() + "' is lacking the varArgs parameters as last Argument");
} }
if (parameters[parameters.length - 1].getType().getComponentType() != String.class) { if (parameters[parameters.length - 1].getType().getComponentType() != String.class) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking the varArgs parameters of type '" + String.class.getTypeName() + "' as last Argument"); Bukkit.getLogger().log(Level.WARNING, () -> "The method '" + method.toString() + "' is lacking the varArgs parameters of type '" + String.class.getTypeName() + "' as last Argument");
return; return;
} }
commandHelpList.add(new SubCommand(this, method, anno.value(), new HashMap<>())); commandHelpList.add(new SubCommand(this, method, anno.value(), new HashMap<>()));
@ -114,7 +115,7 @@ public abstract class SWCommand {
} }
String name = mapper != null ? mapper.value() : clazz.getTypeName(); String name = mapper != null ? mapper.value() : clazz.getTypeName();
if (!SWCommandUtils.MAPPER_FUNCTIONS.containsKey(name) && !localTypeMapper.containsKey(name)) { if (!SWCommandUtils.MAPPER_FUNCTIONS.containsKey(name) && !localTypeMapper.containsKey(name)) {
Bukkit.getLogger().log(Level.WARNING, "The parameter '" + parameter.toString() + "' is using an unsupported Mapper of type '" + name + "'"); Bukkit.getLogger().log(Level.WARNING, () -> "The parameter '" + parameter.toString() + "' is using an unsupported Mapper of type '" + name + "'");
return; return;
} }
} }
@ -141,15 +142,15 @@ public abstract class SWCommand {
Parameter[] parameters = method.getParameters(); Parameter[] parameters = method.getParameters();
if (!parameterTester.test(parameters.length)) { if (!parameterTester.test(parameters.length)) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking parameters or has too many"); Bukkit.getLogger().log(Level.WARNING, () -> "The method '" + method.toString() + "' is lacking parameters or has too many");
return; return;
} }
if (firstParameter && !CommandSender.class.isAssignableFrom(parameters[0].getType())) { if (firstParameter && !CommandSender.class.isAssignableFrom(parameters[0].getType())) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking the first parameter of type '" + CommandSender.class.getTypeName() + "'"); Bukkit.getLogger().log(Level.WARNING, () -> "The method '" + method.toString() + "' is lacking the first parameter of type '" + CommandSender.class.getTypeName() + "'");
return; return;
} }
if (returnType != null && method.getReturnType() != returnType) { if (returnType != null && method.getReturnType() != returnType) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking the desired return type '" + returnType.getTypeName() + "'"); Bukkit.getLogger().log(Level.WARNING, () -> "The method '" + method.toString() + "' is lacking the desired return type '" + returnType.getTypeName() + "'");
return; return;
} }
Arrays.stream(anno).forEach(t -> consumer.accept(t, parameters)); Arrays.stream(anno).forEach(t -> consumer.accept(t, parameters));

Datei anzeigen

@ -28,7 +28,7 @@ public class Elo {
public static int getElo(int userId, String gameMode){ public static int getElo(int userId, String gameMode){
return get.select(rs -> { return get.select(rs -> {
if(rs.next()) if(rs.next())
return rs.getInt("id"); return rs.getInt("Elo");
return 1000; return 1000;
}, userId, gameMode); }, userId, gameMode);
} }

Datei anzeigen

@ -19,6 +19,7 @@
package de.steamwar.sql; package de.steamwar.sql;
import com.mysql.jdbc.exceptions.jdbc4.CommunicationsException;
import de.steamwar.core.Core; import de.steamwar.core.Core;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
@ -33,9 +34,9 @@ public class SQL {
private SQL(){} private SQL(){}
private static Connection con; private static Connection con;
private static String url; private static final String URL;
private static String user; private static final String USER;
private static String password; private static final String PASSWORD;
static { static {
File file = new File(Core.getInstance().getDataFolder(), "MySQL.yml"); File file = new File(Core.getInstance().getDataFolder(), "MySQL.yml");
@ -44,16 +45,16 @@ public class SQL {
if(!file.exists()) if(!file.exists())
throw new SecurityException("SQL-ConfigFile not found!"); throw new SecurityException("SQL-ConfigFile not found!");
url = "jdbc:mysql://" + config.getString("HOST") + ":" + config.getString("PORT") + "/" + config.getString("DATABASE"); URL = "jdbc:mysql://" + config.getString("HOST") + ":" + config.getString("PORT") + "/" + config.getString("DATABASE");
user = config.getString("USER"); USER = config.getString("USER");
password = config.getString("PASSWORD"); PASSWORD = config.getString("PASSWORD");
connect(); connect();
} }
private static void connect() { private static void connect() {
try { try {
con = DriverManager.getConnection(url + "?autoReconnect=true&useServerPrepStmts=true", user, password); con = DriverManager.getConnection(URL + "?useServerPrepStmts=true", USER, PASSWORD);
} catch (SQLException e) { } catch (SQLException e) {
throw new SecurityException("Could not start SQL connection", e); throw new SecurityException("Could not start SQL connection", e);
} }
@ -96,6 +97,7 @@ public class SQL {
} }
} }
@Deprecated
static void update(String qry, Object... objects) { static void update(String qry, Object... objects) {
try { try {
prepare(qry, objects).executeUpdate(); prepare(qry, objects).executeUpdate();
@ -105,6 +107,7 @@ public class SQL {
} }
} }
@Deprecated
static ResultSet select(String qry, Object... objects) { static ResultSet select(String qry, Object... objects) {
try { try {
return prepare(qry, objects).executeQuery(); return prepare(qry, objects).executeQuery();
@ -114,6 +117,7 @@ public class SQL {
} }
} }
@Deprecated
static Blob blob() { static Blob blob() {
try { try {
return con.createBlob(); return con.createBlob();
@ -123,6 +127,7 @@ public class SQL {
} }
} }
@Deprecated
private static PreparedStatement prepare(String qry, Object... objects) throws SQLException { private static PreparedStatement prepare(String qry, Object... objects) throws SQLException {
PreparedStatement st = con.prepareStatement(qry); PreparedStatement st = con.prepareStatement(qry);
for(int i = 0; i < objects.length; i++){ for(int i = 0; i < objects.length; i++){
@ -165,11 +170,16 @@ public class SQL {
} }
private synchronized <T> T prepare(SQLRunnable<T> runnable, Object... objects) { private synchronized <T> T prepare(SQLRunnable<T> runnable, Object... objects) {
try {
try { try {
setObjects(objects); setObjects(objects);
return runnable.run(); return runnable.run();
} catch (SQLException e) { } catch (CommunicationsException e) {
reset(); reset();
setObjects(objects);
return runnable.run();
}
} catch (SQLException e) {
throw new SecurityException("Could not execute SQL statement", e); throw new SecurityException("Could not execute SQL statement", e);
} }
} }