Bug #5601
closedCan still lose report design when saving to KAR
0%
Description
It's still possible to lose your report design when you save to a KAR -- there's at least one scenario where you can see your report design in the Designer, save to KAR, and the ROML does not end up in the KAR.
Updated by Derik Barseghian almost 12 years ago
Turns out, in reporting trunk, and in reporting 2.3, if from an Untitled window you create a workflow and report design, save the KAR, the workflow and ROML will be placed in the KAR. Then if you simply save a second time with or without changes to the workflow, the ROML will then not be saved in (will be lost from) the KAR. This doesn't happen in reporting 2.1. I'd guess changes made to solve memory leaks may have caused this, because what happens is ReportLayoutKAREntryHandler attempts to get the workflow out of the ObjectManager and it's no longer there (which causes the failure of saving the ROML) I believe having been disposed during KeplerGraphFrame.dispose() during the Untitled => titled window dispose/open transition, and this sounds similar to: http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5095#c14
At r31321 I've committed a fix, which is when objects are added to the _saveInitiatorList in KARBuilder, also add them to ObjectManager. I'm never confident or happy with a fix that relies on OM, but from my testing today I can't find any issues, and the NamedObj (workflow) still gets disposed from OM when the window is closed.
After more testing on trunk, and then in 2.3, if the same fix works in 2.3, we should consider releasing a patch to the core module.
Updated by Derik Barseghian almost 12 years ago
Fix (slightly adjusted for old method signature) does work in 2.3 too.
Updated by Derik Barseghian almost 12 years ago
If we patch core to include r31321, we should also go ahead and patch gui and workflow-run-manager to include r31328.
Updated by jianwu jianwu over 11 years ago
- Status changed from New to Closed
Dan and I tested this bug in reporting 2.4 branch, and cannot reproduce it. Closing it.