Table of Contents

Concurrencia entre Diagramas

Con esta implementación se van a contemplar dos formas distintas de trabajar con un diagrama, una es el modo ‘editing’ y otra el modo ‘reading’.

MODO ‘EDITING’

Este modo permitirá editar y salvar el diagrama como hemos estado haciendo hasta ahora. La probeta que aparece en la pestaña de modeling cuando entras por primera vez en la tabla de diagramas se verá cambiada por lápiz en este modo, para indicar que se está editando.

MODO ‘READING’

La probeta que aparece en la pestaña de modeling cuando entras por primera vez en la tabla de diagramas se verá cambiada por ojo en este modo, (por defecto aparecerá siempre el ojo) para indicar que se está editando por otro usuario.




Se van a bloquear los botones:

El resto de las herramientas van a estar desbloqueadas.

Con la herramienta: ‘launch validation’, hay un cambio de funcionamiento, estará desbloqueada en los dos modos, pero en el modo ‘reading’ solo enviará el diagrama al ejecutor y en el modo ‘editing’ funcionará como hasta ahora, salvará el diagrama y enviará el diagrama al ejecutor.

COMO SE CIERRA UN DIAGRAMA

Cuando con un diagrama que está abierto en modo ‘editing’ su estado is_open pasa a false cuando:

IMPLEMENTACIÓN

¿Desde donde se puede abrir un diagrama?

¿Qué se puede hacer en el canvas cuando estemos en modo READING?

¿Como pasamos un diagrama al estado EDITING?

Sobre el diagrama, en la barra de iconos roja hay un candado. Ese candado estará cerrado si estamos en modo CLOSE o READING. Solo se podrá abrir si estamos en modo READING. Al abrirlo pasa al estado EDITING. Pero solo se podrá si el diagrama que tenemos abierto no está siendo editado por otra persona o si el que lo estaba editando era el mimo usuario que intenta desbloquearlo. Si al desbloquearlo ya está siendo editado por otra persona se muestra una ventana modal con los datos de ese usuario.

También podemos pasar el diagrama a modo Editing con el atajo de teclado: “Alt+9”

¿Cuándo se libera un diagrama que esa siendo editado para que pueda editarlo otra persona?

Liberar un diagrama quiere decir que ya no lo estamos utilizando, se considera que dejamos de utilizar un recurso cuando:

¿Cuándo se liberan todos los recursos que tenía abiertos un mismo usuario?

Cuando hacemos logout desde el propio botón de la aplicación ó cuando cerramos el navegador (30 minutos después al caducar la sesión) se cerrarán todos los recursos que el usuario tenía abiertos.

¿Caso particular del botón ‘Lanzar validación’?

El botón ‘Lanzar validación’ estará desbloqueado en el estado EDITING y en el estado READING, pero según el estado cambia su comportamiento. En el estado EDITING salva el diagrama y envía el diagrama al ejecutor; en el estado READING solo envía el diagrama al ejecutor.

¿Caso particular del botón ‘exportar diagrama’?

Recordar que el botón de exportar diagrama solo estaba desbloqueado en los estados READING y EDITING, pero en el caso del estado EDITING solo estará desbloqueado si el diagrama tiene salvados todos los cambios.

Comprobación al salvar un diagrama.

Al salvar un diagrama se comprueba si el usuario que intenta salvarlo coincide con el que está editándolo en ese momento. Si por alguna inconsistencia no es él el que lo está editando se avisa con el siguiente mensaje: “Current diagram cannot be save because current user has not permission. Reload the diagram and try to save it again.” En el caso de que sea porque lo está editando otra persona distinta al que lo está editando se indicara el nombre e id de ese usuario.