Você pode customizar as ligações existentes ou criar ligações que a transformação UML em WSDL utiliza para gerar artefatos WSDL.
Antes de Iniciar
O procedimento a seguir presume que você
saiba como criar, testar e distribuir plug-ins e que esteja familiarizado
com o Eclipse Plug-in Development Environment (PDE).
Você
deve estar na perspectiva Modelagem.
Por Que e Quando Desempenhar Esta Tarefa
Para criar uma ligação customizada:
- Crie um projeto de plug-in no espaço de trabalho do
Eclipse. Esse projeto de plug-in conterá a implementação da ligação
customizada.
- No arquivo plugin.xml do plug-in,
crie o seguinte ponto de extensão:
<extension point="com.ibm.xtools.transform.core.transformationExtensions"></extension>
- No ponto de extensão, crie
um elemento TransformationExtension que contenha as seguintes informações:
<TransformationExtension version="7.0.0"
name="Extensão de ligação MY-NEW-BINDING"
enabled="true"
targetTransformation="com.ibm.xtools.transform.uml2.wsdl.internal.Uml2WsdlTransform.RS"
id="com.ibm.xtools.transform.uml2.wsdl.extension.MY-NEW-BINDING">
- No elemento TransformationExtension,
crie uma propriedade que contenha as seguintes informações:
<Property
id="com.ibm.xtools.transform.uml2.wsdl.bindings.MY-NEW-BINDING"
metatype="string"
name="com.ibm.xtools.transform.uml2.wsdl.bindings"
readonly="true"
value="MY-NEW-BINDING"/>
- Na propriedade que você criou
na etapa anterior, defina as seguintes regras:
<RuleDefinition
class="org.someuri.MyAddressExtensionRule"
id="MyAddressExtensionRule"
name="MyAddressExtensionRule"/>
<RuleDefinition
class="org.someuri.MyBindingExtensionRule"
id="MyBindingExtensionRule"
name="MyBindingExtensionRule"/>
<RuleDefinition
class="org.someuri.MyBindingOperationExtensionRule"
id="MyBindingOperationExtensionRule"
name="MyBindingOperationExtensionRule"/>
- No elemento TransformationExtension,
crie os seguintes elementos ExtendTransform:
<ExtendTransform
targetTransform="AddressExtensionTransform">
<AddRule id="MyAddressExtensionRule"/>
</ExtendTransform>
<ExtendTransform
targetTransform="BindingExtensionTransform">
<AddRule id="MyBindingExtensionRule"/>
</ExtendTransform>
<ExtendTransform
targetTransform="BindingOperationExtensionTransform">
<AddRule id="MyBindingOperationExtensionRule"/>
</ExtendTransform>
- Clique em . Na próxima vez em que você abrir o
arquivo de configuração de transformação, a página Propriedades do
editor de Configuração de Transformação exibirá a propriedade
criada nas etapas 4 e 5.
- Para cada classe definida
na etapa 5, crie
a classe Java™ correspondente no plug-in que você criar na etapa 1. As classes Java
criadas devem estender as classes abstratas correspondentes e implementar
os métodos abstratos correspondentes no plug-in
com.ibm.xtools.transforms.uml2.wsdl.utility.
Considere o seguinte exemplo:
- A classe org.someuri.MyAddressExtensionRule definida na etapa 5 deve estender a classe AbstractExtensionRule
no plug-in com.ibm.xtools.transforms.uml2.wsdl.utility.
- A org.someuri.MyBindingExtensionRule definida na etapa 5 deve
estender o método AbstractBindingExtensionRule.
- A classe org.someuri.MyBindingOperationExtensionRule definida
na etapa 5 deve
estender o método AbstractOperationExtensionRule.
Resultados
Na próxima vez em que você abrir o arquivo de
configuração de transformação, a página
Opções da WSDL exibirá a
nova ligação. Agora você poderá especificar que a transformação UML-para-WSDL utilizará essa
ligação customizada.