Lombok en pratique

ScreenHunter_423 Jul. 11 15.12

Un blog précèdent que vous trouverez ici, nous faisait découvrir la librairie Lombok.
Cette librairie permet de générer à la compilation les principales méthodes et bouts de codes génériques par l'utilisation d'annotations.

De puis longtemps, je voulais essayer à l'échelle d'un projet l'utilisation de la librairie Lombok. L'occasion s'étant enfin présentée, je vous propose de faire un petit retour sur sa mise en pratique dans le monde réel.

Un montant au centime près avec le DecimalFormat

Java_Logo.svg

Les doubles, les float, les int, les long ou les BigDecimal sont autant de manières différentes de stocker un nombre.

Mais au moment de la présentation sur une page web ou un document généré, il est nécessaire de formater ce nombre en chaîne de caractères. L'API java nous fournit pour cela le NumberFormat et ses différentes déclinaisons. Mais si l'api propose de faire la chose suivante :


La résolution par défaut est loin d'être évidente et c'est donc avec précaution et paramétrage qu'il faut manier cette API.

Montée de version JDK8 : un RESTeasy récalcitrant

java8

Dans le cadre d'une montée de version d'un projet Spring en JDK6 vers JDK8, nous avons dû faire le ménage dans nos librairies.

Pour la plupart des librairies, la migration se fait en douceur. Les choses se compliquent lorsque l'on arrive à Spring et sa myriade de modules. En effet La version 3.0.5.RELEASE de Spring que nous utilisions jusqu'à présent n'était pas compatible avec les nouvelles fonctionnalités JDK8. La compatibilité JDK8 ne commençant qu'à partir de la 4.0, nous sommes donc passés à la dernière version de l'époque : la 4.1.7.RELEASE.

Spring Web Flow – Initialisation d’une nouvelle exécution et de son contexte.

spring-webflow

Comment sous Spring Web Flow, peut-on ouvrir en parallèle un deuxième flow de page pré-initialisé avec un contexte de données spécifiques? Voici une solution qui a été trouvée dans le cadre d'un projet web utilisant Spring Web Flow 2.2.1 associé à JSF 1.2 et la surcouche RichFaces 3.3.3.FINAL.

Avant de parler de la problématique et de notre solution, commençons par une petite introduction de ce framework.

Validation conditionnnelle sous Jsf 1.2

La mise en place d'une validation avec jsf est assez simple. La plupart des composants permettent la gestion de l'attribut required ou l'intégration d'un <f:validator/> pour les cas plus complexes.

Cependant, si dans la majorité des cas on souhaite que la validation s'applique à la soumission du formulaire, la complexité d'une application amène parfois un même formulaire à comporter plusieurs actions de soumissions qui ne nécessitent pas toutes le même niveau de validation.