Esempio di confronto - Confronto strutturale per coppie chiave/valore
Introduzione
Questo esempio mostra le modalità di gestione del confronto strutturale per
file costituiti da coppie chiave/valore. Illustra come implementare e
registrare una creatore di struttura personalizzata che analizzi la coppie
chiave/valore in una struttura ad albero utilizzata come input per il
plug-in di confronto. Inoltre, registra un visualizzatore di testo standard
per le coppie chiave/valore.
Tale esempio vale solo a scopo illustrativo. Il supporto per il
confronto strutturale dei file delle proprietà Java (un altro formato
chiave/valore) è fornito dalla strumentazione Java di Eclipse.
Esecuzione dell'esempio
- Creare un progetto (non necessariamente un progetto Java)
- Creare un file di coppie chiave/valore f1.kv
- Aprire Finestra > Preferenze
> Workbench > Associazioni file
ed associare l'editor di testo predefinito all'estensione file "kv"
- Aprire f1.kv con l'editor ed immettere questo contenuto
lastname=Doe
firstname=John
city=Chicago
state=IL
- Fare una copia di questo file e ridenominarlo f2.kv
- Aprire f2.kv e modificare il valore di firstname da "John" a "Mary"
- Aggiungere un'altra coppia di chiave/valore "country=US" nel file f2.kv
- Selezionare entrambi i file, f1.kv e f2.kv
- Dal menu di scelta rapida selezionare Confronta con >
Tra loro
- Si apre un nuovo editor di confronto che mostra le differenze
strutturali tra i due file nel riquadro superiore. Selezionando
una delle proprietà, ad esempio "firstname" o "country" il testo della
corrispondente coppia di chiave/valore viene posto nel visualizzatore di
confronto testo standard nel riquadro inferiore.
Organizzazione del codice dell'esempio
Il codice di esempio è organizzato nel pacchetto singolo
org.eclipse.compare.examples.structurecreator:
- KeyValuePairStructureCreator
è un creatore di struttura che analizza il contenuto del flusso di dati
in una struttura di più IStructureComparator.
- TextMergeViewerCreator
è il factory per TextMergeViewers. È registrato per il tipo "kvtxt" che è
il tipo di una coppia chiave/valore singola.
- Util
fornisce i metodi di utilità per il supporto NLS e per la lettura di una
InputStream come String.
