Incluindo Páginas em Configurações de Transformação

Você pode criar páginas customizadas para configurações de transformação. Você pode criar essas páginas para que os usuários possam especificar valores para as propriedades incluídas em uma extensão de transformação. Quando um usuário de transformação cria uma configuração de transformação, para a transformação estendida, as novas páginas são exibidas no editor ou no assistente de configuração de transformação.
Antes de Iniciar

Um autor de transformação deve registrar a transformação de destino no serviço de transformação.A extensão de transformação deve definir as propriedades associadas às novas guias de configuração.

Como o autor de páginas de configuração de transformação customizadas, você deve identificar um projeto no espaço de trabalho que contenha esses artefatos de interface com o usuário.É possível criar um projeto que contenha o código Java™ que implemente as novas páginas, ou é possível definir as páginas em um projeto existente que contenha uma extensão de transformação.
Nota: O exemplo nesse tópico presume que você defina as páginas customizadas em um plug-in diferente da extensão de transformação.
Para obter informações adicionais sobre as classes da interface com o usuário listadas nesse tópico, consulte a seção "UI de Transformação" doRational Transformation Developer Guide.
Nota: Algumas informações, como links para a documentação do Eclipse ou para guias de desenvolvedor, estão disponíveis apenas a partir dos tópicos na ajuda do produto.
Por Que e Quando Desempenhar Esta Tarefa

Para incluir páginas em uma configuração de transformação:

  1. No projeto que você identificou para conter as páginas customizadas, crie as seguintes classes Java:
    • Uma classe que estende a classe com.ibm.xtools.transform.ui.AbstractExtensionGUI
    • Para cada página com a qual você contribui para a configuração de transformação, uma classe que estende a classe com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab
  2. Alterne para a perspectiva Java: Clique em Janela > Abrir Perspectiva > Java.
  3. Na visualização Package Explorer, dê um clique duplo na classe Java que você criou na etapa 1, que estende a classe com.ibm.xtools.transform.ui.AbstractExtensionGUI class.
  4. No editor de arquivo Java, especifique o código Java para substituir o método nomeado getConfigurationTabs(ITransformationDescriptor descriptor, ITransformExtension extension). Esse método retorna a lista de páginas para exibir no editor de configuração de transformação ou assistente. É possível usar o seguinte fragmento de código como um exemplo:
    public AbstractTransformExtensionConfigTab[] getConfigurationTabs(
    			ITransformationDescriptor descriptor, ITransformExtension extension ) {
    
    		AbstractTransformExtensionConfigTab[] superTabs =
    			super.getConfigurationTabs(descriptor, extension);
    		
    		AbstractTransformExtensionConfigTab[] myTabs =
    			new AbstractTransformExtensionConfigTab[superTabs.length + 1];
    		
    		for (int i = 0; i < superTabs.length; i++) {
    			myTabs[i] = superTabs[i];
    		}
    		
    		myTabs[myTabs.length - 1] = new MyTab(descriptor, "My tab ID", "My tab label", extension);
    		return myTabs;
    	}
  5. Para cada classe que você criou na etapa 1 que estende a classe com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab, implemente os métodos herdados nomeados populateContext, populateTab, e createContents, como no exemplo a seguir:
    public Control createContents(Composite parent) {
    		Composite contents = new Composite(parent, SWT.None);
    		contents.setLayout(new GridLayout());
    		text = new Text(contents, SWT.None);
    		text.addModifyListener(new ModifyListener() {
    			public void modifyText(ModifyEvent e) {
    				setDirty();
    			}
    		});
    		
    		return contents;
    	}
    
    	public void populateContext(ITransformContext context) {
    		context.setPropertyValue("MyPropertyId", text.getText());
    	}
    
    	public void populateTab(ITransformContext context) {
    		String newText = (String) context.getPropertyValue("MyPropertyId");
    		if (newText == null) {
    			newText = "";
    		}
    
    		text.setText(newText);
    	}
  6. Clique em Arquivo > Salvar; e depois reconstrua o projeto.
  7. Abra a perspectiva Desenvolvimento de Plug-ins: Clique em Janela > Abrir Perspectiva > Outro > Desenvolvimento de Plug-ins.
  8. Na visualização Package Explorer, expanda o nome do projeto que contém a extensão da transformação para a qual você está criando as páginas customizadas.
  9. Na pasta META-INF do projeto que contém a extensão da transformação, clique no elemento TransformationExtension ao qual incluir as páginas customizadas.
  10. Na página Extensões, na seção Todas Extensões, clique no elemento TransformationExtension ao qual incluir as páginas customizadas.
  11. Na seção Detalhes do Elemento de Extensão, no campo extensionGUI, especifique o identificador de plug-in (ID) e o nome do pacote e classe Java que você criou na etapa 1, que substitui o método getConfigurationTabs(ITransformationDescriptor descriptor, ITransformExtension extension). Se a class que estende a classe com.ibm.xtools.transform.ui.AbstractExtensionGUI estiver localizada no mesmo plug-in da extensão de transformação, não especifique o ID de plug-in. Um parâmetro nomeado extensionGUI é incluído no arquivo MANIFEST.MF, como no seguinte exemplo:
    <TransformationExtension
    	enabled="true"
    	extensionGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"
    	id="MyTransformation.TransformationExtension"
    	readonly="false"
    	targetTransformation="com.target.transformation/transformation1"
    	version="1.0.0">
    </TransformationExtension>
  12. Clique em Arquivo > Salvar.
Resultados
Para testar as páginas customizadas, inicie um ambiente de trabalho de tempo de execução e crie uma configuração de transformação para a transformação estendida.O editor de configuração de transformação e o assistente exibem as páginas que estão na lista que o método getConfigurationTabs retorna.

Feedback