Ejemplo de comparación - Comparación estructural de pares clave/valor
Introducción
Este ejemplo muestra cómo dar soporte a la comparación estructural de los archivos que constan de pares clave/valor. Muestra cómo implementar y registrar un creador de estructuras personalizadas que analiza los pares clave/valor en una estructura de árbol utilizada como entrada de la infraestructura de comparación estructural suministrada por el conector de comparación (Compare). Además, registra un visor de texto estándar para los pares clave/valor individuales.
La finalidad de este ejemplo es únicamente demostrativa. Las herramientas Java de Eclipse suministran soporte de comparación estructural para los archivos de propiedades Java (otro formato clave/valor).
Ejecución del ejemplo
- Cree un proyecto (no necesariamente un proyecto Java)
- Cree el archivo de pares clave/valor f1.kv
- Abra Ventana > Preferencias > Entorno de trabajo > Asociación de archivo
y asocie el editor de texto por omisión con la extensión de archivo "kv"
- Abra f1.kv con el editor y especifique este contenido
lastname=Doe
firstname=John
city=Chicago
state=IL
- Haga una copia de este archivo y redenomínelo f2.kv
- Abra f2.kv y cambie el nombre de pila (firstname) "John" por "Mary"
- Añada otro par 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 el panel superior. Al seleccionar una de las propiedades "firstname" o
"country", el texto del par clave/valor correspondiente aparece en el visor de comparación de texto estándar del panel inferior.
Organización del 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 estructuras que analiza el contenido de una corriente en un árbol de elementos IStructureComparator.
- TextMergeViewerCreator
es una fábrica de TextMergeViewers. Se registra para el tipo "kvtxt", que es el tipo de un par clave/valor individual.
- Util
proporciona los métodos de utilidad para el soporte NLS y para leer una corriente de entrada (InputStream) como serie (String).
