Afficher des tableaux sexy avec Wicket

Les tableaux HTML sont plus lisibles lorsque les lignes paires sont facilement différenciables des lignes impaires, par exemple grâce à un fond de couleur différente.
Voyons comment Wicket permet d'industrialiser ce traitement, afin qu'il soit facilement applicable à n'importe quel tableau.

Pour l'exemple, nous afficherons la liste des Locales suportées par la JVM (langage et pays).

Lire la suite...

A lire : Principes de conception objet

Le cabinet de conseil Crossbow Labs propose sur son site un excellent récapitulatif des principes de conception objet.

A lire (et à télécharger) d'urgence !

Sortie de Gradle 0.8

Gradle est le petit builder qui monte, qui monte...
Et il continue encore et toujours de monter avec cette version 0.8 flambant neuve !

Au menu, quelques nouveautés sympathiques :

  • Un plugin pour compiler du code Scala
  • Un plugin pour vérifier les règles Checkstyle et CodeNarc
  • Un nouveau système de manipulation des fichiers (sélection, filtrage...)
  • Une interface graphique pour suivre le processus de build

Et des améliorations appréciables :

  • La configuration des projets Java est désormais plus simple et plus souple (mais pas rétrocompatible)
  • Amélioration du support de Groovy
  • Et bien sûr des performances améliorées

Par contre, ainsi que l'indique son numéro, ce n'est toujours pas une version stable, et certaines fonctionnalités sont cassées ou profondément modifiées par rapport à la version précédente - notamment, certaines APIs et options de la ligne de commande ont été renommées. Mais au final, ces changements devraient rendre Gradle plus intuitif.

Vous pouvez d'ores et déjà télécharger Gradle 0.8, essayez-le vite !

Lire la suite...

Barcamp le 29 septembre

Je vous informe qu'un nouveau Barcamp est co-organisé par Google et La Cantine.

Pour faire bref :

  • Quand : Mardi 29 septembre après-midi (14h - 21h).
  • Où : A La Cantine Numérique ( 12 galerie Montmartre, 151 passage Montmartre, Passage des Panoramas, 75002 Paris)
  • Comment : il faut s'inscrire rapidement (places limitées). Vous pourrez venir avec vos portables, il y a même le wifi !
  • Quoi : Les sujets de discussion sont libres, mais vous pouvez en proposer lors de l'inscription. Deux grands thèmes sont déjà suggérés : l'évolution des architectures client/serveur, et le web riche "next-gen" avec HTML5 et les produits Google : GWT2, Google Maps, OpenSocial...

A bientôt !

Lire la suite...

Internationalisation des Enums avec Wicket

Note: Ce billet a été mis à jour le 28/09/2009 pour présenter une conception alternative de l'EnumModel.

Les enums sont très pratiques pour représenter des collections finies d'éléments : saisons, jours de la semaine... Il est donc fréquent de devoir saisir ou afficher de telles valeurs dans les applications web - et de manière internationalisée si possible.
Voyons comment Wicket permet de répondre à ce besoin.

Lire la suite...

MultiValueMapBuilder

Aujourd'hui, je vous propose une petite classe utilitaire permettant de simplifier l'insertion d'éléments dans des collections (List, Set, Map) elle-mêmes placées dans des Maps.

Ce genre de structure n'est pas rare, dès lors que l'on manipule des données complexes :

  1. Map<City, List<String>> streetNamesByCity;
  2. Map<Department, Set<Employee>> employeesByDepartment;
  3. Map<Employee, Map<Date,VacationType>> vacationsByEmployee;

Insérer un élément dans une sous-collection est simple mais un peu fastidieux et répétitif : il faut vérifier si la sous-collection existe, la créer et l'insérer au besoin, puis -enfin- y insérer le nouvel élément...

Lire la suite...

Paris JUG : soirée Qualité Logicielle le mardi 15 septembre

Le Java User Group de Paris (Paris JUG) organise une soirée spéciale Qualité Logicielle. Elle aura lieu le mardi 15 septembre, dans les locaux de l'ISEP comme d'habitude.

Au programme :

N'oubliez pas que, pour des raisons de sécurité, l'inscription est désormais obligatoire et sera vérifiée à l'entrée.

Lire la suite...