Configuration de la recherche paramétrique pour la recherche sur des données personnalisées
Pour pouvoir utiliser de nouvelles propriétés en tant que conditions de recherche dans un modèle de requête, vous devez configurer la recherche paramétrique pour définir le mappage de chemin d'accès aux objets afin que la requête puisse identifier la colonne correspondante dans la table de base de données :
Pourquoi et quand exécuter cette tâche
Le fichier de configuration de composant, wc-component.xml, comporte une section pour la couche service de données. Celle-ci peut être divisée en trois sous-sections principales :
- Informations de médiateur de données
- Informations de contexte
- Informations de mappage d'attributs
Procédure
- Ouvrez HCL Commerce Developer.
-
Si vous ne l'avez pas encore fait, créez le fichier de configuration de composant. Lorsque vous créez un module de service personnalisé, ce fichier est généré automatiquement et vous pouvez ignorer cette étape. Toutefois, pour les modèles de service HCL Commerce par défaut, vous ne devez pas modifier directement le fichier par défaut wc.component.xml.
-
Ouvrez le fichier de configuration de composant dans un éditeur de texte ou XML :
- Pour les modules de service personnalisés, ouvrez workspace_dir/WC/xml/config/servicemodulename/wc-component.xml
- Pour les modules de service HCL Commerce par défaut, ouvrez workspace_dir/WC/xml/config/servicemodulename-ext/wc-component.xml
-
Ajoutez des mappages de chemin d'accès aux objets pour vos données personnalisées. L'exemple suivant montre une table associée, XWARRANTY, définie comme associée à la table CATENTRY. Deux colonnes, WARTERM et WARTYPE, sont mappées à la zone UserData, comme
UserData/UserDataField/WartermetUserData/UserDataField/Wartype<_config:dataservice dataMediatorType="JDBC" metadataClass="com.mycompany.commerce.catalog.facade.server.metadata.MyCompanyMetaData"> <_config:mapping> <_config:key name="CatalogEntry" /> <_config:basetable name="CATENTRY" useAllColumns="false"> <_config:associatedtable name="XWARRANTY" useAllColumns="false"> <_config:columns name="WARTERM" propertyName="UserData/UserDataField/Warterm" caseSensitive="false" /> <_config:columns name="WARTYPE" propertyName="UserData/UserDataField/Wartype" caseSensitive="false" /> </_config:associatedtable> </_config:basetable> </_config:mapping> </_config:dataservice> -
Enregistrez et fermez le fichier. L'exemple suivant est un échantillon du fichier wc-component.xml complet :
<?xml version="1.0" encoding="UTF-8"?> <_config:DevelopmentComponentConfiguration xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-component.xsd "> <_config:dataservice dataMediatorType="JDBC" metadataClass="com.mycompany.commerce.catalog.facade.server.metadata.MyCompanyMetaData"> <_config:mapping> <_config:key name="CatalogEntry" /> <_config:basetable name="CATENTRY" useAllColumns="false"> <_config:associatedtable name="XWARRANTY" useAllColumns="false"> <_config:columns name="WARTERM" propertyName="UserData/UserDataField/Warterm" caseSensitive="false" /> <_config:columns name="WARTYPE" propertyName="UserData/UserDataField/Wartype" caseSensitive="false" /> </_config:associatedtable> </_config:basetable> </_config:mapping> </_config:dataservice> </_config:DevelopmentComponentConfiguration>