Configuration de la balise GetData
La balise <wcf:getData>, qui fait partie de la bibliothèque de balises constitutive de HCL Commerce, vous permet d'extraire des objets SDO depuis n'importe quel service HCL Commerce et de les associer ensuite à une nouvelle variable de script déclarée avec un ID donné. L'ID spécifié associe également les objets SDO avec une portée spécifiée. Sauf s'il en est spécifié autrement, l'objet Java créé est une instance de java.util.List qui contient la liste des objets SDO.
La balise getData est configurée par l'action getData de HCL Commerce. Cette action recherche des fichiers intitulés get-data-config.xml dans le répertoire WEB-INF/config. Les fichiers de configuration doivent respecter les règles suivantes :
get-data-configdoit constituer l'élément racine.- Un fichier de configuration doit exister pour chaque composant configuré pour son utilisation avec l'action getData.
- Les fichiers de configuration de composant de base sont censés être situés sous le chemin WEB-INF/config/base/component/get-data-config.xml, où component correspond à un répertoire unique au composant.
- Les extensions client doivent être situées dans WEB-INF/config/ext/.global/get-data-config. Ces extensions sont chargées après les configurations de composant de base.
Tous les chemins dans ce fichier sont relatifs à l'emplacement d'installation de votre application Web (par exemple, le fichier WAR de portlet, MVCPortlet.war).
La modification du fichier get-data-config peut également modifier le comportement de composants métier. Par exemple, le composant Catalog active par défaut la possibilité de recherche par numéro de référence et par nom (avec distinction majuscules/minuscules). Vous pouvez modifier ce comportement de sorte à permettre uniquement la recherche par numéro de référence, ou bien uniquement par nom, pour optimiser les performances des recherches sur le site.
<expression-builder>
<name>findAllCatentriesBasicSearch</name>
<data-type-name>CatalogEntry</data-type-name>
<class>com.ibm.commerce.catalog.internal.client.taglib.util.CatalogSearchExpressionBuilder</class>
<method>formatExpression</method>
<param>
<name>template</name>
<!--
Default config is search the catalog entry by part number or name.
To improve performance, user can comment this <value> section and uncomment one of the following two <value> sections
for searching by part number only or searching by name only.
Note that only one <value> section should be uncommented.
-->
<!-- Search catalog entry by part number or name -->
<value>/CatalogEntry[($catEntryTypes$) and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$partNumber$' or Description/Name='$name$')]</value>
<!-- Search catalog entry by part number only-->
<!--
<value>/CatalogEntry[($catEntryTypes$) and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$partNumber$')]</value>
-->
<!-- Search catalog entry by name only-->
<!--
<value>/CatalogEntry[($catEntryTypes$) and search(Description/Name='$name$')]</value>
-->
</param>
</expression-builder>Elément get-data-config
L'élément get-data-config configure l'action getData HCL Commerce. L'action getData peut extraire les données des services HCL Commerce pour les utiliser sur une page JSP. Vous devez enregistrer les types de données de composant en tant que partie de l'élément get-data-config pour qu'ils puissent être reconnus par l'action getData.
| nom | type | description |
|---|---|---|
| data-type | wcf:data-typeComplexType |
L'élément data-type déclare un type de données pris en charge pour l'action getData. |
| client-facade | wcf:client-facadeComplexType |
L'élément client-facade déclare la façade client du composant qui appelle le service HCL Commerce pour l'extraction des données voulues. |
| expression-builder | wcf:expression-builderComplexType |
L'élément expression-builder déclare les générateurs d'expression. Un générateur d'expression vous libère de la complexité associée à la composition d'une expression de recherche. Vous avez simplement à fournir le nom du générateur d'expression et les valeurs de ses paramètres d'entrée publiés. |
date-typeComplex
| nom | type | description |
|---|---|---|
| nom | xsd:String |
Nom du type de données. Le nom corrèle le type de données avec la générateur d'expression client et les déclarations du générateur d'expression. |
| description | xsd:String |
Description du type de données. |
| type | xsd:String |
Classe Java ou nom d'interface complètement qualifiés du type de données. Pour les composants HCL Commerce, il s'agit du type SDO du nom. |
client-facadeComplexType
| nom | type | description |
|---|---|---|
| data-type-name | xsd:string |
Nom du type de données auquel la définition de la façade client est associée. |
| class | xsd:String |
Nom de classe Java complètement qualifié de la façade client du composant utilisée par l'action getData lorsque des données du type correspondant sont requises. La classe de la façade client doit comporter un constructeur recevant deux paramètres :
'com.ibm.commerce.foundation.common.datatypes.BusinessContextType'. Le gestionnaire de rappel de sécurité est de type |
| method | xsd:String |
Nom de la méthode utilisée dans la classe de la façade client du composant pour extraire les données requises par l'action getData. La méthode accepte une instance de 'com.ibm.commerce.oagis9.datatypes.GetType' et renvoie une instance de ShowXXXDataAreaType pour le nom spécifique requis. |
expression-builderComplexType
| nom | type | description |
|---|---|---|
| nom | xsd:string |
Nom du générateur d'expression. Cette valeur est spécifiée à l'aide de "expressionBuilder" pour extraire les données requises par l'action getData. La méthode doit pouvoir accepter une instance de 'com.ibm.commerce.oagis9.datatypes.GetType' et renvoyer une instance de ShowXXXDataAreaType pour le nom spécifique requis. |
| description | xsd:string |
Description du générateur d'expression. |
| data-type-name | xsd:string |
Nom du type de données auquel sera associé ce générateur d'expression. |
- either
nom type description classe xsd:stringNom de classe Java entièrement qualifié du générateur d'expression. Cette classe doit comporter un constructeur par défaut. méthode xsd:stringNom de méthode du générateur d'expression. Cette méthode doit accepter un java.util.Mapet renvoyer une instance de'com.ibm.commerce.oagis9.datatypes.ExpressionType'. La mappe de paramètres est celle qui met en correspondance les noms de mappes de type chaîne (String) avec les valeurs de type String[]. S'il existe des valeurs de paramètre pour le nom de paramètre, la tableau de chaînes String aura une longueur supérieure à un. - ou
nom type description expression-template xsd:stringModèle d'expression utilisé pour composer l'expression. L'expression peut inclure des paramètres de substitution sous la forme $name$qui seront alors remplacés par des valeurs du paramètre du même nom. Si un nom de paramètre comporte plusieurs valeurs, seule la première valeur sera utilisée.expression-language xsd:stringLangage d'expression du modèle d'expression spécifié. Si cette valeur n'est pas spécifiée, wcf:XPathest utilisé.
| nom | type | description |
|---|---|---|
param |
facultatif | L'élément param est utilisé pour déclarer des paramètres attendus par le générateur d'expression. Si une ou plusieurs valeurs sont spécifiées dans le cadre de la déclaration, ces valeurs sont transmises au générateur d'expression. Si le même nom de paramètre est utilisé dans le codage de la balise getData, les valeurs spécifiées sont utilisées et les déclarations de l'élément param sont alors ignorées. Des noms de paramètres non déclarés peuvent être spécifiés et transmis au générateur d'expression. |
param
| nom | type | description |
|---|---|---|
| nom | xsd:string |
Le nom d'un paramètre attendu par le générateur d'expression. |
| description | xsd:string |
Une description du paramètre. |
| valeur | xsd:string |
Une valeur par défaut du paramètre. |