Ejemplo de comparación - Comparación estructural para pares de clave/valor
Introducción
Este ejemplo muestra cómo dar soporte a la comparación estructural para los
archivos que consisten en pares de clave/valor.
Muestra cómo implementar y registrar un creador de estructuras personalizadas
que analiza pares de clave/valor en una estructura de árbol que se utiliza como
entrada a la infraestructura de comparación estructural proporcionada por el
conector Compare. Además, registra un visor de texto estándar para los pares
individuales de clave/valor.
La finalidad de este ejemplo es únicamente demostrativa. El soporte de
comparación estructural para archivos de propiedades Java (otro formato de
clave/valor) lo proporciona Eclipse Java Tooling.
Ejecución del ejemplo
- Cree un proyecto (no necesariamente tiene que ser un proyecto Java)
- Cree un archivo de pares clave/valor denominado f1.kv
- Abra Ventana > Preferencias >
Entorno de trabajo > Asociación de archivos
y asocie el editor de texto por omisión a la extensión de archivo "kv"
- Abra f1.kv con el editor y escriba el siguiente contenido
lastname=Doe
firstname=John
city=Chicago
state=IL
- Haga una copia de este archivo y cambie su nombre a f2.kv
- Abra f2.kv y cambie el valor de firstname "John" por "Mary"
- Añada otro par de clave/valor, "country=US", a f2.kv
- Seleccione ambos archivos, f1.kv y f2.kv
- En el menú de contexto, seleccione Comparar con >
Entre sí
- Se abre un nuevo editor de comparación que muestra las diferencias
estructurales de ambos archivos en su panel superior.
Al seleccionar una de las propiedades "firstname" o "country" se inserta el
texto del par de clave/valor correspondiente en el visor de comparación de
texto estándar en el panel inferior.
Organización de código del ejemplo
El código de ejemplo está organizado en un solo paquete
org.eclipse.compare.examples.structurecreator:
- KeyValuePairStructureCreator
es el creador de estructura que analiza el contenido de una corriente en un
árbol de IStructureComparators.
- TextMergeViewerCreator
es una fábrica de TextMergeViewers. Está registrado para el tipo "kvtxt",
que es el tipo de un par de clave/valor individual.
- Util
proporciona métodos de utilidad para soporte NLS y para leer InputStream como
una serie.