[Migration] Cannot delete childElement 'perceivedThreat'/'threatMemory'
Migration 1.9 creats error .
psychologyStatus of Pedestrian in Scenario file. Note: no 'perceivedThreat' field. Removed call will fail.
{"mostImportantStimulus":null,"selfCategory":"TARGET_ORIENTED"}
Fix
- create removeIfExist(root, child) to remove element only if it exist without causing error if it is missing.
StackTrace
16:21:05,313 INFO MigrationUtil:106 - migrate: ./rover/simulations/muenchnerFreiheit/stsc/vadere/scenarios/mf_klein_initial_peds.scenario
16:21:05,318 INFO JsonMigrationAssistant:85 - >> analyzing JSON tree of scenario <mf_klein_initial_peds>
16:21:05,318 INFO JsonMigrationAssistant:114 - <mf_klein_initial_peds> Start Transform to Version: 1.8
16:21:05,380 INFO JsonMigrationAssistant:114 - <mf_klein_initial_peds> Start Transform to Version: 1.9
16:21:05,381 ERROR MigrationUtil:110 - Error in MigrationUtil stop: Cannot delete childElement 'perceivedThreat' from parent
Cannot start vadere-console: topographyError while processing MigrationTaskHandler in walkFileTree
org.vadere.simulator.projects.migration.MigrationException: topographyError while processing MigrationTaskHandler in walkFileTree
at org.vadere.simulator.projects.migration.incident.helper.MigrationUtil.migrateDirectoryTree(MigrationUtil.java:80)
at org.vadere.simulator.entrypoints.cmd.commands.MigrationSubCommand.run(MigrationSubCommand.java:100)
at org.vadere.simulator.entrypoints.cmd.VadereConsole.main(VadereConsole.java:40)
Caused by: org.vadere.simulator.projects.migration.MigrationException: Cannot delete childElement 'perceivedThreat' from parent
at org.vadere.simulator.projects.migration.jsontranformation.JsonNodeExplorer.remove(JsonNodeExplorer.java:32)
at org.vadere.simulator.projects.migration.jsontranformation.json.TargetVersionV1_9.removePerceivedThreatNode(TargetVersionV1_9.java:36)
at org.vadere.simulator.projects.migration.jsontranformation.AbstractJsonTransformation.applyPostHooks(AbstractJsonTransformation.java:84)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.transform(JsonMigrationAssistant.java:226)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.migrateScenarioFile(JsonMigrationAssistant.java:115)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.migrateScenarioFile(JsonMigrationAssistant.java:133)
at org.vadere.simulator.projects.migration.incident.helper.MigrationUtil.migrate(MigrationUtil.java:107)
at org.vadere.simulator.projects.migration.incident.helper.MigrationUtil.lambda$migrateDirectoryTree$0(MigrationUtil.java:72)
at org.vadere.simulator.projects.migration.incident.helper.MigrationUtil$1.visitFile(MigrationUtil.java:181)
at org.vadere.simulator.projects.migration.incident.helper.MigrationUtil$1.visitFile(MigrationUtil.java:137)
at java.base/java.nio.file.Files.walkFileTree(Files.java:2724)
at java.base/java.nio.file.Files.walkFileTree(Files.java:2796)
at org.vadere.simulator.projects.migration.incident.helper.MigrationUtil.migrateDirectoryTree(MigrationUtil.java:75)
... 2 more