mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-05 16:30:24 +08:00
Fix hashCode NPE
Attempt to fix "issued command: /plan register" filtering from console output - failed
This commit is contained in:
parent
e6d7428c7f
commit
a84632686d
@ -42,11 +42,14 @@ import main.java.com.djrapitops.plan.utilities.Benchmark;
|
|||||||
import main.java.com.djrapitops.plan.utilities.Check;
|
import main.java.com.djrapitops.plan.utilities.Check;
|
||||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||||
import main.java.com.djrapitops.plan.utilities.metrics.BStats;
|
import main.java.com.djrapitops.plan.utilities.metrics.BStats;
|
||||||
import org.bukkit.Bukkit;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.core.LoggerContext;
|
||||||
|
import org.apache.logging.log4j.core.config.LoggerConfig;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
@ -186,7 +189,11 @@ public class Plan extends BukkitPlugin<Plan> {
|
|||||||
Log.error("WebServer was not Initialized.");
|
Log.error("WebServer was not Initialized.");
|
||||||
}
|
}
|
||||||
// Prevent passwords showing up on console.
|
// Prevent passwords showing up on console.
|
||||||
Bukkit.getLogger().setFilter(new RegisterCommandFilter());
|
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
|
||||||
|
Collection<LoggerConfig> lc = ctx.getConfiguration().getLoggers().values();
|
||||||
|
for (LoggerConfig c : lc) {
|
||||||
|
c.addFilter(new RegisterCommandFilter());
|
||||||
|
}
|
||||||
} else if (!hasDataViewCapability) {
|
} else if (!hasDataViewCapability) {
|
||||||
Log.infoColor(Phrase.ERROR_NO_DATA_VIEW.toString());
|
Log.infoColor(Phrase.ERROR_NO_DATA_VIEW.toString());
|
||||||
}
|
}
|
||||||
@ -390,7 +397,7 @@ public class Plan extends BukkitPlugin<Plan> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try (InputStream inputStream = localeURL.openStream();
|
try (InputStream inputStream = localeURL.openStream();
|
||||||
OutputStream outputStream = new FileOutputStream(localeFile)) {
|
OutputStream outputStream = new FileOutputStream(localeFile)) {
|
||||||
|
|
||||||
int read;
|
int read;
|
||||||
byte[] bytes = new byte[1024];
|
byte[] bytes = new byte[1024];
|
||||||
@ -421,9 +428,8 @@ public class Plan extends BukkitPlugin<Plan> {
|
|||||||
/**
|
/**
|
||||||
* Stops initializing the locale
|
* Stops initializing the locale
|
||||||
*
|
*
|
||||||
* @implNote Removes clutter in the method
|
|
||||||
*
|
|
||||||
* @param usingLocale The locale that's used
|
* @param usingLocale The locale that's used
|
||||||
|
* @implNote Removes clutter in the method
|
||||||
*/
|
*/
|
||||||
private void stopInitLocale(String usingLocale) {
|
private void stopInitLocale(String usingLocale) {
|
||||||
Benchmark.stop("Enable: Initializing locale");
|
Benchmark.stop("Enable: Initializing locale");
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
package main.java.com.djrapitops.plan.command.commands;
|
package main.java.com.djrapitops.plan.command.commands;
|
||||||
|
|
||||||
import java.util.logging.Filter;
|
import org.apache.logging.log4j.Level;
|
||||||
import java.util.logging.LogRecord;
|
import org.apache.logging.log4j.Marker;
|
||||||
|
import org.apache.logging.log4j.core.Filter;
|
||||||
|
import org.apache.logging.log4j.core.LogEvent;
|
||||||
|
import org.apache.logging.log4j.core.Logger;
|
||||||
|
import org.apache.logging.log4j.message.Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters out WebUser registration command logs.
|
* Filters out WebUser registration command logs.
|
||||||
@ -11,12 +15,126 @@ import java.util.logging.LogRecord;
|
|||||||
*/
|
*/
|
||||||
public class RegisterCommandFilter implements Filter {
|
public class RegisterCommandFilter implements Filter {
|
||||||
|
|
||||||
@Override
|
private boolean start = true;
|
||||||
public boolean isLoggable(LogRecord record) {
|
|
||||||
String message = record.getMessage();
|
private Result filter(String message) {
|
||||||
boolean block = message.contains("command: /plan register")
|
boolean block = message.contains("command: /plan register")
|
||||||
|| message.contains("command: /plan web register")
|
|| message.contains("command: /plan web register")
|
||||||
|| message.contains("command: /plan webuser register");
|
|| message.contains("command: /plan webuser register");
|
||||||
return !block;
|
if (block) {
|
||||||
|
return Result.DENY;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(LogEvent event) {
|
||||||
|
String message = event.getMessage().toString().toLowerCase();
|
||||||
|
return filter(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger arg0, Level arg1, Marker arg2, String arg3, Object... arg4) {
|
||||||
|
return filter(arg3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger arg0, Level arg1, Marker arg2, Object arg3, Throwable arg4) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger arg0, Level arg1, Marker arg2, Message arg3, Throwable arg4) {
|
||||||
|
return filter(arg3.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result getOnMatch() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result getOnMismatch() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7, Object o8) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result filter(Logger logger, Level level, Marker marker, String s, Object o, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7, Object o8, Object o9) {
|
||||||
|
return filter(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public State getState() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void start() {
|
||||||
|
start = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stop() {
|
||||||
|
start = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isStarted() {
|
||||||
|
return start;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isStopped() {
|
||||||
|
return !start;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -805,7 +805,6 @@ public class UserData {
|
|||||||
result = 31 * result + deaths;
|
result = 31 * result + deaths;
|
||||||
result = 31 * result + name.hashCode();
|
result = 31 * result + name.hashCode();
|
||||||
result = 31 * result + (isOnline ? 1 : 0);
|
result = 31 * result + (isOnline ? 1 : 0);
|
||||||
result = 31 * result + currentSession.hashCode();
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ import java.util.*;
|
|||||||
public class DataCacheHandler extends SessionCache {
|
public class DataCacheHandler extends SessionCache {
|
||||||
|
|
||||||
// Cache
|
// Cache
|
||||||
private final HashMap<UUID, UserData> dataCache;
|
private final Map<UUID, UserData> dataCache;
|
||||||
|
|
||||||
// Plan
|
// Plan
|
||||||
private final Plan plugin;
|
private final Plan plugin;
|
||||||
|
Loading…
Reference in New Issue
Block a user