mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-18 09:41:02 +02:00
Refactored UsersTable#getPlayerNames to a query
This commit is contained in:
parent
e398a53425
commit
bb52f29bd4
@ -21,6 +21,7 @@ import com.djrapitops.plan.api.data.ServerContainer;
|
|||||||
import com.djrapitops.plan.api.exceptions.database.DBOpException;
|
import com.djrapitops.plan.api.exceptions.database.DBOpException;
|
||||||
import com.djrapitops.plan.db.access.Query;
|
import com.djrapitops.plan.db.access.Query;
|
||||||
import com.djrapitops.plan.db.access.queries.containers.ContainerFetchQueries;
|
import com.djrapitops.plan.db.access.queries.containers.ContainerFetchQueries;
|
||||||
|
import com.djrapitops.plan.db.access.queries.objects.BaseUserQueries;
|
||||||
import com.djrapitops.plan.db.access.queries.objects.ServerQueries;
|
import com.djrapitops.plan.db.access.queries.objects.ServerQueries;
|
||||||
import com.djrapitops.plan.utilities.uuid.UUIDUtility;
|
import com.djrapitops.plan.utilities.uuid.UUIDUtility;
|
||||||
import com.djrapitops.plugin.logging.L;
|
import com.djrapitops.plugin.logging.L;
|
||||||
@ -65,7 +66,7 @@ public abstract class CommonAPI implements PlanAPI {
|
|||||||
@Override
|
@Override
|
||||||
public Map<UUID, String> getKnownPlayerNames() {
|
public Map<UUID, String> getKnownPlayerNames() {
|
||||||
try {
|
try {
|
||||||
return fetchFromPlanDB().getPlayerNames();
|
return queryDB(BaseUserQueries.fetchPlayerNames());
|
||||||
} catch (DBOpException e) {
|
} catch (DBOpException e) {
|
||||||
errorHandler.log(L.ERROR, this.getClass(), e);
|
errorHandler.log(L.ERROR, this.getClass(), e);
|
||||||
return new HashMap<>();
|
return new HashMap<>();
|
||||||
|
@ -163,4 +163,22 @@ public class BaseUserQueries {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Query<Map<UUID, String>> fetchPlayerNames() {
|
||||||
|
String sql = Select.from(UsersTable.TABLE_NAME, UsersTable.USER_UUID, UsersTable.USER_NAME).toString();
|
||||||
|
|
||||||
|
return new QueryAllStatement<Map<UUID, String>>(sql, 20000) {
|
||||||
|
@Override
|
||||||
|
public Map<UUID, String> processResults(ResultSet set) throws SQLException {
|
||||||
|
Map<UUID, String> names = new HashMap<>();
|
||||||
|
while (set.next()) {
|
||||||
|
UUID uuid = UUID.fromString(set.getString((UsersTable.USER_UUID)));
|
||||||
|
String name = set.getString((UsersTable.USER_NAME));
|
||||||
|
|
||||||
|
names.put(uuid, name);
|
||||||
|
}
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
@ -19,7 +19,6 @@ package com.djrapitops.plan.db.sql.tables;
|
|||||||
import com.djrapitops.plan.db.DBType;
|
import com.djrapitops.plan.db.DBType;
|
||||||
import com.djrapitops.plan.db.SQLDB;
|
import com.djrapitops.plan.db.SQLDB;
|
||||||
import com.djrapitops.plan.db.access.ExecStatement;
|
import com.djrapitops.plan.db.access.ExecStatement;
|
||||||
import com.djrapitops.plan.db.access.QueryAllStatement;
|
|
||||||
import com.djrapitops.plan.db.access.QueryStatement;
|
import com.djrapitops.plan.db.access.QueryStatement;
|
||||||
import com.djrapitops.plan.db.sql.parsing.CreateTableParser;
|
import com.djrapitops.plan.db.sql.parsing.CreateTableParser;
|
||||||
import com.djrapitops.plan.db.sql.parsing.Insert;
|
import com.djrapitops.plan.db.sql.parsing.Insert;
|
||||||
@ -29,7 +28,9 @@ import com.djrapitops.plan.db.sql.parsing.Sql;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table that is in charge of storing common player data for all servers.
|
* Table that is in charge of storing common player data for all servers.
|
||||||
@ -179,22 +180,4 @@ public class UsersTable extends Table {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<UUID, String> getPlayerNames() {
|
|
||||||
String sql = Select.from(tableName, USER_UUID, USER_NAME).toString();
|
|
||||||
|
|
||||||
return query(new QueryAllStatement<Map<UUID, String>>(sql, 20000) {
|
|
||||||
@Override
|
|
||||||
public Map<UUID, String> processResults(ResultSet set) throws SQLException {
|
|
||||||
Map<UUID, String> names = new HashMap<>();
|
|
||||||
while (set.next()) {
|
|
||||||
UUID uuid = UUID.fromString(set.getString(USER_UUID));
|
|
||||||
String name = set.getString(USER_NAME);
|
|
||||||
|
|
||||||
names.put(uuid, name);
|
|
||||||
}
|
|
||||||
return names;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ public class SQLFetchOps extends SQLOps implements FetchOperations {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<UUID, String> getPlayerNames() {
|
public Map<UUID, String> getPlayerNames() {
|
||||||
return usersTable.getPlayerNames();
|
return db.query(BaseUserQueries.fetchPlayerNames());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user