Jusqu'alors, l'API de ressources a été considérée comme le moyen de modifier des ressources situées dans le système de fichiers utilisateur. Il s'agit en effet de la structure de base de l'espace de travail, mais un plug-in peut également ajouter des fonctions pour manipuler des ressources gérées à un autre endroit. Par exemple, les plug-ins de la plate-forme Support d'équipe permettent de travailler avec des ressources sous le contrôle d'un référentiel de versionnage.
L'API de ressource inclut des possibilités qui ont été ajoutées spécifiquement afin de permettre aux plug-ins de prise en charge d'équipe et aux plug-ins qui implémentent des fournisseurs de référentiel d'utiliser la prise en charge d'équipe. Vous découvrirez ci-dessous le mécanisme générique d'enregistrement des points d'ancrage des ressources. Pour plus d'informations sur l'utilisation d'équipe de ces points d'ancrage, reportez-vous à la section Implémentation du fournisseur de référentiel.
Ce type de point d'ancrage permet au plug-in d'équipe et à ses fournisseurs de contrôler l'implémentation des déplacements et des suppressions de ressources. Le point d'ancrage permet également d'empêcher la réalisation de ces opérations Les réalisateurs peuvent fournir d'autres implémentations pour déplacer ou supprimer des fichiers, des dossiers et des projets.
Le plug-in d'équipe utilise le point d'extension org.eclipse.core.resources.moveDeleteHook pour enregistrer son point d'ancrage :
<extension point="org.eclipse.core.resources.moveDeleteHook" id="MoveDeleteHook"> <moveDeleteHook class="org.eclipse.team.internal.core.MoveDeleteManager"/> </extension>
La classe indiquée doit implémenter IMoveDeleteHook, appelé par la plate-forme chaque fois qu'une ressource est déplacée ou supprimée. Le plug-in d'équipe installe un gestionnaire de points d'ancrage de déplacement/suppression pouvant déterminer quel fournisseur d'équipe contrôle une ressource et appeler son point d'ancrage.
Les fournisseurs du référentiel d'équipe peuvent également empêcher ou participer à l'édition et à l'enregistrement d'un fichier. Le plug-in d'équipe effectue cette opération à l'aide du point d'extension org.eclipse.core.resources.fileModificationValidator pour enregistrer un valideur appelé chaque fois qu'une ressource est modifiée.
<extension point="org.eclipse.core.resources.fileModificationValidator" id="FileValidator"> <fileModificationValidator class="org.eclipse.team.internal.core.FileModificationValidatorManager"/> </extension>
La classe indiquée doit implémenter IFileModificationValidator, appelé par la plate-forme chaque fois qu'une ressource est enregistrée ou ouverte. Le plug-in d'équipe installe un gestionnaire de modifications de fichiers pouvant déterminer quel fournisseur d'équipe contrôle une ressource et appeler son valideur.
Les fournisseurs de référentiel ont parfois besoin d'un ancrage dans des opérations d'espace de travail additionnelles afin d'imposer des restrictions supplémentaires ou de personnaliser le comportement de l'espace de travail. Le point d'extension org.eclipse.core.resources.teamHook fournit d'autres fonctions spécifiques pour les fournisseurs d'équipe. En particulier, ce point d'ancrage permet à un fournisseur d'équipe de décider d'autoriser ou non les fichiers et dossiers liés pour un projet donné. Certains systèmes référentiels ont des règles strictes concernant l'organisation physique des projets sur le disque dur et ne peuvent pas traiter des ressources liées à des emplacements arbitraires.
Le point d'ancrage d'équipe permet également à un fournisseur de référentiel de fournir une fabrique de règles de planification qui sera utilisée par toutes les opérations d'espace de travail. Chaque fois qu'est appelée une méthode API qui modifie l'espace de travail d'une manière ou d'une autre, une règle de planification est obtenue par l'espace de travail. Cette règle de planification empêche d'autres unités d'exécution de modifier ces ressources pendant la commande d'appel de la méthode API. Si un fournisseur de référentiel effectue des travaux additionnels dans un fichier, valideur de modification ou déplacement/suppression de point d'ancrage, le fournisseur doit dire à l'espace de travail de quelles règles de planification supplémentaires il aura besoin. Se reporter à la section sur groupage de ressources pour plus de détails sur l'utilisation des règles de planification par l'espace de travail.
La classe fournie pour le point d'ancrage d'équipe doit implémenter TeamHook. Le plug-in d'équipe installe l'unique ancrage d'équipe qui peut déterminer quel fournisseur d'équipe gère une ressource et appelle son point d'ancrage spécifique.
Remarque : Ces trois ancrages d'équipe sont conçus pour être utilisés par le plug-in principal de l'équipe. Ils ne sont pas destinés à une utilisation générale. Les fournisseurs d'équipe ne doivent pas installer le point d'ancrage à l'aide du points d'extension, mais implémenter le point d'ancrage dans leur classe de fournisseur de référentiel. Pour plus d'informations sur l'utilisation de ces points d'ancrage, reportez-vous à la section Points d'ancrage de modification des ressources d'équipe.