Inserindo Atualizações Manuais

As alterações de espaço de nomes e outras alterações da versão 7 podem precisar que sejam feitas atualizações manuais adicionais nos arquivos Java™ e arquivos de dados, como arquivos MANIFEST.MF e plugin.xml.

Referências de Ponto de Extensão

A tabela a seguir relaciona os pontos de extensão públicos disponíveis na versão 6 e os pontos de extensão equivalentes na versão 7. A tabela não relaciona nenhum ponto de extensão novo.
Nota: A documentação em todos os pontos de extensão está disponível na ajuda on-line do produto; clique em Ajuda > Conteúdo da Ajuda, e abra o tópico "Estendendo a funcionalidade do produto Rational".
Ponto de Extensão na Versão 6 Ponto de Extensão na Versão 7
com.ibm.xtools.common.ui.services.properties.propertiesProviders org.eclipse.gmf.runtime.common.ui.services.properties.propertiesProviders
com.ibm.xtools.emf.msl.Pathmaps org.eclipse.gmf.runtime.emf.core.Pathmaps
com.ibm.xtools.emf.validation.constraintProviders org.eclipse.emf.validation.constraintProviders
com.ibm.xtools.presentation.decoratorProviders org.eclipse.gmf.runtime.diagram.ui.decoratorProviders
com.ibm.xtools.presentation.layoutProviders org.eclipse.gmf.runtime.diagram.ui.layoutProviders
com.ibm.xtools.patterns.core.patternProviders com.ibm.xtools.patterns.core.patternProviders
com.ibm.xtools.transform.core.transformationExtensions com.ibm.xtools.transform.core.transformationExtensions
com.ibm.xtools.transform.core.transformationProviders com.ibm.xtools.transform.core.transformationProviders
com.ibm.xtools.uml2.msl.UMLLibraries com.ibm.xtools.uml.msl.UMLLibraries
com.ibm.xtools.uml2.msl.UMLProfiles com.ibm.xtools.uml.msl.UMLProfiles

Metamodelo UML2 e Perfis

Com o novo metamodelo UML2 2.1, o URI do espaço de nomes que define o metamodelo mudou.

Se o código do cliente aplica programaticamente estereótipos de perfis "Básico", "Intermediário" ou "Completo", então uma alteração pode ser necessária. Na versão 7, todos os três perfis eram combinados no perfil "Padrão".

Se o código do cliente importa programaticamente o pacote para a biblioteca de tipos primitivos do UML2 ou o metamodelo UML2, então você deve ficar ciente de que as URIs desses modelos correspondentes alteraram.
  • Na versão 6, o metamodelo e os URIs do modelo de tipo primitivo eram definidos como pathmap://UML2_METAMODELS/UML2.metamodel.uml2 pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2
  • Na versão 7, o metamodelo e os URIs de modelo do tipo primitivo eram definidos como pathmap://UML_METAMODELS/UML.metamodel.uml pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml

Visualização do Explorador do Modelo foi Substituída pela Visualização do Explorador do Projeto

Na versão 6, os produtos de modelagem do Rational, a visualização do Explorador do Modelo era utilizada para procurar conteúdo de um modelo e a visualização do Navegador do Diagrama era utilizada para procurar diagramas de modelo disponíveis, ambos diagramas de modelo UML e específico do domínio (visualizações). Na versão 7, essas duas visualizações foram substituídas pela visualização do Explorador do Projeto, a qual tem por base a visualização do Eclipse. O UML Modeler simplesmente contribui com conteúdo nessa visualização do Explorador do Projeto.
  • Se o código do cliente tivesse uma referência de ID de visualização para a visualização do Explorador de Modelo, por exemplo para incluir um listener de seleção na parte do Explorador de Modelo, o ID da parte do Explorador de Projeto correspondente deve ser utilizado, o org.eclipse.ui.navigator.ProjectExplorer.
  • Se o código do cliente definiu uma extensão de menu pop-up para incluir itens de menu no menu de contexto do Explorador de Modelo, então a nova versão deve utilizar um elemento <objectContribution> que possa ser definido onde o objectClass está especificado como "com.ibm.xtools.uml.navigator.ModelServerElement". Isso corresponde a uma contribuição do UML Modeler ao conteúdo do Explorador de Projeto.
  • Se o código do cliente definiu uma extensão de menu pop-up para incluir itens de menu no menu de contexto a editores de Diagrama, então a nova versão deveria utilizar um elemento <viewerContribution> que possa ser definido no targetID do visualizador que está especificado como "org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu".

Utilizando a Nova Classe de UMLModeler

Se a classe UMLModeler do com.ibm.xtools.modeler.ui é utilizada, então a API de gerenciamento de modelo para leitura e gravação de modelos UML utiliza a nova API transacional (org.eclipse.emf.transaction) em vez da API Xtools MSL reprovada (com.ibm.xtools.emf.msl). Algumas modificações do código manual serão necessárias para que o código do cliente funcione com a API transacional.

A versão de código 6 para leitura de um modelo utilizou a classe ResourceSetReadOperation com um método de execução (IProgressMonitor) que executou a lógica necessária. Com a nova API transacional, o código correspondente para ler um modelo é o seguinte:
TransactionalEditingDomain editDomain = UMLModeler.getEditingDomain();
      editDomain.runExclusive( new Runnable() {
		    public void run() {
			          // código para ler o modelo fica aqui
		    }
      });
A versão de código 6 para modificar um modelo utilizou a classe ResourceSetModifyOperation com um método de execução (IProgressMonitor) que executou a lógica necessária. Com a nova API transacional, o código correspondente para modificar um modelo é o seguinte:
String undoLabel = "Modify Operation";
       TransactionalEditingDomain editDomain = UMLModeler.getEditingDomain();
       editDomain.getCommandStack().execute( 
		     new RecordingCommand(editDomain, undoLabel) {
			          protected void doExecute() {
				                // o código para modificar o modelo fica aqui
			          }
		     });

Feedback