Skip to content

Commit 68c91ca

Browse files
committed
Merge PR #2825 by @Parygind - harden against malformed JSON
2 parents 862565e + 56a453e commit 68c91ca

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

engine/src/main/java/org/terasology/engine/modes/loadProcesses/PostBeginSystems.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,27 @@
1515
*/
1616
package org.terasology.engine.modes.loadProcesses;
1717

18+
import org.slf4j.Logger;
19+
import org.slf4j.LoggerFactory;
1820
import org.terasology.context.Context;
1921
import org.terasology.engine.ComponentSystemManager;
2022
import org.terasology.entitySystem.systems.ComponentSystem;
2123

2224
import java.util.Iterator;
25+
import java.util.NoSuchElementException;
2326

2427
/**
2528
*/
2629
public class PostBeginSystems extends StepBasedLoadProcess {
2730

31+
private static final Logger logger = LoggerFactory.getLogger(PostBeginSystems.class);
32+
2833
private final Context context;
2934

3035
private Iterator<ComponentSystem> componentSystems;
3136

37+
private ComponentSystem currentSystem;
38+
3239
public PostBeginSystems(Context context) {
3340
this.context = context;
3441
}
@@ -41,7 +48,12 @@ public String getMessage() {
4148
@Override
4249
public boolean step() {
4350
if (componentSystems.hasNext()) {
44-
componentSystems.next().postBegin();
51+
try {
52+
currentSystem = componentSystems.next();
53+
currentSystem.postBegin();
54+
} catch (NoSuchElementException e) {
55+
logger.error("Failed to load system : '" + currentSystem.toString() + "'");
56+
}
4557
}
4658
return !componentSystems.hasNext();
4759
}

0 commit comments

Comments
 (0)