Fix a code smell

This commit is contained in:
Rsl1122 2018-08-04 12:09:10 +03:00
parent e3f344b1c6
commit e0b05cc169
2 changed files with 30 additions and 21 deletions

View File

@ -10,6 +10,7 @@ import com.djrapitops.plugin.api.TimeAmount;
import java.util.ArrayList;
import java.util.List;
import java.util.OptionalDouble;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
@ -35,12 +36,16 @@ public class TPSMutator {
return new TPSMutator(new ArrayList<>(mutator.tpsData));
}
public TPSMutator filterDataBetween(long after, long before) {
public TPSMutator filterBy(Predicate<TPS> filter) {
return new TPSMutator(tpsData.stream()
.filter(tps -> tps.getDate() >= after && tps.getDate() <= before)
.filter(filter)
.collect(Collectors.toList()));
}
public TPSMutator filterDataBetween(long after, long before) {
return filterBy(tps -> tps.getDate() >= after && tps.getDate() <= before);
}
public List<TPS> all() {
return tpsData;
}

View File

@ -64,25 +64,29 @@ public class IPAnonPatch extends Patch {
public void prepare(PreparedStatement statement) throws SQLException {
for (List<GeoInfo> geoInfos : allGeoInfo.values()) {
for (GeoInfo geoInfo : geoInfos) {
try {
String oldIP = geoInfo.getIp();
if (oldIP.endsWith(".xx.xx") || oldIP.endsWith("xx..")) {
continue;
}
GeoInfo updatedInfo = new GeoInfo(
InetAddress.getByName(oldIP),
geoInfo.getGeolocation(),
geoInfo.getDate()
);
statement.setString(1, updatedInfo.getIp());
statement.setString(2, updatedInfo.getIpHash());
statement.setString(3, geoInfo.getIp());
statement.addBatch();
} catch (UnknownHostException | UnsupportedEncodingException | NoSuchAlgorithmException e) {
if (Settings.DEV_MODE.isTrue()) {
Log.toLog(this.getClass(), e);
}
}
addToBatch(statement, geoInfo);
}
}
}
private void addToBatch(PreparedStatement statement, GeoInfo geoInfo) throws SQLException {
try {
String oldIP = geoInfo.getIp();
if (oldIP.endsWith(".xx.xx") || oldIP.endsWith("xx..")) {
return;
}
GeoInfo updatedInfo = new GeoInfo(
InetAddress.getByName(oldIP),
geoInfo.getGeolocation(),
geoInfo.getDate()
);
statement.setString(1, updatedInfo.getIp());
statement.setString(2, updatedInfo.getIpHash());
statement.setString(3, geoInfo.getIp());
statement.addBatch();
} catch (UnknownHostException | UnsupportedEncodingException | NoSuchAlgorithmException e) {
if (Settings.DEV_MODE.isTrue()) {
Log.toLog(this.getClass(), e);
}
}
}