*Exemple Comparaison - Comparaison structurelle pour les paires clé/valeur
Introduction
Cet exemple montre comment prendre en charge la comparaison structurelle pour les fichiers composés de paires clé/valeur.
Il indique comment implémenter et enregistrer un créateur de structure personnalisé qui analyse
les paires clé/valeur et les organise en une arborescence qui est utilisée en entrée de la structure de comparaison structurelle fournie par le plug-in Comparaison.
Par ailleurs, il enregistre un afficheur de texte standard pour les paires clé/valeur individuelles.
Cet exemple est seulement fourni à des fins
de démonstration. La prise en charge de la comparaison structurelle pour les fichiers de propriétés Java (un autre format
clé/valeur) est assurée par le JDT (Java Development Tooling) de la plateforme Eclipse.
Exécution de l'exemple
- Créez un projet (pas nécessairement un projet Java)
- Créez un fichier de paires clé/valeur f1.kv
- Sélectionnez Fenêtre > Préférences > Plan de travail >
Association de fichiers et associez l'éditeur de texte par défaut à l'extension de fichier "kv"
- Ouvrez f1.kv à l'aide de l'éditeur, puis entrez le contenu suivant
nom=Dupont
prénom=Jean
ville=Troyes
département=Aube
- Faites une copie de ce fichier et renommez-le f2.kv
- Ouvrez f2.kv et modifiez le prénom "Jean" en "Marie"
- Ajoutez une autre paire "pays=FR" à f2.kv
- Sélectionnez les deux fichiers, f1.kv et f2.kv
- Dans le menu contextuel, sélectionnez Comparer à > Réciproquement
- Un nouvel éditeur de comparaison s'ouvre ; sa sous-fenêtre supérieure contient les différences structurelles des deux fichiers.
La sélection de l'une des propriétés "prénom" ou "pays" entraîne l'affichage du texte de la paire clé/valeur correspondante dans l'afficheur de comparaison de texte standard situé dans la sous-fenêtre inférieure.
Organisation du code de l'exemple
Le code de l'exemple est organisé en un seul packageorg.eclipse.compare.examples.structurecreator :
- KeyValuePairStructureCreator
est le créateur de structure qui analyse le contenu d'un flux et l'organise en une arborescence de IStructureComparators.
- TextMergeViewerCreator
est une fabrique pour TextMergeViewers. Il est enregistré pour le type "kvtxt" qui est le type d'une paire clé/valeur individuelle.
- Util
fournit des méthodes d'utilitaire pour le support NLS et pour la lecture d'un InputStream en tant que chaîne.
