From e13c7070bf43ba8ff34a9ba2d1b5940f3ef61b7e Mon Sep 17 00:00:00 2001 From: Christopher Schnick Date: Sat, 14 Jan 2023 11:34:28 +0100 Subject: [PATCH] Check for invalid eu4 tag --- .../java/com/crschnick/pdxu/model/eu4/Eu4Tag.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pdxu-model/src/main/java/com/crschnick/pdxu/model/eu4/Eu4Tag.java b/pdxu-model/src/main/java/com/crschnick/pdxu/model/eu4/Eu4Tag.java index 578eba5e..c6c4045b 100644 --- a/pdxu-model/src/main/java/com/crschnick/pdxu/model/eu4/Eu4Tag.java +++ b/pdxu-model/src/main/java/com/crschnick/pdxu/model/eu4/Eu4Tag.java @@ -25,7 +25,10 @@ public final class Eu4Tag { public Eu4Tag() { } - public Eu4Tag(FlagType flagType, String tag, GameColor mapColor, GameColor countryColor, String name, ColonialFlagData colonialFlagData, CustomFlagData customFlagData) { + public Eu4Tag( + FlagType flagType, String tag, GameColor mapColor, GameColor countryColor, String name, ColonialFlagData colonialFlagData, + CustomFlagData customFlagData + ) { this.flagType = flagType; this.tag = tag; this.mapColor = mapColor; @@ -57,7 +60,8 @@ public static Eu4Tag fromNode(String tag, Node n) { col.getNodeForKey("symbol_index").getInteger(), col.getNodeForKey("flag_colors").getNodeArray().stream() .map(Node::getInteger) - .collect(Collectors.toList())); + .collect(Collectors.toList()) + ); } else if (OBSERVER_FLAG_TAG_PATTERN.matcher(tag).matches() || tag.equals(INVALID_TAG_ID)) { t = FlagType.NO_FLAG; } else { @@ -68,7 +72,10 @@ public static Eu4Tag fromNode(String tag, Node n) { } public static Eu4Tag getTag(List tags, String name) { - return tags.stream().filter(t -> t.tag.equals(name)).findFirst().get(); + return tags.stream() + .filter(t -> t.tag.equals(name)) + .findFirst() + .orElse(new Eu4Tag(FlagType.NO_FLAG, "REB", GameColor.BLACK, GameColor.BLACK, "Unknown", null, null)); } public String getTag() {