Vergleichsbeispiel: Strukturvergleich für Schlüssel/Wert-Paare
Einführung
Dieses Beispiel veranschaulicht, wie Sie Strukturvergleiche für Dateien unterstützen können, die aus Schlüssel/Wert-Paaren bestehen.
Es zeigt, wie ein angepasstes Strukturerstellungsprogramm implementiert und registriert wird, das Schlüssel/Wert-Paare in Form einer Baumstruktur syntaktisch analysiert, die als Eingabe für das Strukturvergleichsgerüst verwendet wird, das mit dem Vergleichs-Plug-in bereitgestellt wird.
Außerdem registriert es einen Standardtexteditor für die einzelnen Schlüssel/Wert-Paare.
Das Beispiel ist lediglich zur Veranschaulichung gedacht. Die Strukturvergleichsunterstützung für Java-Eigenschaftsdateien (ein weiteres Schlüssel/Wert-Format) wird durch die Java-Tools von Eclipse bereitgestellt.
Beispiel ausführen
- Erstellen Sie ein Projekt (dies muss nicht unbedingt ein Java-Projekt sein).
- Erstellen Sie eine Schlüssel/Wert-Paar-Datei namens "f1.kv".
- Öffnen Sie Fenster > Benutzervorgaben > Workbench > Dateizuordnung, und ordnen Sie der Dateierweiterung "kv" den Standardtexteditor zu.
- Öffnen Sie die Datei "f1.kv" im Editor, und geben Sie den folgenden Inhalt ein:
lastname=Doe
firstname=John
city=Chicago
state=IL
- Erstellen Sie eine Kopie dieser Datei, und benennen Sie sie mit "f2.kv".
- Öffnen Sie die Datei "f2.kv", und ändern Sie den Wert "John" in "Mary".
- Fügen Sie das Schlüssel/Wert-Paar "country=US" zur Datei "f2.kv" hinzu.
- Wählen Sie beide Dateien aus.
- Wählen Sie im Kontextmenü die Optionen Vergleichen mit > Einander aus.
- Es wird ein neuer Vergleichseditor geöffnet, der die Strukturunterschiede beider Dateien in seinem oberen Teilfenster anzeigt.
Wenn Sie eine der Eigenschaften "firstname" oder "country" auswählen, wird der Text des entsprechenden Schlüssel/Wert-Paares in der Standardanzeigefunktion für Textvergleiche (unteres Teilfenster) angezeigt.
Codeaufbau im Beispiel
Der Beispielcode ist in einem einzelnen Paket org.eclipse.compare.examples.structurecreator enthalten:
- KeyValuePairStructureCreator
ist das Strukturerstellungsprogramm, das den Inhalt eines Datenstroms in eine Baumstruktur mit Objekten
IStructureComparator syntaktisch analysiert.
- TextMergeViewerCreator
ist eine Factory für "TextMergeViewers". Sie wird für den Typ "kvtxt" registriert, der der Typ eines einzelnen Schlüssel/Wert-Paares ist.
- Util
stellt Dienstprogrammmethoden für die Sprachenunterstützung und zum Lesen eines Objekts "InputStream" als Zeichenfolge zur Verfügung.