Case sensitivity preference can now be specified when checking if an item is in a list.

All registered name checks are now case insensitive, since the names themselves are case insensitive.
This commit is contained in:
CalDescent 2021-11-13 13:37:16 +00:00
parent 28ddc0055f
commit f2ff2187d9
4 changed files with 17 additions and 6 deletions

View File

@ -46,7 +46,7 @@ public class ArbitraryDataStorageManager {
}
public boolean isNameInBlacklist(String name) {
return ResourceListManager.getInstance().listContains("blacklist", "names", name);
return ResourceListManager.getInstance().listContains("blacklist", "names", name, false);
}
public boolean shouldPreFetchDataForName(String name) {
@ -88,6 +88,6 @@ public class ArbitraryDataStorageManager {
}
private boolean isFollowingName(String name) {
return ResourceListManager.getInstance().listContains("followed", "names", name);
return ResourceListManager.getInstance().listContains("followed", "names", name, false);
}
}

View File

@ -122,6 +122,13 @@ public class ResourceList {
return this.list.contains(resource);
}
public boolean containsCaseInsensitive(String resource) {
if (resource == null || this.list == null) {
return false;
}
return this.list.stream().anyMatch(resource::equalsIgnoreCase);
}
/* Utils */

View File

@ -87,12 +87,16 @@ public class ResourceListManager {
}
}
public boolean listContains(String category, String resourceName, String address) {
public boolean listContains(String category, String resourceName, String item, boolean caseSensitive) {
ResourceList list = this.getList(category, resourceName);
if (list == null) {
return false;
}
return list.contains(address);
if (caseSensitive) {
return list.contains(item);
}
return list.containsCaseInsensitive(item);
}
public void saveList(String category, String resourceName) {

View File

@ -147,7 +147,7 @@ public class ChatTransaction extends Transaction {
// Check for blacklisted author by address
ResourceListManager listManager = ResourceListManager.getInstance();
if (listManager.listContains("blacklist", "addresses", this.chatTransactionData.getSender())) {
if (listManager.listContains("blacklist", "addresses", this.chatTransactionData.getSender(), true)) {
return ValidationResult.ADDRESS_IN_BLACKLIST;
}
@ -156,7 +156,7 @@ public class ChatTransaction extends Transaction {
if (names != null && names.size() > 0) {
for (NameData nameData : names) {
if (nameData != null && nameData.getName() != null) {
if (listManager.listContains("blacklist", "names", nameData.getName())) {
if (listManager.listContains("blacklist", "names", nameData.getName(), false)) {
return ValidationResult.NAME_IN_BLACKLIST;
}
}