Créer des messages

Si votre commande lance une ECApplicationException qui utilise un nouveau message, vous devez créer ce nouveau message. La création d'un nouveau message implique les étapes suivantes :

Procédure

  1. Création d'une nouvelle classe contenant les clés de message.

    La première étape dans la création de nouveaux messages utilisateur consiste à créer une classe qui contient les nouvelles clés de message. Une clé de message est un indicateur unique utilisé par le service de journalisation pour localiser le texte correspondant dans un paquet de ressources. Cette nouvelle classe doit être créée dans votre propre package et stockée dans le projet WebSphereCommerceServerExtensionsLogic.

    Prenons un exemple, appelé MyNewMessages, dans lequel vous créez une nouvelle classe, appelée MyMessageKeys qui contient les clés de message _ERR_CUSTOMER et _ERR_CUSTOMER_INVALID_ID et mettez cette classe dans le package com.mycompany.messages. Dans ce cas, la définition de classe apparaît comme suit :

    
    public class MyMessageKeys
    {
        public static String _ERR_CUSTOMER="_ERR_CUSTOMER";
        public static String _ERR_CUSTOMER_INVALID_ID="_ERR_CUSTOMER_INVALID_ID";
    }
    

    Fournir des encapsuleurs de chaîne pour les clés de message permet au compilateur de vérifier leur validité.

  2. Création d'une nouvelle classe contenant les objets ECMessage.

    Dans le même package où vous avez créé la classe pour vos clés de message, créez une autre classe qui contient les objets ECMessage. La classe ECMessage définit la structure d'un objet de message. Il est utilisé pour récupérer et persister les messages texte sensibles aux sites.

    L'objet de message contient les attributs suivants : gravité, type, clé, regroupement de ressources et regroupement de ressources associés. Il existe plusieurs méthodes de constructeur pour cette classe.

    Suivant l'exemple MyNewMessages, créez une nouvelle classe appelée MyMessages dans le package com.mycompany.messages, comme suit :

    
    /**
             * An error message that an invalid customer id was specified.
             */
            public static final ECMessage _ERR_CUSTOMER_INVALID_ID = 
                            new ECMessage(WcContentMessageKey._ERR_CUSTOMER_INVALID_ID_REASON_CODE, ECMessageType.USER, 
                            WcContentMessageKey._ERR_CUSTOMER_INVALID_ID, USER_RESOURCE_BUNDLE,
                            ECMessageSeverity.ERR, null, null, null);
    
  3. Création d'un regroupement de ressources

    Vous devez créer un nouveau regroupement de ressources, dans lequel les clés de message avec le texte correspondant sont stockées. Ce regroupement de ressources peut être implémenté soit en tant qu'objet Java, soit en tant que fichier de propriétés. Il est recommandé d'utiliser des fichiers de propriétés, car ils sont plus faciles à traduire et à entretenir. Les fichiers propriétés sont utilisés pour les messages HCL Commerce.

    Pour poursuivre l'exemple MyNewMessages, créez un fichier texte du nom de ecCustomerMessages.properties. Placez les messages dans le répertoire approprié :

    servlet d'un magasin unique
    HCL Commerce Developer workspace_dir\Stores\Web Content\WEB-INF\classes\storeDirstoreDir est le nom du magasin.
    HCL Commerce Accelerator
    HCL Commerce Developer workspace_dir\CommerceAccelerator\Web Content\WEB-INF\classes
    console d'administration
    HCL Commerce Developer workspace_dir\SiteAdministration\Web Content\WEB-INF\classes
    console d'administration d'organisation
    HCL Commerce Developer workspace_dir\OrganizationAdministration\Web Content\WEB-INF\classes
    globalement par n'importe quel servlet dans l'application métier
    HCL Commerce Developerworkspace_dir\WebSphereCommerceServer\properties

    Les répertoires précédents sont spécifiés dans le contexte de l'environnement de développement. Les messages peuvent également se faire dans le projet WebSphereCommerceExtensionLogic.

    Étant donné que le fichier de propriétés contient des paires de clés de message et le texte du message correspondant, le fichier ecCustomerMessages.properties contient les lignes suivantes :

    
    _ERR_CUSTOMER_MESSAGE = The customer message "{0}".
    _ERR_CUSTOMER_INVALID_ID = Invalid ID "{0}".