Ajout de code Java personnalisé

Vous pouvez mettre en oeuvre la primitive de médiation personnalisée en générant une nouvelle interface et en ajoutant du code Java personnalisé.

  1. Sélectionnez le noeud Personnalisé dans le canevas du flux de demandes pour afficher les propriétés de la primitive dans la vue Propriétés. Cliquez sur l'onglet Détails.
  2. Cliquez sur le bouton Définir... en regard de la zone Opérations de service. L'assistant de définition d'une médiation personnalisée va être lancé.
  3. Dans le panneau Définition d'une médiation personnalisée, conservez l'option Créer une interface avec implémentation par défaut. Cliquez sur Suivant.
    Création d'une interface avec implémentation
  4. Le panneau Spécification des types de message affiche les types de message d'entrée et de sortie permettant de créer la nouvelle interface. Notez que l'objet métier PreferenceInformation défini dans le contexte de corrélation est également affiché dans la section Contextes définis. Remplacez la valeur de la zone Racine du message par /. Cliquez sur Suivant
    Spécification des types de message
  5. Dans le panneau Création d'une interface, redéfinissez la zone Nom sur NewCustomInterface. Cliquez sur Suivant.
    Création d'une interface
  6. Dans le panneau Définition d'une médiation personnalisée, conservez l'option Générer une classe d'implémentation Java par défaut et la définir à l'aide de l'éditeur de fragment visuel intégré par défaut. Cliquez sur Terminer.
    Génération de l'implémentation Java
  7. Notez qu'une nouvelle référence NewCustomInterfacePartner a été créée dans la section des connexions d'opérations. Accédez à la vue Propriétés et cliquez sur l'onglet Implémentation.
  8. Dans l'éditeur de snippets Java, entrez les informations suivantes et sauvegardez les modifications :
// Extraction du symbole du corps du message
String symbol = input1.getString("body/getQuote/symbol");

// Si le symbole se trouve dans la liste des actions privilégiées de l'utilisateur,
affectez la valeur 'true' à l'indicateur isPreferred dans le contexte de corrélation
if (symbol.equals("ibm")) {

// Création de l'objet métier preferenceInformation et affectation de la valeur true à l'indicateur isPreferred
com.ibm.websphere.bo.BOFactory factory = (com.ibm.websphere.bo.BOFactory) new com.ibm.websphere.sca.ServiceManager().locateService("com/ibm/websphere/bo/BOFactory"); 
DataObject preferenceInformation = factory.create("http://CustomMediation", "PreferenceInformation");
preferenceInformation.setBoolean("isPreferred", true);

// Définition de l'objet métier dans le contexte de corrélation
input1.setDataObject("context/correlation", preferenceInformation);

}
// Renvoi de l'objet de données
return input1;

Commentaires
(C) Copyright IBM Corporation 2005. Tous droits réservés.

(C) Copyright IBM Corporation 2005. All Rights Reserved.