Ganchos de modificación de recursos
La mayoría de las funciones interesantes asociadas a un proveedor de
depósitos se producen cuando el usuario trabaja con los recursos del proyecto
que está configurado para el proveedor. Para estar enterado de los
cambios que el usuario realiza en un recurso, el proveedor puede implementar
ganchos de modificación de recursos. El
conector de recursos proporciona estos ganchos en forma de puntos de
extensión. Los detalles de cómo se implementan los ganchos están en la
documentación de
IMoveDeleteHook
y
IFileModificationValidator.
El conector del equipo optimiza y simplifica la asociación entre el gancho y
los recursos apropiados a base de registrar ganchos genéricos en el conector de
recursos. Los ganchos genéricos no hacen otra cosa que buscar un
determinado recurso en el proveedor de depósitos y obtener el gancho del
recurso. La ventaja de este procedimiento es que únicamente se llama al
gancho de un solo proveedor, en vez de hacer que cada implementación de
proveedor registre un gancho que primero deba comprobar si el proveedor
gestiona el recurso.
Lo que esto supone para su conector es que usted proporciona los ganchos necesarios
alterando temporalmente los métodos de la clase
RepositoryProvider.
La implementación por omisión de estos métodos devuelve el valor null, lo que indica
que no hace falta ningún gancho.
- getMoveDeleteHook: este método devuelve una interfaz
IMoveDeleteHook
apropiada para el proveedor. Este gancho permite a los proveedores
controlar cómo se producen los movimientos y las supresiones, y tiene
capacidad para impedir que se produzcan estas operaciones. Los
implementadores pueden proporcionar implementaciones alternativas para mover o
suprimir archivos, carpetas y proyectos. El cliente CVS utiliza este
gancho para supervisar las supresiones de las carpetas y asegurar que se recuerden
los archivos que podía haber en las carpetas suprimidas para así poderlos
suprimir más adelante del depósito si conviene.
- getFileModificationValidator: este método devuelve una interfaz
IFileModificationValidator
apropiada para el proveedor. Este gancho permite a los proveedores
precomprobar las modificaciones o los guardados que se realicen en los
archivos. Normalmente, este gancho se necesita cuando un proveedor de
depósitos quiere implementar la creación de versiones pesimista.
En la creación de versiones pesimista, hay que reservar un archivo antes de
modificarlo, y además solo puede haber un cliente que reserve un archivo en un
momento dado. La creación de versiones pesimista se implementa reservando
un archivo (si todavía no está reservado) siempre que se vaya a editar, y
luego reincorporando el archivo cuando se guarde. Como CVS emplea un esquema de
creación de versiones optimista, este gancho no está implementado en él.
