mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Merge pull request #8698 from kevlahnota/master4
update Keyword get method
This commit is contained in:
@@ -278,10 +278,36 @@ public enum Keyword {
|
||||
return keywords;
|
||||
}
|
||||
|
||||
public static Keyword get(String key) {
|
||||
if (key.isEmpty())
|
||||
return null;
|
||||
return Arrays.stream(values()).filter(k -> key.equalsIgnoreCase(k.displayName)).findFirst().orElse(null);
|
||||
public static Keyword get(String k) {
|
||||
Keyword keyword = Keyword.UNDEFINED;
|
||||
|
||||
if (k == null || k.isEmpty())
|
||||
return keyword;
|
||||
|
||||
// try to get real part
|
||||
if (k.contains(":")) {
|
||||
final String[] x = k.split(":", 2);
|
||||
keyword = smartValueOf(x[0]);
|
||||
} else if (k.contains(" ")) {
|
||||
// First strike
|
||||
keyword = smartValueOf(k);
|
||||
|
||||
// other keywords that contains other stuff like Enchant
|
||||
if (keyword == Keyword.UNDEFINED) {
|
||||
final String[] x = k.split(" ", 2);
|
||||
|
||||
final Keyword k2 = smartValueOf(x[0]);
|
||||
// Keywords that needs to be undefined
|
||||
if (k2 != Keyword.UNDEFINED) {
|
||||
keyword = k2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Simple Keyword
|
||||
keyword = smartValueOf(k);
|
||||
}
|
||||
|
||||
return keyword;
|
||||
}
|
||||
|
||||
private static final Map<String, Set<Keyword>> cardKeywordSetLookup = new HashMap<>();
|
||||
|
||||
@@ -110,7 +110,7 @@ public class AdvancedSearch {
|
||||
if (input.getRules().getOtherPart().getKeywords() != null) {
|
||||
for (String key : input.getRules().getOtherPart().getKeywords()) {
|
||||
Keyword keyword = Keyword.get(key);
|
||||
if (keyword != null)
|
||||
if (!Keyword.UNDEFINED.equals(keyword))
|
||||
keywords.add(keyword);
|
||||
}
|
||||
}
|
||||
@@ -119,7 +119,7 @@ public class AdvancedSearch {
|
||||
if (input.getRules().getMainPart().getKeywords() != null) {
|
||||
for (String key : input.getRules().getMainPart().getKeywords()) {
|
||||
Keyword keyword = Keyword.get(key);
|
||||
if (keyword != null)
|
||||
if (!Keyword.UNDEFINED.equals(keyword))
|
||||
keywords.add(keyword);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user