Reduce complexity

This commit is contained in:
Rsl1122 2017-08-16 19:15:30 +03:00
parent 268dae902f
commit 40c5834a8e
2 changed files with 23 additions and 20 deletions

View File

@ -200,7 +200,7 @@ public class KillsTable extends Table {
* @throws SQLException
*/
public void savePlayerKills(Map<Integer, List<KillData>> kills, Map<Integer, UUID> uuids) throws SQLException {
if (kills == null || kills.isEmpty()) {
if (Verify.isEmpty(kills)) {
return;
}
@ -219,27 +219,17 @@ public class KillsTable extends Table {
for (Map.Entry<Integer, List<KillData>> entrySet : kills.entrySet()) {
Integer id = entrySet.getKey();
List<KillData> playerKills = entrySet.getValue();
playerKills.removeIf(Objects::isNull);
List<KillData> s = saved.get(id);
if (s != null) {
playerKills.removeAll(s);
}
playerKills.stream().filter(Objects::nonNull).forEach(killData -> {
int victimUserID = killData.getVictimUserID();
if (victimUserID == -1) {
try {
int newVictimID = db.getUsersTable().getUserId(killData.getVictim());
killData.setVictimUserID(newVictimID);
} catch (SQLException e) {
Log.toLog(this.getClass().getName(), e);
return;
}
}
});
findMissingIDs(playerKills);
for (KillData kill : playerKills) {
if (kill == null || kill.getVictimUserID() == -1) {
if (kill.getVictimUserID() == -1) {
continue;
}
statement.setInt(1, id);
@ -259,4 +249,14 @@ public class KillsTable extends Table {
Benchmark.stop("Database", "Save Kills multiple");
}
}
private void findMissingIDs(List<KillData> playerKills) throws SQLException {
for (KillData killData : playerKills) {
int victimUserID = killData.getVictimUserID();
if (victimUserID == -1) {
int newVictimID = db.getUsersTable().getUserId(killData.getVictim());
killData.setVictimUserID(newVictimID);
}
}
}
}

View File

@ -43,10 +43,7 @@ public class PlayersTableCreator {
boolean isUnknown = uData.getLoginTimes() == 1;
boolean isActive = AnalysisUtils.isActive(now, uData.getLastPlayed(), uData.getPlayTime(), uData.getLoginTimes());
String activityString = isBanned ? "Banned"
: isUnknown ? "Unknown"
: isActive ? "Active"
: "Inactive";
String activityString = getActivityString(isBanned, isUnknown, isActive);
String img = showImages ? Html.MINOTAR_SMALL_IMG.parse(uData.getName()) : "";
@ -60,7 +57,6 @@ public class PlayersTableCreator {
String.valueOf(uData.getGeolocation())
));
} catch (NullPointerException ignored) {
/* ignored */
}
i++;
@ -68,4 +64,11 @@ public class PlayersTableCreator {
return html.toString();
}
private static String getActivityString(boolean isBanned, boolean isUnknown, boolean isActive) {
return isBanned ? "Banned"
: (isUnknown ? "Unknown"
: (isActive ? "Active"
: "Inactive"));
}
}