Incomplete allocation tables cause NPEs
In model files with incomplete allocation tables (e.g., where one of the views linked by an allocation has been deleted), the following NPEs may occur:
-
NPE in SignalToRouteAllocationTableEditor
java.lang.NullPointerException
at org.fortiss.af3.task.ui.editor.allocation.SignalToRouteAllocationTableEditor.getTargetViewModelElements(SignalToRouteAllocationTableEditor.java:60)
at org.fortiss.af3.allocation.ui.editor.treeviewer.TreeViewerManager.createEntryColumns(TreeViewerManager.java:389)
at org.fortiss.af3.allocation.ui.editor.treeviewer.TreeViewerManager.updateTreeViewer(TreeViewerManager.java:284)
at org.fortiss.af3.allocation.ui.editor.AllocationTableEditor.update(AllocationTableEditor.java:355)
at org.fortiss.af3.allocation.ui.editor.AllocationTableEditor.valueSet(AllocationTableEditor.java:522)
at org.fortiss.af3.allocation.ui.editor.ModelListenerEditorBase$1.lambda$3(ModelListenerEditorBase.java:131)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
Steps to reproduce
- File -> import test-sr-alloc.af3_23
- Open task->HW allocation editor in attached example
- Delete "PlatformArchitecture"
-
NPE in AllocationTableMetricProvider
java.lang.NullPointerException
at org.fortiss.af3.task.quality.AllocationTableMetricProvider.collectMetrics(AllocationTableMetricProvider.java:44)
at org.fortiss.af3.task.quality.AllocationTableMetricProvider.collectMetrics(AllocationTableMetricProvider.java:1)
at org.fortiss.tooling.ext.quality.service.ModelQualityService.collectMetrics(ModelQualityService.java:323)
at org.fortiss.tooling.ext.quality.service.ModelQualityService.recursivlyCollectMetrics(ModelQualityService.java:249)
at org.fortiss.tooling.ext.quality.service.ModelQualityService.recursivlyCollectMetrics(ModelQualityService.java:281)
at org.fortiss.tooling.ext.quality.service.ModelQualityService.performMetricCollection(ModelQualityService.java:195)
at org.fortiss.tooling.ext.quality.service.ModelQualityService$1.run(ModelQualityService.java:109)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Steps to reproduce
- Start AF3 in a fresh runtime workspace
- File -> import test-qs.af3_23
Edited by Simon Barner