2009-04-20 5 views
0

Je commence une amélioration d'une applet Java existante dans laquelle je laisse l'utilisateur cliquer sur un lien dans un élément de menu et ouvrir une page dans son navigateur par défaut. Une partie de notre code déployé est en Java 1.4, tandis que la majorité est en Java 5. Cela m'empêche d'utiliser l'API Desktop en Java 6. Il semble que la façon la plus simple de résoudre le problème est d'intégrer BrowserLauncher2 dans l'application.Remplacement de BrowserLauncher par BrowserLauncher2

Le problème est que le code existant inclut une version antérieure de BrowserLauncher.java (version 1.4b1 (publiée le 20 juin 2001)). Contrairement à l'original, BrowserLauncher2 est plus qu'une seule classe. Il semble avoir une tonne d'améliorations dont j'aimerais profiter.

Je pense que je vais utiliser la version la plus récente pour mes besoins, et il suffit de supprimer les références à l'ancienne version dans le code existant. J'ai une assez bonne suite de tests unitaires existants sur l'ancien code, et j'effectuerai des tests fonctionnels sur le code dans lequel je fais le swap.

Est-ce que quelqu'un qui a déjà fait la mise à niveau des anciennes versions de BrowserLauncher a des conseils sur les pièges potentiels?

Répondre

0

Eh bien, c'est ce que vous obtenez pour poser une question aussi obscure. Au lieu de laisser une question sans réponse abandonnée, je partagerai ce que j'ai appris.

La classe BrowserLauncher de BrowserLauncher2 a désapprouvé l'ancienne méthode openURL statique (String). En outre, alors que l'ancienne méthode lançait une exception IOException, la nouvelle méthode génère un ensemble d'exceptions différent.

Il est donc nécessaire de réécrire vos blocs catch, et c'est probablement une bonne idée de convertir les appels statiques en openURL (String) en appels aux méthodes sur un objet BrowserLauncher réel. Cependant, étant donné les améliorations apportées à BrowserLauncher2, cela en vaut probablement la peine.

Questions connexes