Exemple de comparaison - Comparaison des structures depaires Clé/Valeur
Introduction
Cet exemple comment gérer les comparaisons structuelles des fichiers constitués de paires de clé/valeur. Il montre comment mettre en oeuvre et enregistrer un créateur personnalisé de structures qui analyse les paires clé/valeur dans une structure arborescente utilisée comme entrée pour la structure de comparaison de structures fournie par le plugin Compare. Il enregistre également un afficheur de texte standard pour les paires individuelles clé/valeur.
Cet exemple est seulement fourni à des fins
de démonstration. La prise en charge de comparaison de structures pour les fichiers de propriétés Java (un autre format de clé/valeur) est fournie par Eclipse Java Tooling.
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
- Ouvrez Fenêtre > Préférences > Workbench > Association de fichiers
et associez l'éditeur de texte par défaut à l'extension de fichier "kv"
- Ouvrez f1.kv avec l'éditeur et saisissez ce contenu
lastname=Doe
firstname=John
city=Chicago
state=IL
- Faites une copie de ce fichier et renommez-le f2.kv
- Ouvrez f2.kv et changer la ligne firstname "John" en "Mary"
- Ajoutez une autre paire de clé/valeur "country=US" au fichier f2.kv
- Sélectionnez les deux fichiers f1.kv et f2.kv
- A partir du menu contextuel, sélectionnez Compare With > Each Other
- Un nouvel éditeur de comparaison s'ouvre pour présenter les différences de structures des deux fichiers dans la fraction supérieure. En sélectionnant une des propriétés "firstname" ou "country", vous chargez le texte de la paire clé/valeur correspondante dans l'afficheur de comparaison de texte standard dans la fraction inférieure.
Organisation du code de l'exemple
Le code exemple est organisé en un seul packageorg.eclipse.compare.examples.structurecreator:
- KeyValuePairStructureCreator
c'est le créateur de structures qui analyse le contenu d'un flux dans une arborescence IStructureComparator.
- TextMergeViewerCreator
c'est une fabrique pour TextMergeViewers. Il est enregistré pour le type "kvtxt", qui est le type de paire individuelle clé/valeur.
- Util
fournit des méthodes utilitaires pour la prise en charge des langues nationales pour la lecture d'un InputStream comme une chaîne.