Esempio di confronto - Confronto strutturale di coppie chiave/valore
Introduzione
Questo esempio illustra le modalità di supporto del confronto strutturale per i file costituiti da
coppie di chiave/valore. Mostra come implementare e registrare un creatore strutture personalizzato
che analizza le coppie chiave/valore in una struttura ad albero utilizzata come input per il framework
di confronto strutturale fornito dal plugin di confronto. Inoltre, registra un visualizzatore di testo standard
per le singole coppie chiave/valore.
Questo esempio è a solo scopo dimostrativo. Il supporto del confronto strutturale per i file delle
proprietà Java (un altro formato chiave/valore) è fornito dagli strumenti 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 con l'estensione file "kv"
- Aprire f1.kv con l'editor ed immettere il seguente contenuto
lastname=Doe
firstname=John
city=Chicago
state=IL
- Creare una copia del file e rinominarla f2.kv
- Aprire f2.kv e modificare il nome "John" in "Mary"
- Aggiungere un'altra coppia chiave/valore "country=US" a f2.kv
- Selezionare entrambi i file, f1.kv e f2.kv
- Dal menu di scelta rapida selezionare Confronta con > Tra loro
- Viene aperto un nuovo editor di confronto che mostra le differenze di entrambi i file nel riquadro in
alto. Selezionando una delle proprietà "firstname" o "country" il testo della corrispondente coppia
chiave/valore viene mostrato nel visualizzatore di confronto testo standard nel riquadro in basso.
Organizzazione del codice dell'esempio
Il codice dell'esempio viene organizzato in un unico pacchetto
org.eclipse.compare.examples.structurecreator:
- KeyValuePairStructureCreator
é il creatore della struttura che analizza il contenuto di un flusso in una struttura ad albero di IStructureComparator.
- TextMergeViewerCreator
è un factory per TextMergeViewer. È registrato per il tipo "kvtxt" che è il tipo di una singola coppia
chiave/valore.
- Util
fornisce i metodi di utilità per il supporto NLS e per la lettura di un InputStream come
String.