-
Bug
-
Résolution: Résolu
-
Mineur
-
6.02.23, 6.04.14
-
Aucune
-
Aucune
-
Dev
Il est possible d'enregistrer de propriétés de site avec des ';' mais il est impossible de les lire par la suite.
En effet, les propriétés avec ';' ne sont pas échappées lors de l'enregistrement et sont considérées comme des séparateurs de liste lors de la lecture des propriétés d'un site (car la lecture des propriétés est configurée pour échapper les ';', via la propriété InfosSitePropertiesHelper.VALEUR_PROPERTIE_LISTE_DELIMITEUR (sic)
Solution, échapper la propriété lors de l'enregistrement d'une propriété de type Chaîne dans la classe InfosSiteDaoProperties.
private void setListeProprietesComplementairesDansProperties(final InfosSite infosSite, final PropertiesConfiguration propsConfig) { final String prefixeProprieteSite = DEBUT_PROPERTIES_SITE + infosSite.getAlias() + "."; for (final Map.Entry<String, Object> propriete : infosSite.getProprietesComplementaires().entrySet()) { final Object proprieteValeur = propriete.getValue(); if (proprieteValeur !=null && String.class.isAssignableFrom(proprieteValeur.getClass())) { propsConfig.setProperty(prefixeProprieteSite + propriete.getKey(), PropertyConverter.escapeDelimiters((String) proprieteValeur, InfosSitePropertiesHelper.VALEUR_PROPERTIE_LISTE_DELIMITEUR)); } else { propsConfig.setProperty(prefixeProprieteSite + propriete.getKey(), proprieteValeur); } } }