Habitualmente, el primer paso para construir la UI de un equipo consiste en implementar la página de un asistente que permita a los usuarios configurar un proyecto para el soporte de equipo del conector. En ella es donde el ID del proveedor del equipo se añadirá a las propiedades del proyecto. Participará en la configuración del proyecto contribuyendo en el punto de extensión org.eclipse.team.ui.configurationWizards. Este asistente se muestra cuando el usuario elige las opciones Equipo->Compartir proyecto...
Todo esto lo veremos en el contexto de la implementación del cliente CVS. A continuación figuran los códigos XML del asistente de configuración procedentes de la UI de CVS:
<extension point="org.eclipse.team.ui.configurationWizards"> <wizard name="%SharingWizard.name" icon="icons/full/wizards/newconnect_wiz.gif" class="org.eclipse.team.internal.ccvs.ui.wizards.SharingWizard" id="org.eclipse.team.ccvs.ui.SharingWizard"> </wizard> </extension>
Como de costumbre, los conectores suministran una clase (atributo class) que implementa la extensión, y un id exclusivo que identifica la extensión. El nombre y el icono (atributos name e icon) se muestran en la primera página del asistente de configuración del proyecto, por si se puede elegir de entre múltiples proveedores.
Una vez que el usuario haya seleccionado un proveedor, la página siguiente muestra información del proveedor específica de la configuración. (Si su proveedor es el único conector de proveedor de equipo instalado, el asistente pasa directamente a su página). El asistente debe implementar la interfaz IConfigurationWizard, que inicializa el asistente para un entorno de trabajo y un proyecto especificados. El resto de la implementación depende del diseño del asistente. Deberá reunir toda la información que se necesite para asociar el proyecto al soporte del equipo.
Una vez completado el asistente, debe correlacionar el proveedor del equipo con el proyecto utilizando el método RepositoryProvider.map(IProject, String). La correlación maneja el proceso de asignar a su proyecto la propiedad persistente del proyecto correcto.
El cliente CVS realiza este proceso en el método setSharing del correspondiente proveedor, método al que se llama en el momento de finalizar el asistente:
public void setSharing(IProject project, FolderSyncInfo info, IProgressMonitor monitor) throws TeamException { // Asegurarse de que la información proporcionada coincide con la del proyecto ... // Asegurarse de que la ubicación proporcionada está gestionada ... // Registrar el proyecto en el equipo RepositoryProvider.map(project, CVSProviderPlugin.getTypeId()); }