Skip to content

Commit c00aa78

Browse files
authored
Merge pull request #4177 from IllianiCBT/turnover_contractNpe
Fix NPE Resulting from Null Recruitment Date
2 parents 086ef92 + 03c2bee commit c00aa78

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

Diff for: MekHQ/src/mekhq/campaign/personnel/Person.java

+11-5
Original file line numberDiff line numberDiff line change
@@ -1882,7 +1882,7 @@ public static Person generateInstanceFromXML(Node wn, Campaign c, Version versio
18821882
}
18831883
retVal.originPlanet = p;
18841884
} catch (NullPointerException e) {
1885-
LogManager.getLogger().error("Error loading originPlanet for " + systemId + ", " + planetId, e);
1885+
LogManager.getLogger().error("Error loading originPlanet for {}, {}", systemId, planetId, e);
18861886
}
18871887
} else if (wn2.getNodeName().equalsIgnoreCase("phenotype")) {
18881888
retVal.phenotype = Phenotype.parseFromString(wn2.getTextContent().trim());
@@ -2186,7 +2186,7 @@ public static Person generateInstanceFromXML(Node wn, Campaign c, Version versio
21862186
try {
21872187
retVal.getOptions().getOption(advName).setValue(value);
21882188
} catch (Exception e) {
2189-
LogManager.getLogger().error("Error restoring advantage: " + adv);
2189+
LogManager.getLogger().error("Error restoring advantage: {}", adv);
21902190
}
21912191
}
21922192
}
@@ -2201,7 +2201,7 @@ public static Person generateInstanceFromXML(Node wn, Campaign c, Version versio
22012201
try {
22022202
retVal.getOptions().getOption(advName).setValue(value);
22032203
} catch (Exception e) {
2204-
LogManager.getLogger().error("Error restoring edge: " + adv);
2204+
LogManager.getLogger().error("Error restoring edge: {}", adv);
22052205
}
22062206
}
22072207
}
@@ -2216,7 +2216,7 @@ public static Person generateInstanceFromXML(Node wn, Campaign c, Version versio
22162216
try {
22172217
retVal.getOptions().getOption(advName).setValue(value);
22182218
} catch (Exception e) {
2219-
LogManager.getLogger().error("Error restoring implants: " + adv);
2219+
LogManager.getLogger().error("Error restoring implants: {}", adv);
22202220
}
22212221
}
22222222
}
@@ -2225,8 +2225,14 @@ public static Person generateInstanceFromXML(Node wn, Campaign c, Version versio
22252225
if (retVal.getRankNumeric() < 0) {
22262226
retVal.setRank(0);
22272227
}
2228+
2229+
// Fixing recruitment dates
2230+
// I don't know when this metric was added, so we check all versions
2231+
if (retVal.getRecruitment() == null) {
2232+
retVal.setRecruitment(c.getLocalDate());
2233+
}
22282234
} catch (Exception e) {
2229-
LogManager.getLogger().error("Failed to read person " + retVal.getFullName() + " from file", e);
2235+
LogManager.getLogger().error("Failed to read person {} from file", retVal.getFullName(), e);
22302236
retVal = null;
22312237
}
22322238

0 commit comments

Comments
 (0)