Activation du contrôle des modifications pour un nom
Vous pouvez activer le contrôle des modifications pour un nom en enregistrant un médiateur de contrôle des modifications pour ce nom. Aucun codage Java n'est requis. Le contrôle des modifications utilise une implémentation de médiateur de contrôle des modifications communes qui vous est fournie par défaut. La couche service de données utilise les informations d'enregistrement et le médiateur de contrôle des modifications pour vérifier si l'objet peut être modifié et pour créer des verrous lors de la modification de l'objet.
Procédure
- Ouvrez HCL Commerce Developer.
-
Créez un fichier de configuration de médiateur d'objet métier, s'il n'y en a pas encore.
-
Les médiateurs d'un nom sont définis dans l'élément
<_config:object>pour le nom. Dans les extensions de configuration de médiateur d'objet métier existant, vous devrez remplacer cet élément afin d'ajouter des médiateurs pour le nom. Dans le cas de nombreuses personnalisations, ce fichier (et l'élément<_config:object>approprié) aura déjà été créé pour vous lors de l'exécution de l'assistant couche service de données.A faire : Vous ne devriez jamais modifier les fichiers de configuration par défaut de médiateur d'objet métier HCL Commerce car ces modifications pourraient être écrasées lors de mises à jour de WebSphere Commerce. -
Créez un élément
<_config:mediator>avecclassNamecom.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl etinterfaceNamecom.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeControlBusinessObjectMediator.Par exemple :
<_config:mediator className="com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl" interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeControlBusinessObjectMediator"> -
Créez un ensemble d'éléments
<_config:mediator-property>pour le médiateur de contrôle des modifications, qui indique le conteneur de ressources et l'ID de gestionnaire utilisés pour représenter ce nom. Une explication des valeurs et un exemple des éléments de configuration figurent ci-dessous :- uniqueIDproperty
- Propriété du nom permettant la résolution de l'identificateur. Définissez cette valeur sur StoreIdentifier/UniqueID. Cette valeur est celle de la colonne BOKEY1 dans la table CMMETADATA.
- resourceManagerId et resourceContainerId
- Les gestionnaires et les conteneurs de ressources sont définis au cours des étapes dans Activation de la prise en charge des espaces de travail pour une table personnalisée dans un module de service BOD existant de HCL Commerce. L'ID de conteneur de ressources et l'ID de gestionnaire de ressources doivent être un conteneur ou un gestionnaire de ressources défini pour le module de service, qui se trouve dans l'un des fichiers suivants :
workspace_dir\wc\xml\content-management\ servicemodulename.resource-managers.xml- workspace_dir\WC\xml\content-management\servicemodulename.resource-managers.xml
workspace_dir\wc\xml\content-management\servicemodulename.resource-managers-ext.xml- workspace_dir\WC\xml\content-management\servicemodulename.resource-managers-ext.xml
L'exemple suivant montre un nom enregistré avec une valeur de 10001 pour la valeur du conteneur de ressources et 1 pour la valeur du gestionnaire de ressources.
<_config:mediator className="com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl" interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeControlBusinessObjectMediator"> <_config:mediator-properties> <_config:mediator-property name="uniqueIDProperty" value="StoreIdentifier/UniqueID"/> <_config:mediator-property name="resourceManagerId" value="1"/> <_config:mediator-property name="resourceContainerId" value="10001"/> </_config:mediator-properties> </_config:mediator>
Exemple
<_config:BusinessObjectMediatorConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-business-object-mediator.xsd" xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config">
<_config:object logicalType="com.mycompany.commerce.tutorialstore.facade.datatypes.TutorialStoreType"
physicalType="com.mycompany.commerce.tutorialstore.facade.server.entity.datatypes.Storeent">
<_config:mediator interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ReadBusinessObjectMediator"
className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ReadTutorialStoreMediator">
<_config:part-mediator interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ReadBusinessObjectPartMediator">
<_config:part-mediator-implementation className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ReadTutorialStoreDescriptionMediator"/>
<_config:part-mediator-implementation className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ReadTutorialStoreSupportedLanguagesMediator"/>
<_config:part-mediator-implementation className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ReadTutorialStoreSupportedCurrenciesMediator"/>
</_config:part-mediator>
</_config:mediator>
<_config:mediator interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeBusinessObjectMediator"
className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ChangeTutorialStoreMediator">
<_config:part-mediator interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeBusinessObjectPartMediator">
<_config:part-mediator-implementation className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ChangeTutorialStoreDescriptionMediator"/>
<_config:part-mediator-implementation className="com.mycompany.commerce.tutorialstore.facade.server.services.dataaccess.bom.mediator.ChangeTutorialStoreBasePartMediator"/>
</_config:part-mediator>
</_config:mediator>
<_config:mediator className="com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl"
interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeControlBusinessObjectMediator">
<_config:mediator-properties>
<_config:mediator-property name="uniqueIDProperty" value="StoreIdentifier/UniqueID"/>
<_config:mediator-property name="resourceManagerId" value="1"/>
<_config:mediator-property name="resourceContainerId" value="10001"/>
</_config:mediator-properties>
</_config:mediator>
</_config:object>
</_config:BusinessObjectMediatorConfiguration>