Importation d'un paramètre, résultat ou résultat complémentaire d'une autre calculette
Pour permettre cette nouvelle fonctionnalité, il faut déjà établir certaines fondations et ensuite procéder par étapes successives.
Proposition de jalons
-
Gérer la session des calculettes ouvertes au niveau de Jalhyd : ça se traduit au moins par un objet global stockant un tableau de Nub
-
Implémenter la fonctionnalité d'importation d'un paramètre d'une calculette vers une autre -
Tester la fonctionnalité en "partageant" un paramètre entre deux calculettes (i.e. on crée deux calculettes identiques avec la classe NubTest
, on importe un paramètre d'une calculette à l'autre et on teste si les résultats renvoyés sont les mêmes) -
Implémenter la fonctionnalité d'importation d'un résultat d'une calculette vers un paramètre d'une autre calculette (cf. discussion ci-dessous) -
Tester la fonctionnalité -
Implémenter la fonctionnalité d'importation d'un résultat complémentaire d'une calculette vers un paramètre d'une autre calculette (cf. discussion ci-dessous)
Proposition sur l'import de résultat
Deux solutions :
- Si on a un tableau de tous les uid de toutes les calculettes dans l'objet global de session, alors on peut faire hériter
Result
deJalhydObject
et on implémente une méthode abstraite dansJalhydObject
chargé de renvoyer la liste des valeurs du paramètre ou du résultat. Avec cette solution, il faut garder en tête que si on liste les uid de toutes les calculettes, on aura alors pour une calculette deux uid pour le paramètre calculé (un pour le paramètre, un pour le résultat). - Une autre solution peut être de demander de renvoyer les valeurs calculées à
BaseParam
qui, avec les modifications de #44 (closed), sait si le paramètre est calculé et peut renvoyer directement les valeurs calculées si on lui demande.
Proposition pour l'import de résultat complémentaire
Il faudrait que chaque élément de extraResult
ait un uid. Ce qui veut dire avoir une classe spécifique ExtraResult
pour stocker un extraResult
qui dériverait de JalhydObject
. Pour éviter d'avoir à tout chambouler, on peut habilement à l'aide d'un get
dans ResultElement
faire en sorte que la syntaxe actuelle continue à renvoyer la valeur des extraResult
.
Edited by David Dorchies