More info for error log
-
I got this error (tldr i misspelled a territory)
Oct 06, 2019 1:12:59 PM games.strategy.engine.framework.ui.GameChooserEntry fullyParseGameData SEVERE: Could not parse:file:/C:/Users/ckimb/triplea/downloadedMaps/XCOM-master/map/games/XCOM.xml games.strategy.engine.data.GameParseException: map name: 'file:/C:/Users/ckimb/triplea/downloadedMaps/XCOM-master/map/games/XCOM.xml', game name: 'XCOM', Unexpected Exception while setting values for attachmentRulesAttachment attached to:PlayerID named:Europeans with name:rulesAttachment at games.strategy.engine.data.GameParser.newGameParseException(GameParser.java:108) at games.strategy.engine.data.GameParser.setValues(GameParser.java:1269) at games.strategy.engine.data.GameParser.parseAttachments(GameParser.java:1219) at games.strategy.engine.data.GameParser.parseMapDetails(GameParser.java:200) at games.strategy.engine.data.GameParser.parse(GameParser.java:97) at games.strategy.engine.data.GameParser.parse(GameParser.java:91) at games.strategy.engine.framework.ui.GameChooserEntry.fullyParseGameData(GameChooserEntry.java:52) at games.strategy.engine.framework.startup.ui.panels.main.game.selector.GameSelectorPanel.lambda$selectGameFile$7(GameSelectorPanel.java:271) at games.strategy.engine.framework.ui.background.BackgroundTaskRunner.lambda$runInBackground$0(BackgroundTaskRunner.java:50) at games.strategy.engine.framework.ui.background.BackgroundTaskRunner$1.doInBackground(BackgroundTaskRunner.java:121) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalStateException: No territory called:Hungary-Romanians for: RulesAttachment attached to:PlayerID named:Europeans with name:rulesAttachment at games.strategy.triplea.attachments.AbstractRulesAttachment.getListedTerritories(AbstractRulesAttachment.java:408) at games.strategy.triplea.attachments.AbstractRulesAttachment.validateNames(AbstractRulesAttachment.java:358) at games.strategy.triplea.attachments.AbstractPlayerRulesAttachment.setMovementRestrictionTerritories(AbstractPlayerRulesAttachment.java:115) at games.strategy.engine.data.MutableProperty.setStringValue(MutableProperty.java:60) at games.strategy.engine.data.MutableProperty.setValue(MutableProperty.java:88) at games.strategy.engine.data.GameParser.setValues(GameParser.java:1265) ... 14 moreThat is at least the fourth territory that I have misspelt. It would be nice if it showed them all at once, instead of having to fix that one, load the map again, fix the next, etc. I had a similar issue with another error, though that one was missing a >, so that might actually break the game's ability to parse it properly.
-
@ff03k64 What program are you using to edit the XML? Many programs will do some sort of auto-complete to help minimize typos like that (I use Notepad++).
But yeah currently the parsing fails immediately at the first error it hits so doesn't see any further errors. Its a fair point but I think would require a fairly large change to force it to parse the entire XML and collect all the errors.
-
It's a good change even if a bit painful to code. it's certainly better UX to display all errors in one go rather than just one at a time (https://ux.stackexchange.com/questions/96110/displaying-errors-to-a-user-one-at-a-time-or-all-at-once)
-
And I realize that not all errors will be able to properly get reported one at a time, like the second one i listed. Something might accidentally end up in a comment or something because of the first error.
I use notepad++, but often there are enough things that are just one letter off, or just different at the end of a name (Romania vs. Romanians) that i just tend to keep typing. Or it isn't showing up in the auto complete because i got the second letter wrong, ... Or ... I might just be lazy sometimes! :man_shrugging_medium-light_skin_tone:
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login