No editor de teste, os usuários podem configurar a manipulação de erros para um elemento de modelo específico que produz um erro. Por exemplo, se uma instância específica de um ponto de verificação de conteúdo falhar, o usuário poderá alterar o comportamento de manipulação de erros apenas para essa instância do ponto de verificação de conteúdo. Para alterar como os manipuladores de erros de elementos específicos do protocolo são exibidos, você deve saber quais tipos de erros podem ser gerados para o elemento quando testes forem executados.
O SDK do editor de teste fornece classes para a exibição da interface com o usuário de manipulação de erros. A classe com.ibm.rational.test.lt.testeditor.main.exceptions.TestExceptionProducerUI controla a interface com o usuário de manipulação de erros na seção Detalhes da página Avançado. A classe com.ibm.rational.test.lt.testeditor.main.exceptions.DialogExceptionProducerUI controla a interface com o usuário de manipulação de erros nas caixas de diálogo e páginas de propriedades.
O código a seguir é um exemplo da seção Detalhes da página Avançado no editor de teste. No método layoutControls, inclua um código semelhante a estas linhas:
m_exceptionUi = new TestExceptionProducerUI( getTestEditor(), new AuthenticationExceptionCreator()); m_exceptionUi.createErrorProducerContents( getDetails(), getNtlm(), (LoadTestWidgetFactory) getFactory());
A classe AuthenticationExceptionCreator é a mesma classe especificada no arquivo plugin.xml do ponto de extensãoexceptionDefinition. No método refreshControls, inclua um código semelhante a esta linha:
m_exceptionUi.refresh( getNtlm() );
O código a seguir é um exemplo de caixas de diálogos e páginas de propriedades. No método createContents ou createDialogArea, inclua um código semelhante a estas linhas:
m_errorHandling = new DialogExceptionProducerUI( m_page.getEditor(), new PageTitleErrorExceptionCreator()); m_errorHandling.createErrorProducerContents( parent, vp );
No método onCancelPressed, que é chamado quando o usuário clica em Cancelar em uma caixa de diálogo, inclua um código semelhante a esta linha:
m_errorHandling.cleanUp();
Quando o usuário clica em OK em uma caixa de diálogo ou página de propriedades, as mudanças são aplicadas para o objeto CBError imediatamente e, portanto, nenhum código extra é requerido. Quando o usuário clica em Cancelar em uma caixa de diálogo ou página de propriedades, as mudanças devem ser desfeitas usando o método cleanUp.
Para receber notificações quando mudanças são feitas em um objeto CBError, substitua o método updateEditor usando este código:
m_errorHandling = new DialogExceptionProducerUI( TestEditorPlugin.getEditorFor(m_datapool), new EndOfDatapoolExceptionCreator()){ @Override protected void updateEditor() { getButton(OK).setEnabled(true); super.updateEditor(); } }; m_errorHandling.createErrorProducerContents(composite, m_datapool, null );