HCL Commerce Enterprise

Habilitar el control de cambios para un nombre

Puede habilitar el control de cambios para un nombre registrando un mediador de control de cambios para el nombre. No se requiere codificación Java. Todo el control de cambios utiliza una implementación de mediador de control de cambios común que se proporciona de forma predeterminada. La capa de servicios de datos utiliza la información de registro y el mediador de control de cambios para validar si se puede modificar el objeto, y para crear bloqueos cuando se modifica el objeto.

Procedimiento

  1. Abra HCL Commerce Developer.
  2. Cree un archivo de configuración de mediador de objetos de negocio, si aún no existe uno:
    1. Determine la ubicación correcta del archivo de configuración con el que desea trabajar, basándose en los criterios siguientes:
      • Si habilita un control de cambios para una parte de nombre que forma parte de un módulo de servicio de HCL Commerce predeterminado, Haga clic en el botón derecho del ratón en la carpeta WC\config\com.ibm.commerce.myservicemodulename-ext.
      • Si habilita un control de cambios para una parte de nombre que forma parte de un módulo de servicio personalizado, Haga clic en el botón derecho del ratón en la carpeta WC\config\com.mycompany.commerce.myservicemodulename.
    2. Si wc-business-object-mediator.xml no existe en ese directorio, seleccione Nuevo > Otros > XML > XML > Siguiente. Si el archivo ya existe, continúe con el paso 4.
    3. Seleccione Crear un archivo XML desde cero.
    4. Haga clic en Siguiente.
    5. Llame al archivo: wc-business-object-mediator.xml.
    6. Haga clic en Finalizar.
  3. Los mediadores de un nombre se definen en el elemento <_config:object> del nombre. En las extensiones para configuraciones de mediador de objetos de negocio existentes, tendrá que copiar este elemento para poder añadir mediadores para el nombre. En muchas personalizaciones, este archivo (y el elemento <_config:object> adecuado) ya se habrán generado automáticamente como parte de la ejecución del asistente de Capa de servicios de datos.
    Recuerde: No debe modificar nunca los archivos de configuración de mediador de objetos de negocio de HCL Commerce, puesto que se pueden sobrescribir cuando aplique actualizaciones a WebSphere Commerce.
  4. Cree un elemento <_config:mediator> con un className de com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl y un interfaceName de com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeControlBusinessObjectMediator.

    Por ejemplo:

    <_config:mediator className="com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectMediatorImpl" 
    interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.ChangeControlBusinessObjectMediator">
    
  5. Cree un conjunto de elementos <_config:mediator-property> para el mediador del control de cambios que indique el contenedor de recursos y el ID del gestor utilizados para representar este nombre. Se suministran una explicación de los valores y un conjunto de ejemplo de elementos de configuración:
    uniqueIDproperty
    La propiedad del nombre que resuelve el identificador. Establezca este valor en StoreIdentifier/UniqueID. Se trata del valor que se encuentra en la columna BOKEY1 de la tabla CMMETADATA.
    resourceManagerId y resourceContainerId
    Los contenedores y gestores de recursos se definen cuando se realizan los pasos indicados en Habilitar el soporte de espacios de trabajo para una tabla personalizada en un módulo de servicio BOD de HCL Commerce existente. El ID del contenedor de recursos y el ID del gestor de recursos deben ser un contenedor de recursos o un gestor de recursos definido para el módulo de servicios, que se encuentra en uno de los archivos siguientes:
    • 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

    El ejemplo siguiente muestra un nombre registrado con un valor de 10001 para el valor de contenedor de recursos y 1 para el valor de gestor de gestor de recursos.

    <_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>
    

Ejemplo

El ejemplo siguiente muestra un archivo de configuración completo que contiene mediadores de control de cambios para el nombre 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>