Bug #2735
Auto-save preference is broken
Statut: | Closed | Début: | 22/01/2020 | |
---|---|---|---|---|
Priorité: | High | Echéance: | ||
Assigné à: | - | % réalisé: | 100% |
|
Catégorie: | Persistence / Lazy | Temps passé: | - | |
Version cible: | TXM 0.8.1 |
Description
Auto-save preference is broken since the parameter user_persistable and internal_persistable have been fused.
Note¶
In TXMResult constructor, it seems:
// set result as persistent if AUTO_PERSISTENCE_ENABLED preference is activated if (TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED)) { this.userPersistable = true; }
userPersistable value is overridden later by the call of:
this.autoLoadParametersFromAnnotations(); // auto fill from Parameter annotations
When creating a new result, TXMPreferences.PERSITABLE preference is not set so userPersistable member field is set to default Java boolean value (false).
Solution 1¶
- add test on TXMPreferences.PERSITABLE + TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED) directly in autoLoadParametersFromAnnotations()
Solution 2¶
- set the preference node value instead of than the variable member
// set result as persistent if AUTO_PERSISTENCE_ENABLED preference is activated if (TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED)) { this.saveParameter(TXMPreferences.PERSITABLE, true); }
Historique
#1 Mis à jour par Sebastien Jacquot il y a plus de 5 ans
- Description mis à jour (diff)
- Statut changé de New à Feedback
- % réalisé changé de 0 à 80
Fixed with solution #2.
#2 Mis à jour par Sebastien Jacquot il y a plus de 5 ans
- Description mis à jour (diff)
#3 Mis à jour par Sebastien Jacquot il y a plus d'un an
- Version cible changé de TXM 0.8.1 à TXM 0.8.4
#4 Mis à jour par Sebastien Jacquot il y a plus d'un an
- Statut changé de Feedback à Closed
- % réalisé changé de 80 à 100
#5 Mis à jour par Sebastien Jacquot il y a plus d'un an
- Version cible changé de TXM 0.8.4 à TXM 0.8.1