Sammenlikningseksempel - Strukturell sammenlikning for nøkkel/verdi-par
Innledning
Dette eksempelet viser hvordan du støtter strukturell sammenlikning for filer som består av nøkkel/verdi-par. Det
viser hvordan du implementerer og registrerer en tilpasset strukturoppretter som analyserer nøkkel/verdi-par i en
trestruktur som blir brukt som inndata i rammeverket for strukturell sammenlikning som følger med plugin-modulen
for sammenlikning. I tillegg registrerer det et standard tekstvisningsprogram for de enkelte nøkkel/verdi-parene.
Dette eksempelet er bare ment som en demonstrasjon. Støtte for strukturell sammenlikning av Java-egenskapsfiler
(et annet nøkkel/verdi-format) leveres av Java-verktøy for Eclipse.
Kjøre eksempelet
- Opprett et prosjekt (ikke nødvendigvis et Java-prosjekt)
- Opprett en fil for nøkkel/verdi-par, f1.kv
- Åpne Vindu > Preferanser > Arbeidsbenk >
Filtilknytninger og knytt standard tekstredigeringsprogram til filtypen "kv"
- Åpne f1.kv med redigeringsprogrammet og oppgi dette innholdet
lastname=Doe
firstname=John
city=Chicago
state=IL
- Opprett en kopi av denne filen og gi den navnet f2.kv
- Åpne f2.kv og endre fornavnet fra "John" til "Mary"
- Legg til et annet nøkkel/verdi-par, "country=US", til f2.kv
- Velg både filen f1.kv og f2.kv
- Fra hurtigmenyen velger du Sammenlikn med > Hverandre
- Et nytt redigeringsprogram for sammenlikninger åpnes og viser de strukturelle forskjellene for begge filene i
den øverste ruten. Hvis du velger en av egenskapene "firstname" eller "country", mates teksten i det tilsvarende
nøkkel/verdi-paret inn i standardvisningsprogrammet for tekstsammenlikning i den nederste ruten.
Kodeorganisering i eksempelet
Eksempelkoden er organisert i en enkelt pakke org.eclipse.compare.examples.structurecreator:
- KeyValuePairStructureCreator
er strukturoppretteren som analyserer innholdet i en datastrøm inn i et tre med
flere IStructureComparator.
- TextMergeViewerCreator
er en factory for TextMergeViewers. Den er registrert for typen "kvtxt", som er typen for et enkelt
nøkkel/verdi-par.
- Util
har funksjonsmetoder for NLS-støtte og for å lese en InputStream som en streng.