mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +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;
|
return keywords;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Keyword get(String key) {
|
public static Keyword get(String k) {
|
||||||
if (key.isEmpty())
|
Keyword keyword = Keyword.UNDEFINED;
|
||||||
return null;
|
|
||||||
return Arrays.stream(values()).filter(k -> key.equalsIgnoreCase(k.displayName)).findFirst().orElse(null);
|
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<>();
|
private static final Map<String, Set<Keyword>> cardKeywordSetLookup = new HashMap<>();
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public class AdvancedSearch {
|
|||||||
if (input.getRules().getOtherPart().getKeywords() != null) {
|
if (input.getRules().getOtherPart().getKeywords() != null) {
|
||||||
for (String key : input.getRules().getOtherPart().getKeywords()) {
|
for (String key : input.getRules().getOtherPart().getKeywords()) {
|
||||||
Keyword keyword = Keyword.get(key);
|
Keyword keyword = Keyword.get(key);
|
||||||
if (keyword != null)
|
if (!Keyword.UNDEFINED.equals(keyword))
|
||||||
keywords.add(keyword);
|
keywords.add(keyword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -119,7 +119,7 @@ public class AdvancedSearch {
|
|||||||
if (input.getRules().getMainPart().getKeywords() != null) {
|
if (input.getRules().getMainPart().getKeywords() != null) {
|
||||||
for (String key : input.getRules().getMainPart().getKeywords()) {
|
for (String key : input.getRules().getMainPart().getKeywords()) {
|
||||||
Keyword keyword = Keyword.get(key);
|
Keyword keyword = Keyword.get(key);
|
||||||
if (keyword != null)
|
if (!Keyword.UNDEFINED.equals(keyword))
|
||||||
keywords.add(keyword);
|
keywords.add(keyword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user