Dans l'éditeur de test, l'utilisateur peut configurer le traitement d'erreurs appliqué à un élément de modèle spécifique produisant une erreur. Par exemple, en cas d'échec d'une instance spécifique d'un point de vérification de contenu, l'utilisateur peut changer le comportement de traitement d'erreurs pour cette seule instance du point de vérification de contenu. Pour agir sur le mode d'affichage des gestionnaires d'erreurs associés à des éléments spécifiques du protocole, vous devez savoir quels types d'erreur sont susceptibles d'être générés pour ces éléments lors de l'exécution des tests.
Le SDK de l'éditeur de test fournit des classes pour l'affichage de l'interface utilisateur du traitement d'erreurs. La classe com.ibm.rational.test.lt.testeditor.main.exceptions.TestExceptionProducerUI contrôle l'interface utilisateur de traitement d'erreurs dans la section Détails de la page Options avancées. La classe com.ibm.rational.test.lt.testeditor.main.exceptions.DialogExceptionProducerUI contrôle l'interface utilisateur de traitement d'erreurs dans les boîtes de dialogue et les pages de propriétés.
Le code suivant est un exemple pour la section Détails de la page Options avancées de l'éditeur de test. Dans la méthode layoutControls, ajoutez un code similaire aux lignes suivantes :
m_exceptionUi = new TestExceptionProducerUI(
getTestEditor(),
new AuthenticationExceptionCreator());
m_exceptionUi.createErrorProducerContents(
getDetails(),
getNtlm(),
(LoadTestWidgetFactory) getFactory());
La classe AuthenticationExceptionCreator est la même que celle qui est spécifiée dans le fichier plugin.xml du point d'extension exceptionDefinition. Dans la méthode refreshControls, ajoutez un code similaire au suivant :
m_exceptionUi.refresh( getNtlm() );
Le code suivant est un exemple pour les boîtes de dialogue et les pages de propriétés. Dans la méthode createContents ou la méthode createDialogArea, ajoutez un code similaire aux lignes suivantes :
m_errorHandling = new DialogExceptionProducerUI(
m_page.getEditor(),
new PageTitleErrorExceptionCreator());
m_errorHandling.createErrorProducerContents( parent, vp );
Dans la méthode onCancelPressed, qui est appelée lorsque l'utilisateur clique sur Annuler dans une boîte de dialogue, ajoutez un code similaire au suivant :
m_errorHandling.cleanUp();
Lorsque l'utilisateur clique sur OK dans une boîte de dialogue ou une page de propriétés, les changements sont appliqués immédiatement à l'objet CBError. Aucun code supplémentaire n'est donc nécessaire. Lorsque l'utilisateur clique sur Annuler dans une boîte de dialogue ou une page de propriétés, les changements doivent être annulés à l'aide de la méthode cleanUp.
Pour que des notifications soient reçues en cas de changement dans un objet CBError, redéfinissez la méthode updateEditor avec le code suivant :
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 );