Bug #2686

When setting a result to non persistent, its parent may be hidden and never be deleted

Added by Sebastien Jacquot almost 4 years ago. Updated over 3 years ago.

Status:Feedback Start date:12/03/2019
Priority:Normal Due date:
Assignee:- % Done:

70%

Category:Persistence / Lazy Spent time: -
Target version:TXM 0.8.1

Description

Some commands create intermediate hidden results to compute the final target result.
Eg. a CA from a Partition creates an hidden Lexical Table needed by the CA command.
When making the CA persistent, its parent is made persistent too.
But when making back the CA non-persistent, the parent LT stays persistable leading to keep some "ghost" results, stored in .prefs files and reloaded at TXM start but invisible in the UI.

Solution 1

Manage the user persistable state ascending and descending propagation according to some state of parent and children (hidden/visible, must be synchronized with parent, etc.)

Validation tests

//TO DEFINE

Associated revisions

Revision 2533
Added by Sebastien Jacquot over 3 years ago

Fixes: When setting a result to non persistent, its parent may be hidden and never be deleted (refs #2686)
Fixes: a bug that leads to infinite loop and introduced by a previous fix of #2686

History

#1 Updated by Sebastien Jacquot almost 4 years ago

  • Description updated (diff)

#2 Updated by Sebastien Jacquot over 3 years ago

  • Description updated (diff)
  • Status changed from New to Feedback
  • Target version changed from TXM 0.8.2 to TXM 0.8.1
  • % Done changed from 0 to 70

Fixed using a new argument to proceed deep recursively or not in org.txm.core.results.TXMResult.setUserPersistable(boolean, boolean).
Also added the management of persistable states of children of result that must always be synchronized with their children to be consistent.

Also available in: Atom PDF