System.exit et test unitaire

Comme beaucoup de « bons » programmeurs, vous prenez soins d’écrire des tests unitaires pour vos applications. vous vous assurez qu’elle a toujours le comportement attendu. Et puis un jour, c’est le drame, il faut tester

Si le fichier de configuration est incorrect, l’application retourne -1, si une erreur inconnue se produit, elle retourne -2 et si tout se passe bien, elle retourne 0.

Mais comment faire? En effet, si on laisse ceci se produire, le test s’arrête, l’intégrateur maven ne comprend plus rien et des pandas sont morts.
Lire la suite

Transférer une authentification jaas de JBOSS AS 7 vers des services tiers

Avec la complexification des applications en entreprise, il arrive de plus en plus souvent que vos applications web soient juste des interfaces vers des services tiers. Pour accéder à ces services, votre application doit pouvoir être identifiée par ce service et les « credentials » de votre utilisateur transféré à cette application. Il existe des solutions d’entreprise destinées à cela. Vous pouvez par exemple faire de vos applications tierces des EJB remote appartenant au même domaine de sécurité dans JBOSS. Et acheter un corde si c’est votre première expérience dans ce domaine. :) Vous pouvez aussi mettre en place un serveur Kerberos et utiliser des tickets kerberos. Et acheter un 9mm si vous n’avez aucune expérience là dedans. Vous pouvez aussi laisser le service tiers faire une « totale confiance » en votre interface et ne faire aucune authentification. Là, c’est votre responsable sécurité qui appuiera pour vous sur la détente du 9mm!

Je vous propose ici une solution simple qui transfère le user/pass de l’utilisateur courant vers les autres applications. La technique est connue et vieille comme le web, je vous explique simplement comment la mettre en Å“uvre dans le cadre de JBOSS AS 7.

Lire la suite

ThreadLocal, partie 1, principes du stockage magique

Dans l’API java, on trouve une classe au comportement tout a fait particulier, ThreadLocal. Son principe: stocker des données dans le Thread courant afin de les récupérer plus tard, dans une autre méthode par exemple, sans avoir à les passer en argument à toute la chaine d’appel. Cette classe peut vous être d’un grand secours, mais elle doit être utilisée judicieusement et surtout en extrêmement précautionneusement!
Lire la suite

Améliorer le rendu de JavaHelp

Si, comme moi, vous avez déjà du réaliser des fichiers d’aide, vous êtes surement tombé sur la spécification JavaHelp (version 1.0 et version 2.0). Vous avez probablement immédiatement apprécié son intégration à Swing, son support pour l’internationalisation, l’indexation, la possibilité de réaliser vos fichiers d’aide en pur HTML, de pouvoir fusionner des fichiers d’aide au vol et la possibilité de mise à jour par réseau de ces fichiers.

Et puis, après quelques essais, vous avez déchanté. Vous avez vu à quoi ressemblait un ficher HTML affiché avec JavaHelp et vous avez vraiment hésité avant d’intégrer cette technologie dans votre application. Parce que, il faut vraiment l’admettre, malgré toutes ses promesses, JavaHelp a visuellement l’air coincé dans les années 1990!
Lire la suite