En esta etapa se continuó con la implementación del sistema, centrándose en la clase Recorder para implementar el tipo de Suscriptor: Registrador. Para esto, se utilizó la estructura de la clase Follower, pero con la modificación de que la salida ahora se graba en formato CSV.
- Constructor en
Recorder. - Método para grabar las posiciones en formato CSV.
- Método
subscribepara que elRecorderpueda recibir notificaciones.
Además, se adaptaron las clases Publisher y Subscriber para trabajar con la nueva funcionalidad de almacenamiento en CSV.
Para esta etapa, ahora se contempla un archivo de configuración. Por defecto, el archivo de configuración para esta etapa es config.txt. y tiene la estructura:
publicador GPS Posiciones suscriptor Registrador MiRegistrador Posiciones trayectoria.txt
Es decir, se menciona un componente de tipo publicador con nombre GPS que publica en el topico Posiciones. Ademas, se menciona un componente de tipo suscriptor de tipo Registrador con nombre MiRegistrador que se suscribe al topico Posiciones y cuyo archivo de salida es trayectoria.txt
Se ha creado un nuevo Makefile para este stage, lo que permite ejecutar el programa con una configuracion predeterminada donde el archivo de configuración se llama config.txt. Para ejecutar el programa, sigue los siguientes pasos:
- Compilación:
- Ejecuta el siguiente comando para compilar el proyecto:
make
- Ejecuta el siguiente comando para compilar el proyecto:
Ejecución:
- Ejecuta el programa con:
make run
- El programa tomará el archivo
config.txtpor defecto y procesará las entradas correctamente.
- Ejecución directa desde consola:
- Primero, compila el código con:
javac *.java - Luego, ejecuta el programa con:
java T1Stage2 config.txt
- El funcionamiento será el mismo que con el Makefile.
- Primero, compila el código con:
- A medida que un publicador, en este caso GPS publique las posiciones mediante entrada de consola, el Registrador almacenará esas posiciones en un formato CSV (Nombre,Topico,CoordenadaX,CoordenadaY), en este caso, en el archivo trayectoria.txt
Para limpiar los archivos generados por la ejecución del programa, ejecuta:
make clean