Setting view_config value fails in imperative migration
The following call in my migration:
event.getViewConfig().setConfigValue("dmx.webclient.view_config", "dmx.webclient.add_to_create_menu", false);
Produces the following stacktrace when being run on the DMX 5.0-beta-2 release:
INFORMATION: ----- Activating plugin "DMX Datenpunkte" -----
Apr 25, 2019 11:19:25 AM systems.dmx.core.impl.PluginImpl handleEvent
SCHWERWIEGEND: An error occurred while handling PLUGIN_ACTIVATED event from "systems.dmx.contacts" for plugin "DMX Datenpunkte":
java.lang.RuntimeException: Activating plugin "DMX Datenpunkte" failed
at systems.dmx.core.impl.PluginImpl.activate(PluginImpl.java:522)
at systems.dmx.core.impl.PluginManager.activatePlugin(PluginManager.java:64)
at systems.dmx.core.impl.PluginImpl.checkRequirementsForActivation(PluginImpl.java:486)
at systems.dmx.core.impl.PluginImpl.handleEvent(PluginImpl.java:941)
at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks$1.run(SyncDeliverTasks.java:145)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Installing plugin "DMX Datenpunkte" in the database failed
at systems.dmx.core.impl.PluginImpl.installPluginInDB(PluginImpl.java:557)
at systems.dmx.core.impl.PluginImpl.activate(PluginImpl.java:509)
... 10 more
Caused by: java.lang.RuntimeException: Running migration 2 of plugin "DMX Datenpunkte" failed
at systems.dmx.core.impl.MigrationManager.runMigration(MigrationManager.java:117)
at systems.dmx.core.impl.MigrationManager.runPluginMigrations(MigrationManager.java:66)
at systems.dmx.core.impl.PluginImpl.installPluginInDB(PluginImpl.java:547)
... 11 more
Caused by: java.lang.RuntimeException: Updating topic 3735 failed (typeUri="dmx.webclient.view_config")
at systems.dmx.core.impl.DMXObjectModelImpl.update(DMXObjectModelImpl.java:421)
at systems.dmx.core.impl.DMXObjectModelImpl.updateChildTopics(DMXObjectModelImpl.java:381)
at systems.dmx.core.impl.ViewConfigurationImpl._setConfigValue(ViewConfigurationImpl.java:95)
at systems.dmx.core.impl.ViewConfigurationImpl.setConfigValue(ViewConfigurationImpl.java:68)
at systems.dmx.kpo40.migrations.Migration2.run(Migration2.java:16)
at systems.dmx.core.impl.MigrationManager._runMigration(MigrationManager.java:136)
at systems.dmx.core.impl.MigrationManager.runMigration(MigrationManager.java:112)
... 13 more
Caused by: java.lang.RuntimeException: Value integration failed, newValues=TopicModelImpl {
"id": -1,
"uri": "",
"typeUri": "dmx.webclient.view_config",
"value": "",
"childs": {"dmx.webclient.add_to_create_menu": {
"id": 4601,
"uri": "",
"typeUri": "dmx.webclient.add_to_create_menu",
"value": false,
"childs": {}
}}
}, targetObject=TopicModelImpl {
"id": 3735,
"uri": "",
"typeUri": "dmx.webclient.view_config",
"value": "View Configuration",
"childs": {
"dmx.webclient.icon": {
"id": 3732,
"uri": "",
"typeUri": "dmx.webclient.icon",
"value": "",
"childs": {}
},
"dmx.webclient.add_to_create_menu": {
"id": 1290,
"uri": "",
"typeUri": "dmx.webclient.add_to_create_menu",
"value": true,
"childs": {}
},
"dmx.workspaces.workspace#dmx.workspaces.workspace_assignment": {
"id": 1681,
"uri": "dmx.workspaces.dmx",
"typeUri": "dmx.workspaces.workspace",
"value": "DMX",
"childs": {},
"assoc": {
"id": 3746,
"uri": "",
"typeUri": "dmx.workspaces.workspace_assignment",
"value": "",
"childs": {},
"role1": {
"topicId": 3735,
"roleTypeUri": "dmx.core.parent"
},
"role2": {
"topicId": 1681,
"roleTypeUri": "dmx.core.child"
}
}
}
}
}, assocDef=null
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:113)
at systems.dmx.core.impl.DMXObjectModelImpl.update(DMXObjectModelImpl.java:409)
... 19 more
Caused by: java.lang.RuntimeException: Updating assigment failed, parent=TopicModelImpl {
"id": 3735,
"uri": "",
"typeUri": "dmx.webclient.view_config",
"value": "View Configuration",
"childs": {
"dmx.webclient.icon": {
"id": 3732,
"uri": "",
"typeUri": "dmx.webclient.icon",
"value": "",
"childs": {}
},
"dmx.webclient.add_to_create_menu": {
"id": 1290,
"uri": "",
"typeUri": "dmx.webclient.add_to_create_menu",
"value": true,
"childs": {}
},
"dmx.workspaces.workspace#dmx.workspaces.workspace_assignment": {
"id": 1681,
"uri": "dmx.workspaces.dmx",
"typeUri": "dmx.workspaces.workspace",
"value": "DMX",
"childs": {},
"assoc": {
"id": 3746,
"uri": "",
"typeUri": "dmx.workspaces.workspace_assignment",
"value": "",
"childs": {},
"role1": {
"topicId": 3735,
"roleTypeUri": "dmx.core.parent"
},
"role2": {
"topicId": 1681,
"roleTypeUri": "dmx.core.child"
}
}
}
}
}, childTopic=TopicModelImpl {
"id": 4601,
"uri": "",
"typeUri": "dmx.webclient.add_to_create_menu",
"value": false,
"childs": {}
}, assocDefUri="dmx.webclient.add_to_create_menu"
at systems.dmx.core.impl.ValueIntegrator.updateAssignmentsOne(ValueIntegrator.java:479)
at systems.dmx.core.impl.ValueIntegrator.updateAssignments(ValueIntegrator.java:421)
at systems.dmx.core.impl.ValueIntegrator.unifyComposite(ValueIntegrator.java:307)
at systems.dmx.core.impl.ValueIntegrator.integrateComposite(ValueIntegrator.java:253)
at systems.dmx.core.impl.ValueIntegrator.integrate(ValueIntegrator.java:105)
... 20 more
Caused by: java.lang.RuntimeException: Deleting association -1 failed (typeUri="null")
at systems.dmx.core.impl.DMXObjectModelImpl.delete(DMXObjectModelImpl.java:495)
at systems.dmx.core.impl.ValueIntegrator.updateAssignmentsOne(ValueIntegrator.java:449)
... 24 more
Caused by: java.lang.NullPointerException
at systems.dmx.core.impl.AssociationModelImpl.isAssocDef(AssociationModelImpl.java:523)
at systems.dmx.core.impl.AssociationModelImpl.preDelete(AssociationModelImpl.java:331)
at systems.dmx.core.impl.DMXObjectModelImpl.delete(DMXObjectModelImpl.java:456)
... 25 more
FYI @jri