Vous pouvez étendre une bibliothèque client existante pour ajouter plus de données à la requête de service en cours, gérer de nouvelles données dans une réponse de service ou ajouter un nouveau comportement en construisant une requête de service entièrement nouvelle.
Procédure
- Démarrez HCL Commerce Developer.
- Identifiez la bibliothèque client à étendre (par exemple, CommonOrderFacadeClient).
- Identifiez le comportement de la bibliothèque client que vous avez l'intention d'ajouter ou de modifier (par exemple, en ajoutant des données supplémentaires à l'élément UserData du nom Order).
- Si l'extension inclut l'ajout de données, identifiez la méthode ObjectName() de génération appropriée à remplacer pour ajouter d'autres données. Étendez la classe et remplacez cette méthode. Par exemple, si vous ajoutez des données de gravure à un ensemble d'éléments de commande, vous ajoutez le code suivant à la méthode
buildOrderItem() :
protected OrderItemType[] buildOrderItem(Map parameters, String
actionName) throws OrderException
{
//Snippet below
for (int i=0; i<orderItems.length; i++) //for all of the order
items
{
OrderItemType orderItem = orderItems[i]; //get a particular
order item
//prepare the userData section
UserDataType userData = orderItem.getUserData();
if (userData == null)
{
userData =
CommerceFoundationFactory.eINSTANCE.createUserDataType();
}
orderItem.setUserData(userData);
Map userDataFields = userData.getUserDataField();
//iterate through all the engraving parameters
Set keys = parameters.keySet();
Iterator it = keys.iterator();
while (it.hasNext())
{
String keyName = (String)it.next();
if (keyName.startsWith(ENGRAVINGKEYNAME))//if it is
an engraving attribute
{
String[] values =
(String[])parameters.get(keyName);
//create a new name, value pair type
userDataFields.put(keyName,values[i]);
}
}
}
}
- Si l'extension inclut l'ajout d'un nouveau comportement, étendez la bibliothèque client et ajoutez une méthode pour créer une nouvelle requête d'objet de données de service qui représente le nouveau comportement.
- Configurez l'infrastructure de présentation pour enregistrer votre bibliothèque client étendue, afin d'autoriser la couche de présentation à utiliser votre bibliothèque étendue au lieu de la valeur par défaut.