HCL Commerce Enterprise

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

  1. Ouvrez HCL Commerce Developer.
  2. Créez un fichier de configuration de médiateur d'objet métier, s'il n'y en a pas encore.
    1. Déterminez l'emplacement approprié du fichier de configuration sur lequel opérer, en fonction des critères suivants :
      • Si vous activez un contrôle des modifications pour un nom dans un module de service par défaut de HCL Commerce, cliquez avec le bouton droit de la souris sur le dossier WC\config\com.ibm.commerce.myservicemodulename-ext.
      • Si vous activez un contrôle des modifications pour un nom dans un module de service personnalisé, cliquez avec le bouton droit de la souris sur le dossier WC\config\com.mycompany.commerce.myservicemodulename.
    2. Si wc-business-object-mediator.xml n'existe pas encore dans ce répertoire, sélectionnez Nouveau > Autre > XML > XML > Suivant. Si ce fichier existe déjà, passez à l'étape 4.
    3. Sélectionnez Créer un fichier XML sans aucune base.
    4. Cliquez sur Suivant.
    5. Nom du fichier : wc-business-object-mediator.xml.
    6. Cliquez sur Terminer.
  3. 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.
  4. Créez un élément <_config:mediator> avec className com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl et interfaceName com.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">
    
  5. 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 :
    • HCL Commerce Developerworkspace_dir\wc\xml\content-management\ servicemodulename.resource-managers.xml
    • workspace_dir\WC\xml\content-management\servicemodulename.resource-managers.xml
    • HCL Commerce Developerworkspace_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

L'échantillon suivant montre un fichier de configuration complet contenant des médiateurs de contrôle des modifications pour le nom TutorialStoreType :
<_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>