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
, 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.
- Na versão 6, o URI definido por org.eclipse.uml2.UML2Package
era http://www.eclipse.org/uml2/1.0.0/UML.
- Na versão 7, o URI definido por org.eclipse.uml2.uml.UMLPackage é http://www.eclipse.org/uml2/2.0.0/UML.
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
}
});