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 presque 6 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 presque 6 ans
- Description mis à jour (diff)
#3 Mis à jour par Sebastien Jacquot il y a presque 2 ans
- 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