Support des expansions imbriquées pour les instance de ‘FlexibleStringExpander’
Contexte
La classe FlexibleStringExpander
implemente l'expansion des valeurs ${foo}
dans des chaînes de caractères xml.
Description du problème
Le problème est qu'il n'est pas possible de faire des imbrications du type ${foo-${bar}}
. En effet le processus d'expansion cherche une variable nommée foo-${bar
dans l'environnement d'appel.
Étapes de résolution
-
Séparation de la classe FlexibleStringExpander
en 3 classes plus facilement testables:-
FlexibleString
: interface décrivant les services rendus par une flexible string. -
FlexibleStringStore
: Classe permettant de stocker des flexible string et implémentant le mécanisme de cache. -
FlexibleStringParser
: Classe fournissant le service de convertir une chaine de caractères en objetFlexibleString
.
-
-
Écriture de tests unitaires permettant d'identifiés le problème -
Implémentation du support des expansions imbriquées
Edited by Mathieu Lirzin