Configurando um Projeto

Normalmente, a primeira etapa na construção de uma UI de equipe é implementar uma página de assistente que permite aos usuários configurar um projeto para o suporte de equipe de seu plug-in.  Esse é o lugar onde o ID do provedor de equipe será adicionado às propriedades do projeto.  Você participa na configuração do projeto pela contribuição ao ponto de extensão org.eclipse.team.ui.configurationWizards.  Esse assistente é mostrado quando o usuário escolhe Equipe->Compartilhar Projeto...

Examinaremos isso no contexto da implementação do cliente CVS.  A seguir, a marcação da UI do CVS para seu assistente de configuração:

<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 costume, os plug-ins fornecem uma classe que implementa a extensão e um ID exclusivo para identificar sua extensão.  O nome e o ícone são mostrados na primeira página do assistente de configuração do projeto se houver vários provedores entre os quais escolher.

Depois que o usuário seleciona um provedor, a página seguinte mostra as informações de configuração específicas de seu provedor.  (Se seu provedor for o único plug-in de provedor de equipe instalado, o assistente irá diretamente para sua página.)  Seu assistente deve implementar IConfigurationWizard, que inicializa o assistente para um workbench e projeto especificados.  O restante da implementação depende do design de seu assistente.  Você deve reunir todas as informações necessárias para associar o projeto a seu suporte de equipe.  

Quando o assistente for concluído, será necessário mapear o provedor da equipe para o projeto utilizando RepositoryProvider.map(IProject, String).  O mapeamento trata da atribuição da propriedade persistente correta do seu projeto.

O cliente CVS realiza esse trabalho no método setSharing de seu provedor, que é chamado quando o assistente é concluído:

public void setSharing(IProject project, FolderSyncInfo info, IProgressMonitor monitor) throws TeamException {
	
	// Assegure que as informações fornecidas correspondam às do projeto
	...		
	// Assegure que a localização fornecida seja gerenciada
	...		
	// Registre o projeto com a Equipe
	RepositoryProvider.map(project, CVSProviderPlugin.getTypeId());
}

 

Copyright IBM Corporation e outros 2000, 2003.