forked from Qortal/qortal
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:
parent
28ddc0055f
commit
f2ff2187d9
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user